Skip to content

Instantly share code, notes, and snippets.

@aligoren
Created May 17, 2013 05:07
Show Gist options
  • Save aligoren/5597046 to your computer and use it in GitHub Desktop.
Save aligoren/5597046 to your computer and use it in GitHub Desktop.
// ObjectDetecion.cpp File
// Nesne algılama dosyası
// Başlıyoruz hadi
/********/
//OpenCV KÜTÜPHANELERİNİ BAŞLANGIÇ
#include <opencv/cvaux.h>
#include <opencv/highgui.h>
#include <opencv/cxcore.h>
//OpenCV KÜTÜPHANELERİ BİTİŞ
#include <stdio.h>
#include <stdlib.h>
///////////////////////////////////////////////////////////////////////////
int main(int argc, char* argv[]) {
/* kullanılacak olan boyut 640*480. İdeal olanın bu olduğu söyleniyo
Bu bütün platformlar için aynı boyut demektir.
Webcam 640*480 ebatlarına ayarlanmıştır umarım :)
Laptop dahili kameralarında belki görüntü almada problem yaşabilir.
Bu sorunun yaşanmaması için görüntü alma işleminin yüksek çözünürlüklü kameralarca yapılmasını öneririm
*/
CvSize boyut = cvSize(640,480);
/*
CvCapture ile video görüntüsünden yani stream dediğimiz akıştan bilgi almak için burayı çağırdık
Burayı daha sonra kullanacağız
*/
CvCapture* p_camResimAl;
/*
Bu pointer'ı ilk giriş için aldık yani kameraya gelen görüntüyü burada işliyoruz
*/
IplImage* p_orjinalResim;
/*
Bu kisimda artik resim islenmis durumda
Yani webcam'den bi yukaridaki olayda goruntuyu saf haliyle almistik.
Burada goruntu islenmis oldu ve saf hali artik yok
*/
IplImage* p_islenmisResim;
// IPL dedigimiz sey Intel Image Processing Library'nin kisaltilmis halidir.
// OpenCV 1.x'de kullanilmistir..
///////////////////////////
/*
Burada cvHoughCircles() icin gerekli olan depolama degiskenini tanittik
*/
CvMemStorage* p_strDepolama;
/*
OpenCV dizisi icin olusturulan bi isaretci burasi
Geri donusu cvHoughCircles() icin olacaktir
Ayrica butun cevreleri kapsar, icerir..
Çağırım şöyle yapılır;
cvGetSeqElem(p_dairelerDizisi, i) gibi 3 elemanli bi dizi de dondurur.
Bi sonraki degiskende de anlasilacaktir oraya bakalim
*/
CvSeq* p_dairelerDizisi;
/*
3 elemanlı dizi float bi işaretçi olacak bu yani pointer. Olayı açıklayacak olursak
[0] => burada ilk indexte yapilacak olan olay objenin X pozisyonunu algılayacak
[1] => burada yani ikinci indexte yapılacak olan olay da objenin y pozisyonunu algılamak
[2] => son yani 3. olayda ise belirtilen nesnenin ya da objenin yarı çapını algılama işlemi yer alacak
*/
float* p_XYyaricap;
int i; // döngü sayacı :)
/*
ESC icin klavyeden deger gelip gelmedigini kontrol edecegiz
*/
char escKarakterKontrolu;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment