비주얼리제이션 모듈이란 무엇입니까?
OpenCV에서 제공 3D 가시화(Visualization) 라이브러리수단. 또한 위젯을 표시하고 위젯과 상호 작용하는 데 사용되는 여러 기능을 제공합니다. 예를 들어 선, 점, 경계 상자 및 문자열을 그릴 수 있습니다.
그런데 OpenCV는 기본적으로 viz사용자에게 직접 제공하지 않음 VTK 라이브러리함께 사용 viz 모듈을 포함하는 OpenCV 라이브러리를 만들어야 합니다. 이 프로세스는 시간이 많이 걸리고 복잡합니다.
이 게시물을 사용하는 방법 viz 모듈로 OpenCV 라이브러리를 빌드하는 방법을 소개합니다.
준비
1. VTK 8.2.0 또는 9.0.0 소스 파일을 준비합니다.
다운로드 링크: vtk.org/download/ 또는 https://github.com/Kitware/VTK/releases
2. OpenCV 4.4.0 소스 파일을 준비합니다.
다운로드 링크: https://opencv.org/releases/
3. OpenCV-contrib 4.4.0 소스 파일을 준비합니다.
다운로드 링크: https://github.com/opencv/opencv_contrib/releases
4. CMake 설치 파일을 준비합니다.
다운로드 링크: https://cmake.org/download/
CMake는 라이브러리 소스 파일을 빌드하여 개발 환경에 적합한 라이브러리를 만드는 데 사용됩니다. CMake 설치 지침은 아래 문서를 참조하십시오.
(CMake) CMake 설치
(CMake) CMake 설치
CMake는 사용자가 원하는 개발 환경을 위한 라이브러리를 만드는 데 도움이 되는 오픈 소스 도구입니다. OpenCV, VTK, 각 제조사에서 제공하는 SDK 등의 개발 환경에 따라 새로운 라이브러리를 생성할 때 사용합니다.
luckygg.tistory.com
OpenCV-contrib를 사용하여 비주얼리제이션 모듈을 만들 수 있습니다. OpenCV-contrib viz 모듈은 VTK 8.90.0까지만 호환되는 것 같습니다. 정식 버전으로 빌드하고 싶다면 VTK 8.2.0 및 VTK 9.0.0은 괜찮습니다. 텍스트의 순서를 따를 수 있습니다.
1. VTK 구축
VTK 라이브러리에서 구축을 시작하십시오. VTK 8.2.0 또는 9.0.0 source 파일을 준비하고 압축을 풉니다. 텍스트에서 VTK 9.0.0사용 되왔다.

| 안건 | 설명 |
| 소스 코드는 어디에 있습니까 | VTK의 소스 파일에 대한 경로를 지정합니다. |
| 바이너리를 빌드할 위치 | 빌드된 바이너리 파일이 생성되는 경로를 지정합니다. 텍스트에서 vtk_bin라는 폴더를 만들었습니다. |
Configure 버튼클릭하면 아래와 같이 개발 환경을 선택할 수 있는 창이 나타납니다. 컴파일러 버전수업 OS 비트 버전선택하다

Finish 버튼클릭하면 라이브러리 생성을 위한 준비 프로세스가 시작됩니다. 잠시 기다리면 아래와 같은 화면이 나타납니다.

기본 옵션은 다음과 같습니다.
| 안건 | 설명 |
| VTK_BUILD_EXAMPLE | 이것은 예제 프로그램을 생성하기 위한 선택적 옵션입니다. 풀어 주다. |
| BUILD_SHARED_LIBS | 공유 또는 정적 라이브러리를 생성하는 옵션. 필요에 따라 선택하십시오. |
| VTK_BUILD_TESTING | VTK_BUILD_EXAMPLE과 함께 해당 옵션을 끄면 빌드 속도가 빨라집니다. 확인할 필요가 없습니다. |
그리고 Generate 버튼클릭하면 binaries 경로다음 파일이 생성됩니다.

OpenCV viz 모듈만들기 위해 VTK여기까지 진행할 수 있습니다. 만약에, VTK 라이브러리를 만들고 싶다면 아래 링크를 참조하십시오.
VTK 라이브러리도 참고하여 빌드를 완성해주세요.
(VTK) VTK 8.2 및 Visual Studio 2015 환경 구성
(VTK) VTK 8.2 및 Visual Studio 2015 환경 구성
VTK를 사용하기 위해서는 준비 과정이 다소 길고 복잡합니다. 이 기사에서는 쉽게 따라할 수 있도록 단계별로 구성했습니다. ※ 2019년 7월 3일 추가 아래 빌드 프로세스가 없으신 분들은
luckygg.tistory.com
2. OpenCV-contrib 수정
앞서 언급 한 바와 같이, OpenCV-contrib 4.4.0은 VTK 8.90.0호환되는 것 같습니다. 그렇기 때문에 아래 경로에 있는 파일은 VTK 버전이것 8.90.0로 표시되어 있습니다
opencv_contrib-4.4.0\modules\viz\CMakeList.txt

이것은 정확히 8.90.0까지만 호환된다는 뜻인지는 모르겠지만 강제로 다음과 같이 변경하면 VTK 9.0.0~에 의해 viz 모듈생성할 수 있습니다.

같은 방법으로 VTK 9.0.1나는 또한 시도했다 CMake빌드 중 오류가 발생합니다. 여기까지 수정이 완료되면 OpenCV-contrib 준비가 완료되었습니다.
3. OpenCV 구축
이제 본격적으로 CMake~에 OpenCV짓다. VTK~처럼 OpenCV 4.4.0 source 파일준비 binary 파일또한 생성된 경로를 지정합니다.

Configure 버튼클릭하여 개발 환경으로 들어갑니다.

Finish 버튼클릭하면 라이브러리 생성을 위한 준비 프로세스가 시작됩니다. 잠시 기다리면 아래와 같은 화면이 나타납니다.

이제 다음 옵션을 입력해야 합니다.
| 안건 | 설명 |
| OPENCV_EXTRA_MODULES_PATH | opencv_contrib-4.4.0\modules 경로를 설정합니다. |
| BUILD_SHARED_LIBS | 공유 또는 정적 라이브러리를 생성하는 옵션. 이 텍스트에서는 공유 라이브러리로 확인하고 생성했습니다. |
| VTK_DIR | 빌드된 VTK 라이브러리 경로를 설정합니다. |
| WITH_VTK | 확인하다. |
Generate 버튼를 클릭하면 아래와 같이 화면이 표시됩니다.

Binary 생성 경로보면 아래와 같은 파일이 생성됩니다.

지금 Binary 폴더~의 OpenCV.sln 파일실행합니다. 주의를 기울이십시오 Visual Studio를 관리자 권한으로 실행당신은해야합니다.

ALL_BUILD그리고 INSTALL순서대로 빌드합니다. 빌드가 완료되면 opencv_bin/install 경로에 라이브러리 파일이 생성됩니다. Debug 그리고 Release 모드로 같은 방식으로 빌드하십시오.
debug\include\opencv2에게 viz 폴더있고, 그 안에 viz 관련 코드생성되었음을 알 수 있습니다.

결론
처음에는 며칠을 헤매고 인터넷에 있는 온갖 정보를 참고한 끝에 드디어 OpenCV 비주얼리제이션 모듈을 만드는 데 성공했습니다. 누가 편하게 주면 쉬울 텐데 이렇게 해보는 것도 좋은 경험이었던 것 같아요. 이 글이 누군가에게 도움이 되었으면 합니다.