Python Opencv imshow 错误

Posted

技术标签:

【中文标题】Python Opencv imshow 错误【英文标题】:Python Opencv imshow error 【发布时间】:2017-06-08 16:50:45 【问题描述】:

我尝试了一些试验.. 我建立

cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_TBB=ON -D BUILD_NEW_PYTHON_SUPPORT=ON -D WITH_V4L=ON -D INSTALL_C_EXAMPLES=ON -D INSTALL_PYTHON_EXAMPLES=ON -D BUILD_EXAMPLES=ON -D WITH_QT=ON -D WITH_GTK=ON -D WITH_OPENGL=ON ..

如果我尝试使用 python:

导入 cv2

打印(cv2.版本

3.2.0

我的完整代码: (https://www.solarianprogrammer.com/2016/09/17/install-opencv-3-with-python-3-on-windows/)

import cv2
image = cv2.imread("/home/reigin/Pictures/games.jpg")
gray_image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
cv2.imshow("Over the Clouds", image)
cv2.imshow("Over the Clouds - gray", gray_image)
cv2.waitKey(0)
cv2.destroyAllWindows()

我对此有错误:

cv2.imshow("Over the Clouds", image)
OpenCV Error: Unspecified error (The function is not implemented. Rebuild the library with Windows, GTK+ 2.x or Carbon support. If you are on Ubuntu or Debian, install libgtk2.0-dev and pkg-config, then re-run cmake or configure script) in cvShowImage, file /io/opencv/modules/highgui/src/window.cpp, line 583
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
cv2.error: /io/opencv/modules/highgui/src/window.cpp:583: error: (-2) The function is not implemented. Rebuild the library with Windows, GTK+ 2.x or Carbon support. If you are on Ubuntu or Debian, install libgtk2.0-dev and pkg-config, then re-run cmake or configure script in function cvShowImage

我设置了我的 dpk 配置:

reigin@reigin-K43SA:~$ echo $PKG_CONFIG_PATH
/usr/local/lib/pkgconfig:/usr/lib/x86_64-linux-gnu/pkgconfig:/usr/lib/pkgconfig

如果我除了显示我的图像之外没有任何问题..

忍不住:

opencv 3.0 python imshow error

http://vinllen.com/solve-error-libgtk2-0-dev-and-pkg-config-when-install-opencv/

http://answers.opencv.org/question/57945/opencv-gui-with-gtk-2-solved/

https://askubuntu.com/questions/210210/pkg-config-path-environment-variable

感谢您的关注和帮助..

【问题讨论】:

也许有帮助.. ***.com/questions/13151514/… 【参考方案1】:

您可能正在使用不支持 GTK 的 pip opencv-python。您的 python 绑定必须来自您构建的 opencv。

检查您的/usr/local/lib/python2.7/site-packages/ 文件夹并确保您有一个来自编译和安装opencv 的cv2.so 文件,并且您没有使用来自dist-packages 中的pip 的opencv-python 包。

请看这里:http://www.pyimagesearch.com/2015/06/22/install-opencv-3-0-and-python-2-7-on-ubuntu/

这是我准备安装的 Cmake 行:

cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_TBB=ON -D WITH_GTK=ON -D WITH_V4L=ON -D WITH_OPENGL=ON -D WITH_CUBLAS=ON -DWITH_QT=OFF -DCUDA_NVCC_FLAGS="-D_FORCE_INLINES" ..

请注意,这假设您已通过 sudo apt-get install libgtk2.0-dev 安装了适当的 libgtk。

这是 CMake 应该吐出的:

--图形用户界面:

-- QT:否

-- GTK+ 2.x:是(版本 2.24.30)

-- GThread : YES (ver 2.48.2)

-- GtkGlExt: YES (ver 1.2.0)

-- OpenGL 支持:YES (/usr/lib/x86_64-linux-gnu/libGLU.so /usr/lib/x86_64-linux-gnu/libGL.so)

-- VTK 支持:是(版本 6.2.0)

【讨论】:

我在 Ubuntu 18.04 上遇到过这种情况。 pip 安装的软件包是罪魁祸首。我删除了opencv-pythonopencv-contrib-python 的pip 安装包,然后强制重新安装python3-opencv 的apt 包。

以上是关于Python Opencv imshow 错误的主要内容,如果未能解决你的问题,请参考以下文章

OpenCV 在带有 anaconda 的 Linux 上无法与 python 一起正常工作。收到未实现 cv2.imshow() 的错误

带有 Python 3 的 opencv3,imshow() 不显示图像

opencv-python 中的 imshow 不起作用

出现错误 - 在给出 imshow、imwrite 命令 opencv 时“找不到作家”

OpenCV之自定义滤波器

OpenCV之自定义滤波器