해당 문서는 OpenCV 4.6.0 과 Visual Studio 2022 을 기준으로 작성되었습니다.
Visual Studio가 깔려있다는 전제 하에 작성된 설명임을 감안해주시길 바랍니다.
https://opencv.org/ 페이지에 접속해 Library > Release 를 눌러줍니다
다운로드를 원하는 openCV 버전을 고르고 자신의 운영체제와 환경에 맞는 버튼을 클릭합니다.
(저는 윈도우 운영체제를 사용중이므로 Windows를 눌렀습니다.)
버튼을 클릭하면 창이 새로 뜨고 5초 정도 대기하면 다운로드 창이 뜹니다.
다운로드 된 파일을 더블클릭하면 다음과 같은 창이 뜹니다.
가장 우측의 ... 버튼을 클릭해 원하는 경로를 지정하고 Extract 를 눌러 압축을 해제합니다.
(저는 C드라이브로 설정했습니다.)
설정한 경로에 opencv 라는 폴더가 생성되고 다음과 같이 구성되어 있는 것을 볼 수 있습니다.
저는 늘 하던대로 빈 프로젝트를 선택했습니다. 검색해보니 데스크톱 마법사도 있네요 편하신 걸 고르시면 될 것 같습니다.
그러고 보니 한번도 다른 걸 이용해본 적이 없네요.
저는 이런 이름과 경로로 진행했습니다.
우측에서 study1-1.cpp 라는 이름의 소스 파일을 추가했습니다.
사진 속 노란 박스 친 부분에서 오른쪽을 x64로 바꿔주면 됩니다.
아래에서 두번째에 있는 속성을 눌러줍니다.
구성 속성 > C/C++ > 일반 > 추가 포함 디렉터리 > 편집을 눌러 저장경로\opencv\build\include 를 입력하고 '부모 또는 프로젝트 기본값에서 상속'을 체크해준 다음 확인을 눌러줍니다.
(편집은 추가 포함 디렉터리를 입력하는 부분을 한번 클릭하면 오른쪽에 더보기 화살표가 뜨는데, 그 화살표를 클릭하면 편집 버튼이 나옵니다.)
구성속성 > 링커 >추가 라이브러리 디렉터리 > 편집을 눌러 저장경로\opencv\build\x64\vc15\lib 를 입력하고 '부모 도는 프로젝트 기본값에서 상속'을 체크해준 다음 확인을 눌러 줍니다.
(편집은 추가 라이브러리 디렉터리를 입력하는 부분을 한번 클릭하면 오른쪽에 더보기 화살표가 뜨는데, 그 화살표를 클릭하면 편집 버튼이 나옵니다.)
구성속성 > 디버깅 > 환경에 PATH=저장경로\opencv\build\x64\vc15\bin;%PATH% 를 적어줍니다. 이 때 기존처럼 편집을 눌러서 삽입하는 것도 가능한데 '부모 또는 프로젝트 기본값에서 상속'의 체크를 빼셔야 화면과 동일하게 작성할 수 있습니다.
모든 구성에서 Debug로 변경합니다. 이 때 속성 페이지의 변경 내용을 저장하시겠습니까? 라는 창이 뜨면 '예'를 눌러줍니다.
구성 속성 > 링커 > 입력 > 추가 종속성 > 편집을 눌러 opencv_world460d.lib (opencv 버전에 따라 4.4.0이면 440, 4.6.0이면 460을 적습니다)를 입력하고 '부모 또는 프로젝트 기본값에서 상속' 을 체크해준 다음 확인을 눌러줍니다.
Debug에서 Release로 변경합니다. 이 때 속성 페이지의 변경 내용을 저장하시겠습니까? 라는 창이 뜨면 '예'를 눌러줍니다.
구성 속성 > 링커 > 입력 > 추가 종속성 > 편집을 눌러 opencv_world460.lib (opencv 버전에 따라 4.4.0이면 440, 4.6.0이면 460을 적습니다)를 입력하고 '부모 또는 프로젝트 기본값에서 상속' 을 체크해준 다음 확인을 눌러줍니다.
Debug 때랑 달리 world460d가 아닌 world460인 점을 유의하세요!
간단한 코드를 통해 opencv 가 무사히 설치 되었는지 테스트 해봅니다. 제 코드는 기존 이미지를 읽어오고 새로운 이미지를 반환하는 코드입니다.
저는 국룰 해당 이미지를 "lena.jpg"프로젝트 폴더에 넣었습니다
#include <opencv2\opencv.hpp>
using namespace cv;
void main() {
Mat Image = imread("lena.jpg", IMREAD_COLOR);
namedWindow("display", WINDOW_AUTOSIZE);
imshow("display", Image);
imwrite("lena_new.jpg", Image);
waitKey(0);
}
Debug
프로젝트 폴더에 lena_new.jpg 파일이 추가 된 것을 볼 수 있습니다.
Release
프로젝트 폴더에 lena_new.jpg 파일이 추가 된 것을 볼 수 있습니다.
Cpp으로 처음 인공지능 시도하는데 가시성 좋은 글 잘 봤습니다 ㅎㅎ