안녕하세요.
Visual Studio 2019, OpenCV 4.5.3 조금 지난 버전이긴 한데, 현재까지 사용하고 있어서 다음에 설정할 때도 참고하고자 남깁니다.
1. Visual Studio에서 빈 프로젝트 생성
테스트할 프로젝트 이름을 넣습니다.
소스파일 폴더에 새 항목을 선택하고 "Visual C++ -> C++ -> 파일명 main.cpp 생성합니다.
2. OpenCV Library 불러오기 위한 세팅
1) 속성 설정
프로젝트(OpenCV_first)에서 오른쪽 버튼 속성 혹은 상단 메뉴 "프로젝트->OpenCV_first" 속성 선택
2) 속성 페이지 설정
속성 상단 메뉴에서 구성을 "모든 구성", 플랫폼은 "x64"로 변경합니다. debug, release 모드 공통적인 부분을 설정하기 위함입니다.
"구성 속성 -> 디버깅 -> 환경 -> 편집"을 선택하고 OpenCV가 설치한 디렉터리에서 라이브러리 경로를 적어주고, 부모 또는 프로젝트 기본값에서 상속 체크 해제해줍니다. PATH= 경로 -> ; -> %PATH%
예시) PATH=D:\opencv_vc\build\x64\vc15\bin;%PATH%
"C/C++ -> 일반 -> 추가 포함 디렉터리 -> 편집"에 들어가서 OpenCV를 설치한 디렉터리 중 build\include 디렉터리 추가
"C/C++ -> 전처리기 -> 전처리기 정의 -> 편집"에 들어가서 _CRT_SECURE_NO_WARNINGS를 추가합니다.
CRT는 C Run-Time Libraries는 의미이고, 개선된 함수를 사용하는 것이 어떠냐 라는 unsafe경고를 주는데, 기존의 함수를 사용해도 이상이 없는 상황에 경고로 인해 컴파일이 되지 않는 경우가 생길 수 있습니다. 경고문을 발생하지 않게 하기 위한 방법으로 사용합니다. (설정하지 않는다면, opencv sample code compile 시에 fopen 등에서 에러 납니다)
"링커->일반->추가 라이브러리 디렉터리->편집"에 들어가서 build\x64\vc15\lib 디렉터리 추가
(OpenCV와 VS 버전에 따라 선택하는 것이 다를 수 있습니다. 현재 VS2019 사용)
< 추가 종속성 설정 >
opencv_world453d.lib 와 opencv_world453.lib 파일이 구성에 따라 다른 파일을 호출해야 하기 때문에 "구성" 메뉴를 을 번경합니다. 먼저 Debug 모드로 변경한 후
"링커 -> 입력 -> 추가 종속성 -> 편집"을 선택하고 opencv_world453d.lib 디버그 옵션이 추가된 파일이름을 입력합니다. 그리고 부모 또는 프로젝트 기본값에서 상속을 체크합니다.
Release 모드로 변경한 후
"링커 -> 입력 -> 추가 종속성 -> 편집"을 선택하고 opencv_world453.lib 입력합니다.(끝에 d가 없는 파일) 그리고 부모 또는 프로젝트 기본값에서 상속을 체크합니다.
3. 테스트 코드 작성
OpenCV 코드 테스트하기 위해서 모드를 다시 Debug모드로 변경 후에 간단한 코드를 작성합니다. OpenCV 버전확인과 동그라미 그리는 코드를 추가했습니다.
#include <opencv2\opencv.hpp>
using namespace cv;
int main() {
// OpenCV 버전 출력
std::cout << "OpenCV version: " << CV_VERSION << std::endl;
// 빈 이미지 생성
cv::Mat image = cv::Mat::zeros(400, 400, CV_8UC3);
// 동그라미 그리기
cv::circle(image, cv::Point(200, 200), 100, cv::Scalar(0, 255, 0), -1);
// 이미지 창에 표시
cv::imshow("Circle", image);
cv::waitKey(0);
return 0;
}
4. 솔루션 빌드 및 실행결과
상단 메뉴에서 "빌드 -> 솔루션 빌드"를 눌러 빌드를 수행합니다. 설정이 잘 되었다면 빌드 성공으로 나타납니다.
콘솔 창에 OpenCV의 버전이 나타나며, 원이 그려진 윈도우 창이 나타나는 것을 확인할 수 있습니다.
감사합니다.
<참고사이트>
1. _CRT_SECURE_NO_WARNINGS
2. Visual Studio 2019에서 Opencv 프로젝트 세팅하기
https://electrondiy.tistory.com/18
'Programming > 영상처리' 카테고리의 다른 글
색상(컬러) 모델 설명 및 컬러 모델 간 변환 식 (0) | 2024.08.02 |
---|---|
[영상처리] 영상 이진화 (2) | 2023.11.25 |
[영상처리] 밝기값 히스토그램 (0) | 2023.11.03 |
[e4ds] Quest2 - YOLOv8를 이용한 아몬드(Almond)인식 및 카운팅 (0) | 2023.10.23 |
[영상처리] 영상 화소(포인터) 처리 (0) | 2023.09.27 |