EmguCV ile Yüz Tanıma İşlemi

Yüz Tanıma

   Yukarıdaki resimde bulunan kodlarda cascade dosyası; görüntü içerisindeki neseneleri tanımak için var. Mesela yüz göz ağız burun bedenin üst ya da alt kısmı vb... Masa üstünde olan bu cascade klasörü içerisindeki dosyaları alıyoruz.

   Elde edilen kamera görüntüsü Image<Gray, byte> nesnesine convert ediliyor.

                    var grayimage = image.Convert<Gray, byte>();

   grayimage nesnemizde DetectHaarCascade metodu aracılığıyla HaarCascade nesnesinde tutulan cascade aranmaktadır.

                    MCvAvgComp[][] Yuzler = grayimage.DetectHaarCascade(haaryuz, 1.2, 5, HAAR_DETECTION_TYPE.DO_CANNY_PRUNING, new Size(15, 15));
                    MCvAvgComp[][] Gozler = grayimage.DetectHaarCascade(haargoz, 1.2, 10, HAAR_DETECTION_TYPE.DO_CANNY_PRUNING, new Size(15, 15));
                    MCvAvgComp[][] Agizlar = grayimage.DetectHaarCascade(haaragiz, 1.2, 100, HAAR_DETECTION_TYPE.DO_CANNY_PRUNING, new Size(15, 15));
                    MCvAvgComp[][] Burunlar = grayimage.DetectHaarCascade(haarburun, 1.2, 50, HAAR_DETECTION_TYPE.DO_CANNY_PRUNING, new Size(15, 15));


   Bulunan tüm nesnelerin koordinatları elde edilip gerekli çizim işlemi gerçekleştirilmektedir.
                    foreach (MCvAvgComp yuz in Yuzler[0])
                        image.Draw(yuz.rect, new Bgr(Color.Red), 2);
                    foreach (MCvAvgComp goz in Gozler[0])
                        image.Draw(goz.rect, new Bgr(Color.Black), 2);
                    foreach (MCvAvgComp agiz in Agizlar[0])
                        image.Draw(agiz.rect, new Bgr(Color.Blue), 2);
                    foreach (MCvAvgComp burun in Burunlar[0])
                        image.Draw(burun.rect, new Bgr(Color.Yellow), 2);


Sonuç olarak aşağıdaki görüntü meydana geliyor :

     

Yorumlar

Popüler Yayınlar