【问题标题】:OpenCV-Python installation - CMake error missing vtkRenderingOpenGL [Ubuntu 16.04]OpenCV-Python 安装 - CMake 错误缺少 vtkRenderingOpenGL [Ubuntu 16.04]
【发布时间】:2017-02-24 20:05:43
【问题描述】:

我正在尝试按照this 指南在我的 LTS 系统上的 Python3 中安装 Python-OpenCV

当我尝试运行 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 并关注 this 的帖子。

我确定我以前安装过这个,所以不出所料,我得到了:

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.

非常感谢任何和所有的帮助!

【问题讨论】:

    标签: python python-3.x opencv cmake ubuntu-16.04


    【解决方案1】:

    听取来自 OpenCV 社区论坛 (post) 的建议。

    将此添加到 CMake 选项中:

    -D WITH_VTK=OFF -D BUILD_opencv_viz=OFF
    

    “opencv_viz 是唯一一个依赖于 vtk 的 opencv 模块,你不能从 python 中使用它”

    因此,可以一起禁用它,然后 CMake 完成。

    【讨论】:

      【解决方案2】:

      我的建议是:卸载你的 ffmpeg 并安装一个旧的。对我来说,我用ffmpeg4.0安装了opencv3.2.0,我得到了错误:

      '找不到包'libavresample''

      等等。现在,我将我的 ffmpeg 更改为 ffmpeg2.7.2,它对我有用。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-12-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-05-11
        • 1970-01-01
        • 1970-01-01
        • 2023-03-16
        相关资源
        最近更新 更多