@rizumita
OpenCV

         @rizumita
iOS

Twitter: @rizumita
       : http://tech.caph.jp
OpenCV
OpenCV




Willow Garage
OpenCV




BSD
OpenCV




         BSD
 SHIFT    SURF
OpenCV
2
+
-


          http://kmj.iis.u-tokyo.ac.jp/



    HOG
-
3
http://yokoya.naist.jp/paper/datas/653/glab.pdf
AR

Kinect


Oppai-Detect3
OpenCV
XML/YAML

etc.
etc.
GUI
Support vector machine (SVM)
SHIFT
                   SIFT,SURF
http://www.slideshare.net/lawmn/siftsurf

SURF
sample: find_obj.cpp


FAST
sample: http://opencv.jp/opencv2-x-samples/corner_detection
sample: motempl.c
Haar & LBP
  sample: facedetect.cpp

HOG
  sample: peopledetect.cpp
3

etc.
OpenCV
C/C++
Python

Java/.NET/etc.
OS

Windows
Mac
iOS
Linux Unix & Unix Like OS

Android
Mac



MacPorts

sudo port install opencv
sudo port install opencv+python27+tbb
iOS




iPhone OpenCV
http://niw.at/articles/2009/03/14/using-opencv-on-iphone/ja
Windows



http://sourceforge.net/projects/opencvlibrary/files/opencv-win/2.2/




http://opencv.jp/opencv2-x-tips/install-on-windowswindows32bit-64bit-visual-studio-opencv21
Linux




Debian/Ubuntu
Ubuntu

   http://sourceforge.net/projects/opencvlibrary/files/opencv-unix/2.2/
 sudo apt-get install cmake
 sudo apt-get install cmake-qt-gui
 sudo apt-get install libgtk2.0-dev
 CMake GUI            Makefile

 make && sudo make install
GCC




gcc hoge.c `pkg-config --cflags opencv --libs opencv`
#include <stdio.h>
#include <cv.h>
#include <cxcore.h>
#include <highgui.h>

int main(int argc, char **argv)
{
     IplImage *sourceImage = cvLoadImage("lena.jpg", CV_LOAD_IMAGE_ANYDEPTH |
CV_LOAD_IMAGE_ANYCOLOR);
     IplImage *grayImage = cvCreateImage(cvGetSize(sourceImage), IPL_DEPTH_8U, 1);

    cvCvtColor(sourceImage, grayImage, CV_BGR2GRAY);
    int param[] = {CV_IMWRITE_JPEG_QUALITY, 95};
    cvSaveImage("lena_gray.jpg", grayImage, param);

    cvReleaseImage(&sourceImage);
    cvReleaseImage(&grayImage);

    return 0;
}
CvCapture *capture = NULL;

   IplImage *srcImage;

   int key;


   if ((capture = cvCreateCameraCapture(0)) == NULL) return -1;            //

   cvNamedWindow("Face Detection", CV_WINDOW_AUTOSIZE); //

   CvHaarClassifierCascade *cascade = (CvHaarClassifierCascade *)cvLoad("haarcascade_frontalface_alt2.xml", 0, 0, 0);         //

   if (cascade == NULL) return -1;

   CvMemStorage *storage = cvCreateMemStorage(0);                          //



   while(1) {

   
        srcImage = cvQueryFrame(capture);                         //

   
          if (srcImage == NULL) continue;


   
          IplImage *grayImage = cvCreateImage(cvGetSize(srcImage), IPL_DEPTH_8U, 1);

   
          cvCvtColor(srcImage, grayImage, CV_BGR2GRAY);

   
          cvEqualizeHist(grayImage, grayImage);
 //                      =

   
          cvClearMemStorage(storage);
      
        //

   
          CvSeq *faces = cvHaarDetectObjects(grayImage, cascade, storage, 1.1, 3, CV_HAAR_DO_CANNY_PRUNING, cvSize(0,0), cvSize(0,0));                  //



   
          int i;

   
          for (i = 0; i < (faces ? faces->total : 0); i++) {

   
          
         CvRect *rect = (CvRect *)cvGetSeqElem(faces, i);

   
          
         cvRectangle(srcImage, cvPoint(rect->x, rect->y), cvPoint(rect->x + rect->width, rect->y + rect->height), CV_RGB(255, 0, 0), 3, CV_AA, 0);

   
          }


   
          cvShowImage("Face Detection", srcImage);


   
          key = cvWaitKey(3);

   
          if (key == 'q') break;                           // q

   }     //
TBB
…
OpenCV
Web

OpenCV.jp
    http://opencv.jp/


    : OpenCV                    gihyo.jp

    http://gihyo.jp/dev/feature/01/opencv
                                OpenCV

Sourceforge
    http://sourceforge.net/projects/opencvlibrary/
OpenCV Wiki
    http://opencv.willowgarage.com/wiki/
    Willow Garage                   Wiki
OpenCV                                  OpenCV1.1


                                   OpenCV


   OpenCV


   Gary Bradski / Adrian Kaehler    -




   David A. Forsyth ( ), Jean Ponce ( ),            (   )

OpenCVの基礎