05-07 03:51
Notice
Recent Posts
Recent Comments
관리 메뉴

Scientific Computing & Data Science

[OpenCV] Mac OS X / Xcode에서 OpenCV 개발환경 구축하기 본문

Programming/OpenCV

[OpenCV] Mac OS X / Xcode에서 OpenCV 개발환경 구축하기

cinema4dr12 2014. 4. 2. 15:30

Written by Geol Choi | 


이번 포스팅에서는 Mac OS의 IDE인 Xcode에서의 OpenCV 개발환경 구축에 대하여 알아보기로 하겠습니다.

이번 포스팅과 관련하여 대부분의 정보는

https://sites.google.com/site/learningopencv1/installing-opencv을 통해 얻었습니다.

테스트 환경은 다음과 같습니다(이 글을 쓸 당시 최신 버전이었습니다):


  • Mac OS X 10.9 (Mavericks)

  • Xcode 5.1 (5A2053)

  • OpenCV 2.4.8

1. Xcode 설치하기

Xcode 5.1은 일반적으로 Mac OS X 10.9에 설치됩니다. Mac App 스토어로부터 Xcode의 최신버전을 다운받을 수 있습니다.

2. MacPorts 다운로드

MacPorts는 Mac OS X 운영체제에서의 커맨드라인, X11 또는 Aqua 기반 오픈소스 소프트웨어를 컴파일 및 설치 또는 업그레이드를 위해 설계된 것입니다.

http://www.macports.org/install.php로부터 MacPorts를 다운받을 수 있습니다. 자신의 Mac OS 버전(Mavericks, Mountain Lion or Lion)에 따라 인스톨러를 선택해야 합니다.

3. OpenCV 다운로드

http://sourceforge.net/projects/opencvlibrary/으로부터 OpenCV 최신 버전을 다운받을 수 있습니다. 이 파일은 압축파일로 제공될 것입니다. 이것을 더블클릭하여 압축을 해제하고 Xcode 프로젝트 폴더 등의 자신이 원하는 위치로 이동시킵니다.

예제로 진행 될 내용의 이해를 돕기 위해 이 폴더를 다음과 같이 지정하였습니다:
"/Users/[USER_NAME]/Documents/XCode/opencv-2.4.8"

4. Build OpenCV

  • Terminal 어플리케이션을 실행합니다.

  • 다음과 같이 입력합니다:

$ sudo port -v selfupdate $ sudo port install subversion $ sudo port install cmake $ cd /Users/USER_NAME/Documents/XCode/opencv-2.4.8 // 자신의 OpenCV가 저장되어 있는 폴더 $ cmake -G "Unix Makefiles" $ make -j8 $ sudo make install $ sudo port install opencv


마지막 과정 - 'sudo port install opencv'는 시간이 좀 걸릴 수 있습니다. 최종적으로 점검해야 할 사항은, 이 경로 내 OpenCV 헤더와 라이브러리 파일들입니다:


  • 헤더: /opt/local/include/opencv

  • 라이브러리: /opt/local/lib/

라이브러리 파일들은 "*.dylib"의 확장자를 가지며 "libopencv"로 이름이 시작됩니다.

5. Test with a Test Project in Xcode

  • Xcode 어플리케이션을 실행합니다.

  • 환경 메시지에서 'Create a new Xcode project'를 선택합니다.

  • 새 프로젝트의 템플릿을 물어보면, "OS X > Command Line Tool"을 선택합니다.



  • Product Name, Organization Name, Company Identifier를 입력합니다. 본 예제의 경우, Product Name으로 'OpenCVTest'를 입력하였습니다.

  • 타입을 C++로 설정합니다.

  • 원하는 장소에 프로젝트를 저장합니다.

  • 좌측 사이드바에서 프로젝트(OpenCVTest 1 target, OS X SDK 10.9)를 클릭하면 메인 윈도우에 'Build Settings'를 볼 수 있습니다.

  • Build Settings에서 "Search Paths"가 보일 때까지 마우스 스크롤 다운합니다.



  • DebugRelease 모두에 대하여 Search Paths를 '/opt/local/include'로 입력합니다.


  • DebugRelease 모두에 대하여 Library Search Paths를 '/opt/local/lib' 입력합니다.


  • OpenCV 프레임워크를 추가합니다. 좌측 사이드바에서 프로젝트(OpenCVTest 1 target, OS X SDK 10.9)를 우측 마우스 클릭하고 'OpenCV Frameworks'라는 이름으로 새 그룹을 만듭니다.


  • 방금 추가한 OpenCV Frameworks 그룹을 우측 마우스 클릭하고 OpenCV 라이브러리를 추가하기 위해 Add Files to 로 "OpenCVTest"를 선택합니다.

  • 파일을 선택하는 다이얼로그 창이 뜨면 파일 경로로 '/opt/local/lib'를 택하여 'libopencv_core.2.4.8.dylib및 'libopencv_highgui.2.4.8.dylib' 파일들을 추가합니다. 이 파일들은 test example에 대해 필요한 라이브러리들입니다.

  • 좌측 사이드바에서 OpenCV Frameworks 그룹에 두 개의 라이브러리 파일들이 추가된 것을 볼 수 있을 것입니다.



  • 테스트 코드 작성을 제외한 모든 준비가 완료되었습니다.

  • 좌측 사이드바에서 "main.cpp"를 선택하면 메인 윈도우에서 코드 라인들을 볼 수 있을 것입니다.

  • 헤더 파일을 포함시키기 위해 '#include <iostream>'와 '#include <opencv2/opencv.hpp>'를 입력합니다.

  • 이 헤더 파일을 입력하는 동안 Xcode의 자동완성 기능이 작동하는지 확인해 보길 권장합니다. 만약 자동완성 기능이 나타나지 않으면 Search Paths를 다시 한 번 확인해 봐야 합니다.

  • 다음과 같이 테스트 코드를 입력합니다:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream> 
#include <opencv2/opencv.hpp>
 
int main(int argc, char *argv[])
{
    // Open the file.
    IplImage *img = cvCreateImage( cvSize(100,200), IPL_DEPTH_8U, 3);
 
    // Display the image.
    cvNamedWindow("Image:", CV_WINDOW_AUTOSIZE);
    cvShowImage("Image:", img);
 
    // Wait for the user to press a key in the GUI window.
    cvWaitKey(0);
 
    // Free the resources.
    cvDestroyWindow("Image:");
    cvReleaseImage(&img);
 
    return 0;
}
cs




  • 결과를 확인합니다. 만약 모든 절차가 제대로 마무리 되었다면 다음과 같은 결과를 확인할 수 있습니다:


Comments