Bu yazımda Azure Face Api kullanarak gönderdiğimiz fotoğraftaki kişininin;
- Yaşını
- Cinsiyetini
- Gözlüğü olup olmadığını varsa ne tip gözlük kullandığını
- Gülümseyip gülümsemediğini öğreneceğiz
Öncelikle Azure Portal>New>Cognitive Services Api yolunu izleyerek yeni bir face api oluşturuyoruz.
Daha sonra ise api keylerimizi alıyoruz. İleride lazım olacak.
class Attributes { private Guid id; private int age; private string gender; private string glasses; private double smile; public int Age { get { return age; } set { age = value; } } public string Gender { get { return gender; } set { gender = value; } } public string Glasses { get { return glasses; } set { glasses = value; } } public Guid Id { get { return id; } set { id = value; } } public double Smile { get { return smile; } set { smile = value; } } }
class FacesAttr { private string imgUrl; private Attributes attr = new Attributes(); private readonly IFaceServiceClient fsClient = new FaceServiceClient("Yukarıda aldığımız keyimizi buraya yazacağız"); public FacesAttr(string imageUrl) { imgUrl = imageUrl; } async public Task<Attributes> retriveFaceAttributes() { try { var requiredFaceAttributes = new FaceAttributeType[] { FaceAttributeType.Age, FaceAttributeType.Gender, FaceAttributeType.Glasses,FaceAttributeType.Smile,FaceAttributeType.FacialHair,FaceAttributeType.HeadPose }; var faces = await fsClient.DetectAsync(imgUrl, returnFaceLandmarks: true, returnFaceAttributes: requiredFaceAttributes); foreach (var face in faces) { var attributes = face.FaceAttributes; int roundedAge = (int)Math.Round(attributes.Age); attr.Id = face.FaceId; attr.Age = roundedAge; attr.Gender = attributes.Gender; attr.Glasses = attributes.Glasses.ToString(); attr.Smile = attributes.Smile; } } catch (Exception ex) { System.Diagnostics.Debug.WriteLine(ex.Message); } return attr; } }
Ve aşağıdaki gibi bir form tasarımı yapalım. Çeşitli fotoğraflar ile api’den gelen sonuçları ekranda gösterelim.(Fotoğrafların üzerine tıklayarak büyük hallerine ulaşabilirsiniz)
Projeyi buradan indirebilirsiniz
Bir yanıt yazın Yanıtı iptal et