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-python
和opencv-contrib-python
的pip 安装包,然后强制重新安装python3-opencv
的apt 包。以上是关于Python Opencv imshow 错误的主要内容,如果未能解决你的问题,请参考以下文章
OpenCV 在带有 anaconda 的 Linux 上无法与 python 一起正常工作。收到未实现 cv2.imshow() 的错误
带有 Python 3 的 opencv3,imshow() 不显示图像