2018/08/21

Build OpenCV 3.4.2 with VTK 8.1.1

오래전에 OpenCV의 viz 모듈에 관심이 있어 VTK를 OpenCV 와 VTK를 빌드한 적이 있었다.
Build OpenCV 3.1 with VTK 7.0 in Visual Studio 2015

그때당시 VTK의 Renderer 설정과 world 모듈 생성에 문제가 있어서 복잡하게 했던 기억이 있다.

먼저 VTK 를 CMake를 이용하여 정적라이브러리로 빌드한다.
이전과는 다르게 Renderer 설정을 변경할 필요가 없었다. 기본 제공하는 OpenGL2로 진행을 한다.
OpenCV와 정적으로 연결되도록 BUILD_SHARED_LIBS 옵션을 해제하였다.

Srouce: E:/DevWork/VTK/VTK-8.1.1
Build:  E:/DevWork/VTK/VTK-8.1.1_VS2013_x86Static
 
Configuration options
  BUILD_EXAMPLES                   uncheck
  BUILD_SHARED_LIBS                uncheck
  BUILD_TESTING                    uncheck
  CMAKE_INSTALL_PREFIX             BuildPath/install

VTK 빌드를 완료하였다면 OpenCV를 빌드 할 차례이다.
OpenCV는 VTK 빌드 경로와 viz와 world 모듈을 빌드하도록 하였고 CXX11, OpenGL과 OpenMP를 사용하도록 설정하였다. 빠른 테스트를 위해 BUILD_TESTS 옵션을 선택하였다.

Source: E:/DevWork/OpenCV/VTK/opencv-3.4.2
Build:  E:/DevWork/OpenCV/VTK/opencv-3.4.2_VC2013_x86
 
Configuration options
  BUILD_DOCS            uncheck
  BUILD_EXAMPLES        uncheck
  BUILD_TESTS           check
  VTK_DIR               E:/DevWork/VTK/VTK-8.1.1_VS2013_x86Static
  WITH_OPENGL           check
  WITH_OPENMP           check
  
  BUILD_opencv_viz      check
  BUILD_opencv_world    check

이전에는 viz 모듈이 world모듈로 포함이되지 않아서 world 별도로 빌드하고 viz 빌드시 라이브러리 참조를 opencv_core에서 opencv_world 로 변경하였는데 이번에는 viz 모듈이 world모듈로 포함이 되었다.
따라서 빌드후 world 모듈인 opencv_world342.dll 파일만 있으면 된다.

완료후 실제 테스트를 하려면 시간이 소요될 것 같아서 OpenCV를 빌드할 때 BUILD_TESTS 옵션을 선택하여 테스트 파일이 만들어지도록 하였다.

빌드를 마친후 bin\Release 폴더의 opencv_test_viz.exe를 실행해 보았다.

문제없이 실행되는 것으로 보아 viz 모듈이 world에 제대로 포함된 것 같다.

No comments :

Post a Comment