Programming/openCV2014. 6. 30. 14:07
키넥트와 같은 장비들을 제어하기위한 오픈 라이브러리이다.

[링크 : http://en.wikipedia.org/wiki/OpenNI]
[링크 : http://structure.io/openni]
[링크 : http://talkingaboutme.tistory.com/195]
 

'Programming > openCV' 카테고리의 다른 글

openCV2 2.4.9 + VS2008 좌충우돌 프로젝트 생성하기  (0) 2014.07.01
openCV visual studio 프로젝트 생성하기  (0) 2014.06.30
opencv2 웹캠 관련 문서  (0) 2014.06.28
opencv docs  (0) 2014.02.17
Interoperability with OpenCV 1  (0) 2014.02.08
Posted by 구차니
Programming/openCV2014. 6. 28. 23:41
윈도우에서 비쥬얼 스튜디오로 하려니 또 막막... ㅠㅠ
튜토리얼 읽으면서 차근차근 해봐야겠다

아무튼.. TBB도 깔아야 하고 Cmake도 깔아야 하고 은근 윈도우에서는 더 귀찮아 진듯?

[링크 : http://hxr99.blogspot.kr/2011/12/opencv-examples-camera-capture.html]
[링크 : http://thinkpiece.tistory.com/246]
[링크 : http://thinkpiece.tistory.com/65]

'Programming > openCV' 카테고리의 다른 글

openCV visual studio 프로젝트 생성하기  (0) 2014.06.30
OpenNI - Open Natural Interaction  (0) 2014.06.30
opencv docs  (0) 2014.02.17
Interoperability with OpenCV 1  (0) 2014.02.08
opencv2 on ubuntu  (2) 2013.11.10
Posted by 구차니
Programming/openCV2014. 2. 17. 17:28
예전에 저장을 안해놨던가.?

[링크 : http://docs.opencv.org/]
  [링크 : http://docs.opencv.org/doc/tutorials/tutorials.html] html 버전의 tutorial
  [링크 : http://docs.opencv.org/java/] opencv java api

'Programming > openCV' 카테고리의 다른 글

OpenNI - Open Natural Interaction  (0) 2014.06.30
opencv2 웹캠 관련 문서  (0) 2014.06.28
Interoperability with OpenCV 1  (0) 2014.02.08
opencv2 on ubuntu  (2) 2013.11.10
openCV Mat / iplImage  (0) 2012.02.21
Posted by 구차니
Programming/openCV2014. 2. 8. 23:26
OpenCV 와 OpenCV2는 같은 프로젝트 이지만
새로 갈아 엎으면서 하위호환을 위해 어느정도 제공은 하지만
그래도 만약 새롭게 공부 한다면 c++ 기반의 OpenCV2로 시작을 해야 할 듯 하다.

아무튼 opencv tutorial에 의하면
아래와 같이 기존의 IplImage 와 CvMat 구조체와 호환은 가능하다고 한다.

Mat I;
IplImage* pI = &I.operator IplImage();
CvMat* mI = &I.operator CvMat(); 

'Programming > openCV' 카테고리의 다른 글

opencv2 웹캠 관련 문서  (0) 2014.06.28
opencv docs  (0) 2014.02.17
opencv2 on ubuntu  (2) 2013.11.10
openCV Mat / iplImage  (0) 2012.02.21
openCV 글씨 쓰기 예제  (2) 2012.02.12
Posted by 구차니
Programming/openCV2013. 11. 10. 20:39
openCV 버전이 2.x대로 오르면서 경로가 변했는지
이전에 내가 정리했던 내용이 전부 무효가 되었다 ㅠㅠ

include 경로 <opencv/cv.h> 에서 <opencv2/opencv.hpp> 로 변경
/usr/include/opencv2

그리고 링커 옵션도 변경되었다. (라이브러리 이름도 바뀐듯)
-lopencv_core << 기존의 -lcv
-lopencv_imgproc
-lopencv_highgui  << 기존의 -lhighgui
-lopencv_ml
-lopencv_video
-lopencv_features2d
-lopencv_calib3d
-lopencv_objdetect
-lopencv_contrib
-lopencv_legacy
-lopencv_flann
-lopencv_nonfree 

[링크 : http://chadaphone.wordpress.com/.../how-to-install-opencv-and-qt-in-ubuntu-12-04-step-by-step-tutorial/]

솔찍히 가장 큰 차이점은..
c가 아니라 c++로 바뀌면서
gcc 대신 g++로 써야 한다는 점이려나? ㅋㅋ

아무튼 설치 시에는 libopencv-dev 패키지로 설치한다.
$ sudo apt-get install libopencv-dev
패키지 목록을 읽는 중입니다... 완료
의존성 트리를 만드는 중입니다
상태 정보를 읽는 중입니다... 완료
다음 패키지를 더 설치할 것입니다:
  debhelper dh-apparmor gettext html2text intltool-debian libatk1.0-dev libavcodec-dev
  libavformat-dev libavutil-dev libcairo-script-interpreter2 libcairo2-dev libdc1394-22-dev
  libexpat1-dev libfontconfig1-dev libfreetype6-dev libgdk-pixbuf2.0-dev libgettextpo0
  libglib2.0-dev libgtk2.0-dev libilmbase-dev libjasper-dev libjpeg-dev libjpeg-turbo8-dev
  libjpeg8-dev libmail-sendmail-perl libopencv-calib3d-dev libopencv-contrib-dev
  libopencv-contrib2.3 libopencv-core-dev libopencv-features2d-dev libopencv-flann-dev
  libopencv-gpu-dev libopencv-highgui-dev libopencv-imgproc-dev libopencv-legacy-dev
  libopencv-ml-dev libopencv-objdetect-dev libopencv-video-dev libopenexr-dev libpango1.0-dev
  libpcre3-dev libpcrecpp0 libpixman-1-dev libpng12-dev libraw1394-dev libswscale-dev
  libsys-hostname-long-perl libtiff4-dev libtiffxx0c2 libunistring0 libxcb-render0-dev
  libxcb-shm0-dev libxcomposite-dev libxcursor-dev libxdamage-dev libxfixes-dev libxft-dev
  libxinerama-dev libxrandr-dev libxrender-dev po-debconf x11proto-composite-dev
  x11proto-damage-dev x11proto-fixes-dev x11proto-randr-dev x11proto-render-dev
  x11proto-xinerama-dev
제안하는 패키지:
  dh-make gettext-doc libfaad-dev libgsm1-dev libogg-dev libschroedinger-dev libspeex-dev
  libtheora-dev libvorbis-dev libcairo2-doc libglib2.0-doc libgtk2.0-doc libpango1.0-doc
  libraw1394-doc libmail-box-perl
추천하는 패키지:
  libraw1394-tools
다음 새 패키지를 설치할 것입니다:
  debhelper dh-apparmor gettext html2text intltool-debian libatk1.0-dev libavcodec-dev
  libavformat-dev libavutil-dev libcairo-script-interpreter2 libcairo2-dev libdc1394-22-dev
  libexpat1-dev libfontconfig1-dev libfreetype6-dev libgdk-pixbuf2.0-dev libgettextpo0
  libglib2.0-dev libgtk2.0-dev libilmbase-dev libjasper-dev libjpeg-dev libjpeg-turbo8-dev
  libjpeg8-dev libmail-sendmail-perl libopencv-calib3d-dev libopencv-contrib-dev
  libopencv-contrib2.3 libopencv-core-dev libopencv-dev libopencv-features2d-dev
  libopencv-flann-dev libopencv-gpu-dev libopencv-highgui-dev libopencv-imgproc-dev
  libopencv-legacy-dev libopencv-ml-dev libopencv-objdetect-dev libopencv-video-dev libopenexr-dev
  libpango1.0-dev libpcre3-dev libpcrecpp0 libpixman-1-dev libpng12-dev libraw1394-dev
  libswscale-dev libsys-hostname-long-perl libtiff4-dev libtiffxx0c2 libunistring0
  libxcb-render0-dev libxcb-shm0-dev libxcomposite-dev libxcursor-dev libxdamage-dev libxfixes-dev
  libxft-dev libxinerama-dev libxrandr-dev libxrender-dev po-debconf x11proto-composite-dev
  x11proto-damage-dev x11proto-fixes-dev x11proto-randr-dev x11proto-render-dev
  x11proto-xinerama-dev
0개 업그레이드, 68개 새로 설치, 0개 제거 및 16개 업그레이드 안 함.
24.9 M바이트 아카이브를 받아야 합니다.
이 작업 후 100 M바이트의 디스크 공간을 더 사용하게 됩니다.
계속 하시겠습니까 [Y/n]?

[링크 : http://karytech.blogspot.kr/2012/05/opencv-24-on-ubuntu-1204.html]

'Programming > openCV' 카테고리의 다른 글

opencv docs  (0) 2014.02.17
Interoperability with OpenCV 1  (0) 2014.02.08
openCV Mat / iplImage  (0) 2012.02.21
openCV 글씨 쓰기 예제  (2) 2012.02.12
Cmake로 openCV 컴파일 설정 및 설치하기  (0) 2012.02.12
Posted by 구차니
Programming/openCV2012. 2. 21. 21:37
iplImage는 c 시절에 쓰던 이미지를 담수 변수이고
c++로 옮겨온 이후로는 Mat를 쓴다고 한다.

tutorial을 보다 보니
cvLoadImage() 이런게 나오는데 이건 C버전이고
imread() 요게 c++ 버전인듯. 


대충 눈에 띄는 함수 정리

imread()
imwrite()
namedWindow()
imshow()

line()
rectangle()
circle()
ellipse()
fillpoly()
putText() 

'Programming > openCV' 카테고리의 다른 글

Interoperability with OpenCV 1  (0) 2014.02.08
opencv2 on ubuntu  (2) 2013.11.10
openCV 글씨 쓰기 예제  (2) 2012.02.12
Cmake로 openCV 컴파일 설정 및 설치하기  (0) 2012.02.12
ubuntu opencv 패키지 버전 정보  (0) 2012.02.12
Posted by 구차니
Programming/openCV2012. 2. 12. 09:53
2.3.1의 opencv_tutorials.pdf 파일에 들어있는 예제이다.

$ cat opencv_font.c 
#include "opencv/cv.h"
#include "opencv/highgui.h"
int main ( int argc, char **argv )
{
        cvNamedWindow( "My Window", 1 );
        IplImage *img = cvCreateImage( cvSize( 640, 480 ), IPL_DEPTH_8U, 1 );
        CvFont font;
        double hScale = 1.0;
        double vScale = 1.0;
        int lineWidth = 1;

        cvInitFont( &font, CV_FONT_HERSHEY_SIMPLEX | CV_FONT_ITALIC, hScale, vScale, 0, lineWidth );
        cvPutText( img, "Hello World!", cvPoint( 200, 400 ), &font, cvScalar( 255, 255, 0 ) );
 
        cvShowImage( "My Window", img );
        cvWaitKey();

        return 0;
}

$ gcc -lhighgui -lcv opencv_font.c 
opencv_font.c: In function ‘main’:
opencv_font.c:12: error: too few arguments to function ‘cvInitFont’
opencv_font.c:14: error: too few arguments to function ‘cvScalar’
opencv_font.c:16: error: too few arguments to function ‘cvWaitKey’ 

gcc로 하면 에러가 나니 g++로 바꾸어서 컴파일 해준다.
$ g++ -lhighgui -lcv opencv_font.c 
$ ./a.out 


좌표계는 좌측 상단이 (0,0)인듯 하다.

'Programming > openCV' 카테고리의 다른 글

opencv2 on ubuntu  (2) 2013.11.10
openCV Mat / iplImage  (0) 2012.02.21
Cmake로 openCV 컴파일 설정 및 설치하기  (0) 2012.02.12
ubuntu opencv 패키지 버전 정보  (0) 2012.02.12
우분투에서 openCV 카메라 영상받기 예제  (0) 2012.02.04
Posted by 구차니
Programming/openCV2012. 2. 12. 09:48
cmake를 설치 해야 하므로 아래의 패키지이름을 사용하고
$ sudo apt-get install cmake cmake-qt-gui  

소스는 ${HOME}/download/OpenCV-2.3.1 에 다운로드 받아서 압축해제 되어 있으며

release 디렉토리는 추가적으로 mkdir을 통해 만들어 주었다.

$ wget "http://downloads.sourceforge.net/project/opencvlibrary/opencv-unix/2.3.1/OpenCV-2.3.1a.tar.bz2?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Fopencvlibrary%2Ffiles%2Fopencv-unix%2F2.3.1%2F&ts=1329007542&use_mirror=cdnetworks-kr-2"
$ mv  OpenCV-2.3.1a.tar.bz2*  OpenCV-2.3.1a.tar.bz2 
$ tar -xvf  OpenCV-2.3.1a.tar.bz2
$ cd OpenCV-2.3.1
$ mkdir release
$ cmake-gui 

그리고는 source 경로를 지정해주고
build 하여 나온 binary를 넣을 경로를 relase로 정해주고 나서 Configure를 누른후 Generate를 누르면 makefile이 생성된다.
그리고 콘솔에서 make 치면 빌드가 시작된다.

make install 은 sudo를 붙여서 해야 함! 안하면 에러에러에러~
Install the project...
-- Install configuration: "Release"
CMake Error at cmake_install.cmake:36 (FILE):
  file cannot create directory: /usr/local/share/OpenCV.  Maybe need
  administrative privileges.


make: *** [install] 오류 1

다시 sudo를 붙여서 쿡!
$ sudo make install

아무래도 so가 복사되었으니 ldconfig도 실행
$ sudo ldconfig  

버전확인은 아래의 경로에서!
$ vi /usr/local/include/opencv2/core/version.hpp 
#ifndef __OPENCV_VERSION_HPP__
#define __OPENCV_VERSION_HPP__

#define CV_MAJOR_VERSION    2
#define CV_MINOR_VERSION    3
#define CV_SUBMINOR_VERSION 1

#define CVAUX_STR_EXP(__A)  #__A
#define CVAUX_STR(__A)      CVAUX_STR_EXP(__A)
#define CV_VERSION          CVAUX_STR(CV_MAJOR_VERSION) "." CVAUX_STR(CV_MINOR_VERSION) "." CVAUX_STR(CV_SUBMINOR_VERSION)

#endif 

[링크 : http://opencv.willowgarage.com/wiki/InstallGuide]

'Programming > openCV' 카테고리의 다른 글

openCV Mat / iplImage  (0) 2012.02.21
openCV 글씨 쓰기 예제  (2) 2012.02.12
ubuntu opencv 패키지 버전 정보  (0) 2012.02.12
우분투에서 openCV 카메라 영상받기 예제  (0) 2012.02.04
우분투에서 openCV 설치하기  (0) 2012.02.04
Posted by 구차니
Programming/openCV2012. 2. 12. 09:34
2.0.0 으로 추측된다.
$ vi /usr/include/opencv/cvvar.h
#ifndef _CVVERSION_H_
#define _CVVERSION_H_

#define CV_MAJOR_VERSION    2
#define CV_MINOR_VERSION    0
#define CV_SUBMINOR_VERSION 0

#define CVAUX_STR_EXP(__A)  #__A
#define CVAUX_STR(__A)      CVAUX_STR_EXP(__A)
#define CV_VERSION          CVAUX_STR(CV_MAJOR_VERSION) "." CVAUX_STR(CV_MINOR_VERSION) "." CVAUX_STR(CV_SUBMINOR_VERSION)

#endif /*_CVVERSION_H_*/ 

2012년 2 12일 현재 openCV의 최신 버전은 2.3.1 이며 2011년 9월 12일에 업로드 되었다.
[링크: http://sourceforge.net/projects/opencvlibrary/files/opencv-unix/2.3.1/]

'Programming > openCV' 카테고리의 다른 글

openCV 글씨 쓰기 예제  (2) 2012.02.12
Cmake로 openCV 컴파일 설정 및 설치하기  (0) 2012.02.12
우분투에서 openCV 카메라 영상받기 예제  (0) 2012.02.04
우분투에서 openCV 설치하기  (0) 2012.02.04
openCV  (0) 2012.02.04
Posted by 구차니
Programming/openCV2012. 2. 4. 22:32

$ cat opencv.c
/**
 * Display video from webcam and detect faces
 */
#include <stdio.h>
#include <opencv/cv.h>
#include <opencv/highgui.h>
 
CvHaarClassifierCascade *cascade;
CvMemStorage            *storage;
 
void detectFaces( IplImage *img );
 
int main( int argc, char** argv )
{
    CvCapture *capture;
    IplImage  *frame;
    int       key;
    char      *filename = "haarcascade_frontalface_alt.xml";
 
    /* load the classifier
       note that I put the file in the same directory with
       this code */
    cascade = ( CvHaarClassifierCascade* )cvLoad( filename, 0, 0, 0 );
 
    /* setup memory buffer; needed by the face detector */
    storage = cvCreateMemStorage( 0 );
 
    /* initialize camera */
    capture = cvCaptureFromCAM( 0 );
 
    /* always check */
    assert( cascade && storage && capture );
 
    /* create a window */
    cvNamedWindow( "video", 1 );
 
    while( key != 'q' ) {
        /* get a frame */
        frame = cvQueryFrame( capture );
 
        /* always check */
        if( !frame ) break;
 
        /* 'fix' frame */
//      cvFlip( frame, frame, -1 );
        frame->origin = 0;
 
        /* detect faces and display video */
        detectFaces( frame );
 
        /* quit if user press 'q' */
        key = cvWaitKey( 10 );
    }
 
    /* free memory */
    cvReleaseCapture( &capture );
    cvDestroyWindow( "video" );
    cvReleaseHaarClassifierCascade( &cascade );
    cvReleaseMemStorage( &storage );
 
    return 0;
}
 
void detectFaces( IplImage *img )
{
    int i;
 
    /* detect faces */
    CvSeq *faces = cvHaarDetectObjects(
            img,
            cascade,
            storage,
            1.1,
            3,
            0 /*CV_HAAR_DO_CANNY_PRUNNING*/,
            cvSize( 40, 40 ) );
 
    /* for each face found, draw a red box */
    for( i = 0 ; i < ( faces ? faces->total : 0 ) ; 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 ), 1, 8, 0 );
    }
 
    /* display video */
    cvShowImage( "video", img );
} 

[링크 :  http://nashruddin.com/OpenCV_Face_Detection]
[링크 : http://opencv.willowgarage.com/wiki/FaceDetection]  

$ gcc opencv.c -o opencv -lcv -lhighgui
$ ./opencv  

인식이 좀 느려서 잘은 모르겠지만 뒤집히면 얼굴을 인식하진 못한다. 
(컴퓨터가 느려서 캡쳐하다가 밀림 ^^; 아무튼 인식하면 저렇게 빨간색 박스가 쳐진다.)
(화면색이 이런건 IR 카메라로 개조한 녀석이라.. OTL)

위에서 cvFlip() 함수를 주석처리 하면 상하 반전이 되지 않고 제대로 나온다.
[링크 : http://nashruddin.com/OpenCV_Examples_Part_2]


 

[링크 : http://www.mediafire.com/?01434w7wwe1db11] haarcascade_frontalface_alt.xml 파일
 

'Programming > openCV' 카테고리의 다른 글

Cmake로 openCV 컴파일 설정 및 설치하기  (0) 2012.02.12
ubuntu opencv 패키지 버전 정보  (0) 2012.02.12
우분투에서 openCV 설치하기  (0) 2012.02.04
openCV  (0) 2012.02.04
openCV OCR 예제  (0) 2011.07.17
Posted by 구차니