Computer Vision2009. 1. 6. 08:53

MAC에서 OpenCV를 컴파일 하기


맥에서 OpenCV를 컴파일 


http://opencv.willowgarage.com/wiki/Mac_OS_X_OpenCV_Port


이 페이지를 참조로 따라가면서 컴파일한다.




1. 시작은 OpenCV의 위키 페이지에서 시작한다.

   

    http://opencv.willowgarage.com/wiki/


   여기에서 올려져 있는 글을 찬찬이 읽어보면 많은 도움이 된다.


2. Learning OpenCV: Computer Vision with the OpenCV Library

  • by Gary Bradski and Adrian Kaehler, O'Reilly Press, October, 2008.
  •    
  •    책으로 잘 나온 것은 오라일리의 책입니다. 사실상 매뉴얼이라고 생각되고요,  OpenCV사이트에서도
  •    매뉴얼 대신으로 추천해주는 책입니다.

3.   다운로드는 SVN으로 한다. 


     http://sourceforge.net/svn/?group_id=22870

 

     페이지에 가면 다운 받을 수 있는 커맨드가 있다. 이것을 이용하여 다운 받는다.


    svn co https://opencvlibrary.svn.sourceforge.net/svnroot/opencvlibrary opencvlibrary


  이 커맨드는 전체를 모두 다운 받는 것이다. 전체라 함은 브랜치라던가 프리베타 버전과 같은 불필요한 부분까지 모두 다운 받은 것을 말합니다.

   처음에는 폴더 구조 가은 것을 잘 모르므로, 그냥 한번 정도는 다운 받아 폴더 구조를 보는 것도 도움이 된다.


   위의 커맨드를 넣으면 OpenCV를 다운 받을 수 있다.


   아래 사이트에서도 다운 받을 수 있다. 


   http://sourceforge.net/project/showfiles.php?group_id=22870


   이 글을 쓰는 현재 시점에서 최신 버전은 1.1pre 버전이다.


   여기서는 후자인 tar파일을 직접 다운받아서 진행한다.


   


4. compile

    일단 다른 폴더에서 빌드를 한다.

    

     mkdir build

     cd build

     ../opencv-1.1.0/configure CPPFLAGS="-I/opt/local/include" LDFLAGS="-L/opt/local/lib"



      make


     한참을 컴파일 하고 끝난다.


   sudo make install


      끝나면 위와 같이 인스톨을 한다.

     

5. 테스트 해보기

     

    인스톨이 끝나면 다음과 같이 확인을 해 볼 수 있다.


    샘플용 소스 코드를 다운 받는다. 

    일일이 코딩하기 귀찮으므로 그냥 간단히 다운 받는다. 

    인터넷에서 OpenCV sample을 서치하면 아래 사이트를 발견할 수 있다.


    http://www.netaro.info/techinfo/OpenCV/src/index.html


    여기에 가면 적당한 예제가 있다. 다운 받은 폴더에 가면 ZIP파일로 되어 있고 이것을 압축을 푼다.


    컴파일을 하면 다음과 같은 오류가 발생한다.


GUNDAMMACPRO:edgedetect kevinIm$ make

gcc -c -g -Wall sampleEdge.c

gcc -o simpleedge sampleEdge.o -lhighgui -lopencv

ld: library not found for -lopencv


   Makefile 을 보면 몇가지 잘못된 옵션이 있다. 버전차이라고 생각된다.. 일단 Makefile을 아래와 같이 수정한다.


   gcc -o simpleedge sampleEdge.o -L/usr/local/lib -lhighgui -lcv -lcvaux -lcxcore


   == WAS == 

  LDFLAGS = -lhighgui -lopencv -L/usr/local/lib


   == IS ==

  LDFLAGS = -lhighgui -lcv -lcvaux -lcxcore -L/usr/local/lib


   그리고 컴파일하면 다음과 같이 나온다.


GUNDAMMACPRO:edgedetect kevinIm$ make

gcc -c -g -Wall InteractiveEdgeDetect.c

InteractiveEdgeDetect.c:18: warning: ‘ltval’ defined but not used

InteractiveEdgeDetect.c:19: warning: ‘htval’ defined but not used

gcc -o intedge InteractiveEdgeDetect.o -lhighgui -lcv -lcvaux -lcxcore -L/usr/local/lib


   실행은 간단하게 해본다.

 

아래 그림은 실행한 결과이다. 

윤곽선을 추출하는 예제이다.


사용자 삽입 이미지


사용자 삽입 이미지

'Computer Vision' 카테고리의 다른 글

Rob Hess의 SIFT [3]  (2) 2009.02.23
Rob Hess의 SIFT [2]  (0) 2009.02.18
Rob Hess의 SIFT [1]  (1) 2009.02.16
XcodeでOpenCV開発  (0) 2009.01.03
파노라마 구성하기  (0) 2009.01.03
Posted by GUNDAM_IM