Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Open cv kütüphanesi

5,054 views

Published on

OpenCV kütüphanesi ve kullanim alanlari.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Open cv kütüphanesi

  1. 1. OpenCVkütüphanesive kullanimalanlari<br />Volkan SALMA<br />volkansalma@yahoo.com<br />http://volkansalma.blogspot.com<br />
  2. 2. Sunum Plani<br />2<br />
  3. 3. Opencv ?<br />OpenCV = OpenSourceComputerVision<br />Gerçek zamanlı bilgisayarla görme kütüphanesi<br />1999 yılında Intel tarafından geliştirilmeye başlandı (2008 sonrasında WillowGarage)<br />C ve C++ ile yazılıyor. 500 den fazla iyi optimize edilmiş fonksiyon içermekte<br />Windows,Linux,MacOSX de çalışıyor<br />Android, Sony Play Station3, WindowsCE, Arm, GPU<br />BSD lisansına sahip, ticari ve akademik amaçla ücret ödemeden kullanılabiliyor<br />Üniversitelerde, araştırma merkezlerinde, ticari şirketlerde kullanılıyor (>40K insan mailinggroup, >6M download )<br />3<br />
  4. 4. Opencv ? <br />ImgProc<br />Filtreler,Erode,Dilate<br />Renk çevrimleri,<br />Histogram işlemleri<br />Core<br />Yapılar,Lineer Cebir,<br />Aritmetik, XML I/O<br />HighGui<br />Arayüz, Video&Resim I/O<br />4<br />
  5. 5. Opencv ?<br />[Video] <br /> -Arka plan çıkartımı<br /> -Optik flow<br />[Nesne Tespiti] <br /> -Haar Yüz tespiti<br /> -HOG yaya tespiti <br />[3d calibrasyon] <br /> -Kamera kalibrasyon, <br /> -Stereo eşleme<br />[gpu] => Cuda (NVIDIA)<br />2 Boyutlu Öznitelik bulucu ve eşleştiriciler<br />SURF, Fast, Harnis..<br />Makina Öğrenmesi<br />SVM,Karar Ağaçları.<br />5<br />
  6. 6. Opencv ?<br />!C/C++<br />.NET <br />Java<br />Delphi<br />Matlab<br />Python<br />PHP (ApacheExtension)<br />6<br />
  7. 7. Neler Yapiliyor ?<br />7<br />
  8. 8. Neler Yapiliyor ?<br />8<br />
  9. 9. Neler Yapiliyor ?<br />9<br />
  10. 10. Neler Yapiliyor ?<br />10<br />
  11. 11. Neler Yapiliyor ?<br />11<br />
  12. 12. Neler Yapiliyor ?<br />12<br />
  13. 13. NasilYapiliyor ?<br />intmain(intargc, _TCHAR* argv[]) <br />{<br />IplImage* img = cvLoadImage( "MGC.jpg" ); <br />cvShowImage("Example1", img);<br />cvWaitKey(0); <br />cvReleaseImage( &img ); <br />}<br />13<br />
  14. 14. NasilYapiliyor ?<br />// opencv/samples/c/lkdemo.c<br />int main(…){<br />…<br />CvCapture* capture = <…> ? cvCaptureFromCAM(camera_id) : cvCaptureFromFile(path);<br />if( !capture ) return -1;<br />for(;;) {<br />IplImage* frame=cvQueryFrame(capture);<br /> if(!frame) break;<br /> // … copy and process image<br />cvShowImage( “LkDemo”, result );<br /> c=cvWaitKey(30); // run at ~20-30fps speed<br /> if(c >= 0) {<br /> // process key<br /> }}<br />cvReleaseCapture(&capture);} <br />14<br />
  15. 15. NasilYapiliyor ?<br />// load an imageimg=cvLoadImage(argv[1]);if(!img){printf("Could not loadimage file: %sn",argv[1]);exit(0);}// gettheimage dataheight = img->height;width = img->width;step = img->widthStep;channels = img->nChannels;data = (uchar *)img->imageData;<br />// inverttheimagefor(i=0;i<height;i++) for(j=0;j<width;j++) for(k=0;k<channels;k++)data[i*step+j*channels+k]=255-data[i*step+j*channels+k];// showtheimagecvShowImage("mainWin", img );<br />15<br />
  16. 16. NasilYapiliyor ? <br />CvMemStorage* storage = cvCreateMemStorage(0); <br />CvHaarClassifierCascade* cascade = (CvHaarClassifierCascade*)cvLoad( "haarcascade_frontalface_alt2.xml" ); <br />doublescale = 1.3;<br />staticCvScalarcolors[] = { {{0,0,255}}, {{0,128,255}}, {{0,255,255}}, {{0,255,0}}, {{255,128,0}}, {{255,255,0}}, {{255,0,0}}, {{255,0,255}} }; <br />cvClearMemStorage( storage );<br />CvSeq* objects = cvHaarDetectObjects( img, cascade, storage, 1.1, 4, 0, cvSize( 40, 50 )); <br />CvRect* r;<br />for( int i = 0; i < (objects ? objects->total : 0 ); i++ )<br /> {<br /> r = ( CvRect* )cvGetSeqElem( objects, i ); <br />cvRectangle( img, cvPoint( r->x, r->y ), cvPoint( r->x + r->width, r- >y + r->height ), colors[i%8]); <br /> }<br />16<br />
  17. 17. Opencv öğrenmek <br />İmge işlemeye yeni başlıyorsanız:<br />Hızlı bir başlangıç için KULİS imge işleme ders notları [1]<br />OpenCVyi denemek istiyorsanız:<br />OpenCVyi indirin [2]. <br />Sisteminize kurun C/C++/C# [3][6]. Büyük eşik <br />Bu aşamada sıkıntı halinde benimle irtibat kurun  <br />IntroductiontoprogrammingwithOpenCV yazısını okuyun [4]<br />Derindelimavi’dekiOpenCVtagli bütün postları en eskisinden başlayarak okuyun (56 tane opencv & 8 tane opencvsharp) [5].<br />NoahKuntzunopencv derslerine bakın[7].<br />Bu işi sevdiyseniz :<br />OReilly-LearningOpenCV kitabını edinin.<br />Derindelimavi’deki devamlı güncellenen opencv linklerinden yararlanın[8].<br />17<br />
  18. 18. Teşekkür Ederim..<br />Sorularınız ?<br />volkansalma@yahoo.com<br />
  19. 19. Referanslar<br />1- http://rapidshare.com/#!download|725tl|237741516|imge_isleme.rar|21167<br />2- http://sourceforge.net/projects/opencvlibrary<br />3- http://opencv.willowgarage.com/wiki/VisualC%2B%2B<br />4- http://www.cs.iit.edu/~agam/cs512/lect-notes/opencv-intro/index.html<br />5- http://derindelimavi.blogspot.com/search/label/OpenCv<br />6- http://opencv.willowgarage.com/wiki/InstallGuide_Linux<br />7- http://www.pages.drexel.edu/~nk752/tutorials.html<br />8- http://derindelimavi.blogspot.com/2009/01/opencv-linkleri.html<br />19<br />

×