이전에 동일한 제목의 글을 게재한 적이 있다. 그 당시에는 Microsoft Windows 10에 OpenCV 3.2.0과 Visual Studio 2015를 이용하여 OpenCV 코딩 환경을 구성하는 내용이었기 때문에, 언젠가는 최신의 OpenCV와 Visual Studio에서 동일한 환경을 구성하는 글로 업데이트 해야겠다고 생각만 하고 있었다. (이전글은 여기를 참조)
이번에 노트북을 새로 얻게 되어 Microsoft Windows 11에 OpenCV 4.9.0과 Visual Studio 2022를 설치하게 되었고, 이 조건에서 OpenCV 코딩환경을 구성하는 방법을 아래와 같이 공유 한다.
1. OpenCV 다운로드
OpenCV의 홈페이지인 http://opencv.org로 이동하면 아래와 같은 페이지가 표시된다. 아래 빨강색으로 마킹한 “Get Started” 항목을 클릭한다.
아래와 같이 Get Started 페이지로 이동하면 설치할 OS의 종류, 소스 형태로 다운로드 받을 것인지, 활용할 프로그래밍 언어의 종류를 선택하라고 표시된다. 나의 경우는 Windows OS에 설치할 예정이고, 실행파일의 형태로 다운로드 받고, Visual Studio를 이용하여 C++로 코딩할 예정이므로 아래 그림과 같이 선택한 후에 제공해 준 링크를 클릭했다.
위 페이지의 링크를 클릭하면, 아래와 같은 새로운 페이지로 이동한다.
여러개의 링크 리스트 중, “opencv-4.9.0-windows.exe”를 클릭하여, 실행 가능한 형태로 OpenCV 설치파일을 다운 받는다.
2. OpenCV 패키지의 설치
다운로드가 완료되면 설치를 위해서 “opencv-4.9.0-windows.exe” 파일을 실행시킨다.
아래와 같은 창이 표시되며, 압축을 해제할 경로를 지정하고 “Extract” 버튼을 클릭한다.
3. Windows 11 환경설정
“Windows 설정버튼” → “시스템” → “정보”로 이동하여, 아래의 창이 표시되면 빨강색으로 마킹한 “고급 시스템 설정” 버튼을 클릭한다.
아래와 같이 “시스템 속성” 창이 표시되고, “고급” 탭이 활성화 되어 있는 상태인 것을 확인할 수 있다. 제일 아래쪽의 “환경 변수” 버튼을 클릭한다.
아래와 같이 “환경 변수” 창이 표시되면, “새로 만들기” 버튼을 클릭한다.
“새 시스템 변수” 입력창이 표시되면, “변수이름(N)”과 “변수 값(V)”을 입력한다.
- 변수 이름(N) : “OPENCV_BUILD“
- 변수 값(V) : “OpenCV 압축해제 경로 + \opencv\build” 입력 후에 확인을 클릭
다음으로 “시스템 변수”에서 “Path”를 선택하고, “편집”을 클릭하여 “환경 변수 편집” 창이 표시되면, “새로 만들기”를 클릭한 후에 “%OPENCV_BUILD%\x64\vc16\bin“을 입력하고 확인을 클릭한다.
4. Visual Studio 환경 설정
새 프로젝트를 생성하고, “프로젝트” → “속성”을 클릭한다.
- “속성 페이지” → “C/C++” → “일반” → “추가 포함 디렉터리”의 오른쪽 끝에 표시된 화살표를 클릭하고, 입력창이 표시되면 “$(OPENCV_BUILD)\include“를 입력하고 “확인” 버튼을 클릭한다.
- “속성 페이지” → “링커” → “일반” → “추가 라이브러리 디렉터리”의 오른쪽 끝에 표시된 화살표를 클릭하고, 입력창이 표시되면, “$(OPENCV_BUILD)\x64\vc16\lib“를 입력하고 “확인” 버튼을 클릭한다.
- “속성 페이지” → “링커” → “입력” → “추가 종속성”의 오른쪽 끝에 표시된 화살표를 클릭하고, 입력창이 표시되면, Release 모드와 Debug 모드를 구분하여, “opencv_world490.lib“와 “opencv_world490d.lib“를 추가해 준다.
- 이 글을 작성한 시점에서의 OpenCV 최신버전은 4.9.0이지만, 이후에 업데이트된 버전이 릴리즈 되면 Release용 “ovencv_world490.lib”와 Debug용 “opencv_world490d.lib” 파일명 내의 숫자는 다를 수 있다. 각자의 경로에서 라이브러리의 정확한 이름을 확인 하도록 하자.
이상의 작업을 끝내면, Visual Studio C++에서 OpenCV를 활용할 수 있게 된다.