정보공간_1

[영상처리] OpenCV 2.2를 MacOS에 설치하기 본문

IT 놀이터/IT Storehouse

[영상처리] OpenCV 2.2를 MacOS에 설치하기

알 수 없는 사용자 2011. 8. 9. 22:23

OpenCV 2.2버전을 MacOS에 설치해서 xcode로 돌리는 방법을 설명하겠습니다.

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

저도 위에 있는 url을 참고하여 설치하였는 데 막힘없이 잘 설치되더라고요. 혹시 제 블로그를 보시고 안되시는 분들은 url 참고하세요~

먼저  터미널을 실행합니다.

그리고 MacPort의 정보를 업데이트해줘야 됩니다.

1. sudo port selfupdate

2. sudo port install opencv


위에까지 해주시고 혹시라도 에러가 발생하신다면...

2.1 sudo port -v install opencv +python26 또는 sudo port -v install opencv +python27

위의 명령어로 python을 설치해줍시다.

opencv는 디폴트로 

/opt/local
/opt/local/bin/
/opt/local/lib/
/opt/local/include/opencv/

위와 같은 경로에 설치됩니다.

다음으로 HomeBrew를 설치합니다.

3. sudo brew update


4. sudo brew install opencv


그 다음으로는 svn에서 opencv의 소스코드를 다운받고 cmake를 해주는 과정입니다.

5. sudo port install subversion


6. sudo port install cmake

7. svn co https://code.ros.org/svn/opencv/trunk/opencv ; cd opencv



8. svn co https://code.ros.org/svn/opencv/trunk/opencv -r 3059 ; cd opencv

여기까지 아무에러 없이 잘 되고있으실 겁니다. 1번부터 8번까지 순차적으로 터미널에서 실행해주시면 됩니다. 7번의 명령어를 수행하고 난 뒤에 8번의 명령어를 수행해주셔야지 cmake하실 때 에러가 발생하지 않습니다. (리비젼을 3059로 하는 이유는 현재 2.3.1버전이 MacOS에서 불안정해서 2.1버전으로 리비젼해서 cmake를 하기 위함입니다.  2.2버전으로 설치하실 분들은 리비전 번호를 확인하시고 8번 명령어에 3059가 아닌 2.2버전의 리비젼 번호를 입력하시면 됩니다.)

9. sudo cmake -G "Unix Makefiles" .



보시면 opencv 2.1.0에 대한 빌드를 수행하고 있음을 알 수 있습니다. 9번 명령어에서 주의해야 될 점은 "Unix Makefiles" . <-- 점을 찍어주세요~! ㅋ

빌드옵션에 대한 팁을 드리자면

-D BUILD_TESTS=OFF  (빌드 테스트를 패스하고 싶을 때)
-D BUILD_NEW_PYTHON_SUPPORT=OFF (파이썬 인터페이스를 사용하지 않을 떄)
-D WITH_CARBON=ON (Cocoa 대신 Carbon을 사용하고 싶을 경우)
-D WITH_QUICKTIME=ON (QTKIT대신에 QUICKTIME을 사용하고 싶을 경우)

정도가 있습니다.

10. sudo make -j8

11. sudo make install


11번 명령어까지 다 실행하시면 터미널에서 해야될 모든 작업이 끝났습니다. 자 이제 xcode를 실행해서 빨리 opencv를 돌려볼까요?

xcode를 실행하시고 FILE -> NEW PROJECT를 하시고 


위와 같이 설정을 해줍시나. Command Line Tool을 설정하시고 Type에는 C++ stdc++

그리고 난 뒤에 Project -> Edit Project Settings로 가시고 Build 탭을 선택합니다.

1. 좌측 상단에 Configuration은 All Congifurations로 설정

2. Architectures에서 Valid Architectures는 PPC로 설정



그 다음으로 Search Paths는 다음과 같이 설정해줍니다.

1. Header Search Paths는 /opt/local/include 로 설정해줍니다.


 
그리고 난 뒤에  Project Settings창은 모두 닫으시고..... 

xcode에서 프로젝트이름에 커서를 대시고 ADD-> NEW GROUP을 해서 새로운 그룹을 하나 생성시켜줍니다.

 

새로운 그룹의 이름은 OpenCV Frameworks로 만드시고 키보드로 "/" 를 누르시면 폴더 프롬프트창이 보입니다. 거기에 OpenCV 라이브러리가 설치된 디렉토리를 
입력합니다. /opt/local/lib 를 입력하시고

 libopencv_calib3d.dylib
libopencv_contrib.dylib
libopencv_core.dylib
libopencv_features2d.dylib
libopencv_flann.dylib
libopencv_gpu.dylib
libopencv_highgui.dylib
libopencv_imgproc.dylib
libopencv_legacy.dylib
libopencv_ml.dylib
libopencv_objdetect.dylib
libopencv_video.dylib

위에 있는 라이브러리들을 add 시켜줍니다.

 


위의 그림을 보시면 OpenCV Frameworks 그룹에 라이브러리들이 추가된 것이 보이실 겁니다.


 간단한 KLT 트랙킹 알고리즘을 돌려보도록 하겠습니다. 이 코드는 윈도우즈에서 작업한 소스코드를 그대로 붙여넣고 돌려봤습니다. 아.. 한가지 다른 점은

해더파일을 Include 하는 부분만 변경해주면 됩니다.



 코드는 전부공개할 순 없고요... ㅎ 위에 그림에서 헤더파일을 어떻게 인클루드 했는지만 유심히 보시면 됩니다. 그 뒤로는 윈도우에서 작업하던 소스코드와 100%동일하며 잘 돌아갑니다.

 



윈도우에서 사용했던 코드를 MAC으로 포팅하고 돌려봤습니다. 잘 되죠? ^^


조만간... 마커리스 증강현실관련된 포스팅을 연재할 계획입니다. 그리고 설치관련 포스팅은 안드로이드 및 IPHONE 으로 OpenCV를 설치하는 것을 곧 포스팅 하도록 하겠습니다.

영상처리와 증강현실 그리고 HCI/UX에 관심있으신 분들은 제 블로그 http://yoshiboarder.tistory.com 에도 많이 놀러와주세요~!

긴 글 읽어주셔서 감사합니다. 도움이 되는 글이었으면 합니다 ^^

yoshiboarder의 HCI/UX 블로그 운영자
삼성전자 소프트웨어멤버십 18기
백성욱