Open CV (computer vision) kütüphanesini kullanarak yüz tanıma kodu örneği

Open CV (computer vision) kütüphanesini kullanarak yüz tanıma kodu örneği

Bu sayfada, OpenCV (Computer Vision) kütüphanesi kullanılarak geliştirilmiş yüz tanıma uygulamasına ait örnek kod ve kurulum adımları yer almaktadır. İTÜ Bilgisayar Mühendisliği eğitimi sürecinde hazırlanan bu çalışma; bilgisayarla görme (computer vision), görüntü işleme ve yüz tanıma algoritmalarının temel kullanımını içermektedir. Ayrıca OpenCV’nin Visual Studio ortamında kurulumu, ortam değişkenlerinin yapılandırılması, header ve library dosyalarının projeye eklenmesi gibi geliştirme ortamı ayarları adım adım açıklanmıştır. Aşağıda ilgili proje ve kurulum notlarına ulaşabilirsiniz.

Örnek kod ve örnek program.

Ben nasıl yazarım diyorsanız!

1. OpenCV_1.1pre1a.exe indirin kurun. [ Program Files / OpenCV ]

2. [ Program Files / OpenCV / bin ] klasörünü Ortam Değişkenlerine ekleyin [ Bilgisayarım - Sağ Tıkla - Özellikler - Sistem Özellikleri - Ortam Değişkenleri ]. Bu işlemi DLL dosyaları ile uğraşmamak için yaptık.

3. Projenize lib ve header dosyalarını ekleyin. Visual Studio için,
Proje Özellikleri kısmına girip,
Header: C/C++ - General - Additional Include Directories [ Program Files / OpenCV / bin / cv / include şeklinde ]
Lib: Linker - Input - Additional Dependencies

NOT: DLL ve LIB için daha kolayı mevcut, hepsini kopyalayıp projenizin içine yapıştırın :)

Sıra geldi aşağıdaki kodu yazmaya, internette bir çok örnek kod olmakla birlikte, yukarıda verdiğim denememde aşağıdaki kod çalışmaktadır. fonksiyon(img) kısmında picturebox objesinin arka planına yapıştırdım.

#include "cv.h"
#include "highgui.h"
...
IplImage* img;
static CvMemStorage* storage = cvCreateMemStorage(0);
static CvHaarClassifierCascade* cascade = 0;

cascade = (CvHaarClassifierCascade*) cvLoad("yuz_tani.xml", 0, 0, 0);
img = cvLoadImage(resim.c_str(), 1);
cvClearMemStorage(storage);
CvSeq* faces = cvHaarDetectObjects(img, cascade, storage, 1.1, 2, CV_HAAR_DO_CANNY_PRUNING, cvSize(20, 20) );

if (faces != null)
for(int i = 0; i < faces->total; i++)
{
    CvRect* r = (CvRect*) cvGetSeqElem(faces, i);
    cvRectangle(img, cvPoint(r->x,r->y), cvPoint(r->x+r->width, r->y+r->height), CV_RGB(255,0,0), 3 );
}

fonksiyon(img) // istediğiniz gibi kullanın

'Open CV (computer vision) kütüphanesini kullanarak yüz tanıma kodu örneği' ile ilgili içerikler

C / C++ Matris Çarpma Kodu ve Basit Hızlandırma Teknikleri
C / C++ Matris Çarpma Kodu ve Basit Hızlandırma Teknikleri
Quick Sort (Hızlı Sıralama) Algoritması
Quick Sort (Hızlı Sıralama) Algoritması
Paralel Matris Çarpma Kodu: Bilgisayarınız için basit bir performans testi
Paralel Matris Çarpma Kodu: Bilgisayarınız için basit bir performans testi