![OpenCV-Python 安装-CMake 错误缺少 vtkRenderingOpenGL](https://linux22.com/image/1145716/OpenCV-Python%20%E5%AE%89%E8%A3%85-CMake%20%E9%94%99%E8%AF%AF%E7%BC%BA%E5%B0%91%20vtkRenderingOpenGL%20.png)
Python-OpenCV
我正在尝试在我的 LTS 系统上安装Python3,如下所示这指导。
当我尝试运行 CMake 时:
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D INSTALL_PYTHON_EXAMPLES=ON -D INSTALL_C_EXAMPLES=OFF -D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib-3.1.0/modules -D PYTHON_EXECUTABLE=~/.virtualenvs/cv/bin/python -D BUILD_EXAMPLES=ON ..
我收到以下错误:
-- Detected version of GNU GCC: 54 (504)
-- Found ZLIB: /usr/lib/x86_64-linux-gnu/libz.so (found suitable version "1.2.8", minimum required is "1.2.3")
-- Found ZLIB: /usr/lib/x86_64-linux-gnu/libz.so (found version "1.2.8")
-- Checking for module 'gstreamer-base-1.0'
-- No package 'gstreamer-base-1.0' found
-- Checking for module 'gstreamer-video-1.0'
-- No package 'gstreamer-video-1.0' found
-- Checking for module 'gstreamer-app-1.0'
-- No package 'gstreamer-app-1.0' found
-- Checking for module 'gstreamer-riff-1.0'
-- No package 'gstreamer-riff-1.0' found
-- Checking for module 'gstreamer-pbutils-1.0'
-- No package 'gstreamer-pbutils-1.0' found
-- Checking for module 'gstreamer-base-0.10'
-- No package 'gstreamer-base-0.10' found
-- Checking for module 'gstreamer-video-0.10'
-- No package 'gstreamer-video-0.10' found
-- Checking for module 'gstreamer-app-0.10'
-- No package 'gstreamer-app-0.10' found
-- Checking for module 'gstreamer-riff-0.10'
-- No package 'gstreamer-riff-0.10' found
-- Checking for module 'gstreamer-pbutils-0.10'
-- No package 'gstreamer-pbutils-0.10' found
-- Checking for module 'libdc1394-2'
-- No package 'libdc1394-2' found
-- Checking for module 'libdc1394'
-- No package 'libdc1394' found
-- Looking for linux/videodev.h
-- Looking for linux/videodev.h - not found
-- Looking for linux/videodev2.h
-- Looking for linux/videodev2.h - found
-- Looking for sys/videoio.h
-- Looking for sys/videoio.h - not found
-- Checking for module 'libavresample'
-- No package 'libavresample' found
-- Looking for libavformat/avformat.h
-- Looking for libavformat/avformat.h - found
-- Looking for ffmpeg/avformat.h
-- Looking for ffmpeg/avformat.h - not found
-- Checking for module 'libgphoto2'
-- No package 'libgphoto2' found
-- found IPP (ICV version): 9.0.1 [9.0.1]
-- at: /home/matt/opencv-3.1.0/3rdparty/ippicv/unpack/ippicv_lnx
-- Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE)
-- To enable PlantUML support, set PLANTUML_JAR environment variable or pass -DPLANTUML_JAR=<filepath> option to cmake
-- Found PythonInterp: /home/matt/.virtualenvs/cv/bin/python (found suitable version "3.5.2", minimum required is "2.7")
-- Found PythonInterp: /home/matt/.virtualenvs/cv/bin/python3 (found suitable version "3.5.2", minimum required is "3.4")
-- Could NOT find JNI (missing: JAVA_AWT_LIBRARY JAVA_JVM_LIBRARY JAVA_INCLUDE_PATH JAVA_INCLUDE_PATH2 JAVA_AWT_INCLUDE_PATH)
-- Could NOT find Matlab (missing: MATLAB_MEX_SCRIPT MATLAB_INCLUDE_DIRS MATLAB_ROOT_DIR MATLAB_LIBRARIES MATLAB_LIBRARY_DIRS MATLAB_MEXEXT MATLAB_ARCH MATLAB_BIN)
CMake Error at /usr/local/lib/cmake/vtk-7.1/vtkModuleAPI.cmake:120 (message):
Requested modules not available:
vtkRenderingOpenGL
Call Stack (most recent call first):
/usr/local/lib/cmake/vtk-7.1/VTKConfig.cmake:89 (vtk_module_config)
cmake/OpenCVDetectVTK.cmake:6 (find_package)
CMakeLists.txt:597 (include)
-- Configuring incomplete, errors occurred!
See also "/home/matt/opencv-3.1.0/build/CMakeFiles/CMakeOutput.log".
See also "/home/matt/opencv-3.1.0/build/CMakeFiles/CMakeError.log".
到目前为止我已经完全遵循了指南,所以我不确定哪里出了问题。
我四处寻找并尝试修复丢失的软件包vtkRenderingOpenGL
,然后这来自 stackoverflow 的帖子。我确定我以前安装过这个,所以我得到:
sudo apt -y install freeglut3-dev
Reading package lists... Done
Building dependency tree
Reading state information... Done
freeglut3-dev is already the newest version (2.8.1-2).
0 to upgrade, 0 to newly install, 0 to remove and 1 not to upgrade.
非常感谢任何帮助!
答案1
听取 OpenCV 社区论坛给出的建议(邮政)。
将其添加到 CMake 选项:
-D WITH_VTK=OFF -D BUILD_opencv_viz=OFF
“opencv_viz 是唯一依赖于 vtk 的 opencv 模块,您无法通过 python 使用它”
因此,只需将其全部禁用即可,这样 CMake 就完成了。