opencv-python 中的 imshow 不起作用

Posted

技术标签:

【中文标题】opencv-python 中的 imshow 不起作用【英文标题】:imshow in opencv-python doesn't work 【发布时间】:2015-02-23 05:00:22 【问题描述】:

执行cv2.imshow时发生错误,程序崩溃。

我的代码只是

import cv2
sscv = cv2.imread('/home/myuser/Pictures/Workspace 1_007.png',0)
cv2.imshow("screenshot image", sscv)
cv2.waitKey(0)

显示的错误是

    /home/mallory/workspace/python-autoaction/test/test_xutils.py:11: Warning: cannot register existing type 'GdkDisplayManager'
      cv2.imshow("screenshot image", sscv)
    /home/mallory/workspace/python-autoaction/test/test_xutils.py:11: Warning: g_once_init_leave: assertion 'result != 0' failed
      cv2.imshow("screenshot image", sscv)
    /home/mallory/workspace/python-autoaction/test/test_xutils.py:11: Warning: g_object_new: assertion 'G_TYPE_IS_OBJECT (object_type)' failed
      cv2.imshow("screenshot image", sscv)
    /home/mallory/workspace/python-autoaction/test/test_xutils.py:11: Warning: invalid (NULL) pointer instance
      cv2.imshow("screenshot image", sscv)
    /home/mallory/workspace/python-autoaction/test/test_xutils.py:11: Warning: g_signal_connect_data: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed
      cv2.imshow("screenshot image", sscv)
    /home/mallory/workspace/python-autoaction/test/test_xutils.py:11: Warning: cannot register existing type 'GdkDisplay'
      cv2.imshow("screenshot image", sscv)
    /home/mallory/workspace/python-autoaction/test/test_xutils.py:11: Warning: g_type_register_static: assertion 'parent_type > 0' failed
      cv2.imshow("screenshot image", sscv)
    Segmentation fault (core dumped)

使用

Ubuntu 14.0.4 Python 2.7.6 cv2 2.4.8

这有什么问题?

【问题讨论】:

FWIW 在 ubuntu 14.04 上使用 '3.0.0-dev' 可以正常工作 我在这里使用 ubuntu 14.04 也看到了类似的未解决错误***.com/questions/26100516/…,该代码对我来说也可以正常工作 你是如何安装 OpenCV 的? 【参考方案1】:

尝试再次安装这些依赖项,如果问题仍然存在,请告诉我

sudo apt-get -qq install libopencv-dev build-essential checkinstall cmake pkg-config yasm libjpeg-dev libjasper-dev libavcodec-dev libavformat-dev libswscale-dev libdc1394-22-dev libxine-dev libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev libv4l-dev python-dev python-numpy libtbb-dev libqt4-dev libgtk2.0-dev libfaac-dev libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev libtheora-dev libvorbis-dev libxvidcore-dev x264 v4l-utils ffmpeg cmake qt5-default checkinstall

然后就可以了

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_OPENGL=ON ..
make -j2
sudo checkinstall
sudo sh -c 'echo "/usr/local/lib" > /etc/ld.so.conf.d/opencv.conf'
sudo ldconfig

【讨论】:

以上是关于opencv-python 中的 imshow 不起作用的主要内容,如果未能解决你的问题,请参考以下文章

opencv-python imshow在mac中给出错误

以代码为基础的opencv-python学习 图像模糊

OpenCV-Python基础教程4-颜色空间转换

OpenCV-Python 视频读取

OpenCV-Python计算机视觉函数

[C#][原创]pythonnet调用opencv-python图像显示