Opencv install for mac

Hα ყҽσɳɠ·2020년 7월 12일
2

실시간 이미지 프로세싱에 중점을 둔 라이브러리인 OpenCV를 macOS에 설치하는 방법에 대해 정리해보겠습니다.


1. Homebrew로 Opencv 설치

⚠️ Homebrew가 없다면 설치하도록 합니다. (맥에선 홈브류없이 못살아!)

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"

Homebrew 설치 후, 다음 명령어들을 순서대로 입력하여 최신 버전의 Opencv를 설치해줍니다.

brew update

brew install opencv

brew upgrade opencv

설치가 되고 있는 모습입니다.


2. Xcode setting

xcode에서 프로젝트를 만들어봅시다!

새로운 프로젝트를 생성하기 위해, 프로젝트 이름과, Organization 이름, identifier, language를 설정해줍니다. Opencv C++로 쓸거라서 언어는 C++로 설정합니다.

프로젝트를 생성했으면, Build Settings 탭에 들어갑니다.

Build settings 탭에서, Search Paths를 검색창에 입력합니다.


🔥 여기서부터 왕중요!

✅ Header Search Paths 설정

Header Search Paths에 다음과 같이 입력합니다.

/usr/local/Cellar/opencv/[설치한 version]/include/[설치한 opencv]

저는 가장 4.3.0_5 version을 설치하였으므로, 아래와 같이 입력하였습니다.

/usr/local/Cellar/opencv/4.3.0_5/include/opencv4

❓ 설치버전 확인 방법은 다음과 같습니다.

ls /usr/local/Cellar/opencv

Debug, Release에 둘 다 똑같이 입력해야 하는데, 귀찮으니 Header Search Paths 부분의 + 눌러서 입력하면 한 번에 작성할 수 있습니다.


✅ Library Search Paths

설치한 버전을 확인한 후, 다음과 같이 입력합니다.

/usr/local/Cellar/opencv/[설치 버전]/lib

/usr/local/Cellar/opencv/4.3.0_5/lib


✅ Linker Flags

먼저, 터미널을 열고 정확한 version 확인을 합니다.

ls /usr/local/Cellar/opencv

버전 확인 후, 버전을 알맞게 적어 다음과 같이 터미널에 입력합니다.
명령어 입력 후 나온 결과를 모두 클립보드에 복사합니다.

pkg-config --cflags --libs /usr/local/Cellar/opencv/4.3.0_5/lib/pkgconfig/opencv4.pc

Build Settings > Linking으로 돌아와, Other Linker Flags 부분에 복사했던 값들을 붙여넣기 해줍니다. (전부 복붙해야 합니다.)


✅ Scheme setting

opencv에서는 영상을 불러와서 처리해주는 과정이므로, 간단히 상대 경로를 사용하기 위해 scheme setting에서 working directory 설정을 해줍니다.

상단 메뉴바에서 Product > Scheme > Edit Schme... 에 들어가줍니다.

Use custom working directory에 체크를 한 후, 폴더 부분을 눌러 현재 파일이 실행되는 위치를 클릭해줍니다.


저는 아래와 같은 위치에서 작업하고 있기 때문에, 해당 폴더를 등록해주었습니다.


3. 실행

설치가 잘 완료되었는지 test하기 위해 아래와 같은 간단한 코드를 적어서 실행시켜봅니다.

💾 소스코드


#include <iostream>
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>


using namespace std;
using namespace cv;

int main() {
    Mat img = imread("lena.png");
    
    if (img.empty()) {
        printf("Image read failed");
        exit(-1);
    }
    
    imshow("image", img);
    waitKey(0);
    return 0;
}

⌛️ 실행결과

opencv의 예제에 항상 등장하시는 레나님 반가워용
(항상 이분 얼굴 이미지를 사용하시길래 한편으론 궁금한 마음이 있었는데, 레나님의 얼굴이 세밀함과 평면, 그림자, 그리고 질감이 적절하게 조화되어 있어서 다양한 이미지 처리 알고리즘을 처리하는 데 좋다고 한다.)

이렇게 이미지가 잘 출력되면, 정상적인 설치가 이루어졌음을 확인할 수 있습니다.


작년에 컴퓨터비전 수업을 들을 때는 3.4.0 버전을 사용하다가 이번 여름방학에 OpenCV캠프 TA를 하면서 최신 버전을 사용하게 되었다. 가장 최신 버전을 새로 설치했는데 OpenCV 라이브러리 사용은 version에 따라 달라지는 것 같아 버전 사용에 주의해야할 것 같다고 느꼈다. 항상 vscode만 사용하다가 xcode에서의 OpenCV 사용법도 알아야해서 xcode 설정을 하게 되었다. 교수님께서 제공해주신 가이드라인을 보고 따라하다가 내 xcode환경에서는 어마어마한 에러들과 함께 잘 작동하지 않아서 해결했던 방법을 포스팅하게 되었다. 예전에 갑자기 xcode가 뭔가 좀 더 똑똑해보이는 느낌이라 써볼까 하다가 어렵게 느껴져서 익숙한 vscode만 썼는데, 이런 기회로 써보게 되었다. 🤓 하지만 결론은 그래도 vscode가 최고다.. 👩🏻‍💻🍒

profile
𝑯𝒐𝒏𝒆𝒔𝒕𝒚 𝑰𝒏𝒕𝒆𝒈𝒓𝒊𝒕𝒚 𝑬𝒙𝒄𝒆𝒍𝒍𝒆𝒏𝒄𝒆

1개의 댓글

comment-user-thumbnail
2021년 4월 15일

파이썬도 가능한가요??

답글 달기