Python 使用cv2.imshow时出错(未指定错误)
我跟随做角点检测,我必须使用cv2.imshow。这是我的密码:Python 使用cv2.imshow时出错(未指定错误),python,opencv,anaconda,Python,Opencv,Anaconda,我跟随做角点检测,我必须使用cv2.imshow。这是我的密码: import cv2 import numpy as np filename = '1.jpg' img = cv2.imread(filename) gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY) gray = np.float32(gray) dst = cv2.cornerHarris(gray,2,3,0.04) #result is dilated for marking t
import cv2
import numpy as np
filename = '1.jpg'
img = cv2.imread(filename)
gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
gray = np.float32(gray)
dst = cv2.cornerHarris(gray,2,3,0.04)
#result is dilated for marking the corners, not important
dst = cv2.dilate(dst,None)
# Threshold for an optimal value, it may vary depending on the image.
img[dst>0.01*dst.max()]=[0,0,255]
cv2.imshow('dst',img)
我得到了这个错误:
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 /root/mc-x86-2.7/conda-bld/opencv-3_1482254836916/work/opencv-3.1.0/modules/highgui/src/window.cpp, line 545
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
cv2.error: /root/mc-x86-2.7/conda-bld/opencv-3_1482254836916/work/opencv-3.1.0/modules/highgui/src/window.cpp:545: 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
目前,我无法展示我的形象。我必须做什么?在我的问题中,我有两个问题:
cv2.waitKey()
函数:
除了绑定键盘事件外,此函数还处理许多
其他GUI事件,因此必须使用它来实际显示图像
因此,我只需要在cv.imshow()之后调用cv2.waitKey(1)来显示图像
对于第二个问题
- 我用了一种手动方法来解决它(我不确定这是最好的,但它能工作)。我将
文件夹中的所有/home/user/anaconda3/lib
文件替换为libopencv*
文件夹中的/usr/local/lib/
文件libopencv*
- 在那之后,我必须用'/usr/lib/i386 linux gnu/libstdc++.so'文件更新'/home/user/anaconda3/lib/libstdc++.so'文件
还有一个更干净的替代方案,但您应该重新启动安装过程来完成。运行
cmake
命令时,参数-D cmake\u INSTALL\u PREFIX
必须指向您的anaconda文件夹(对我来说,它是/home/pierre/anaconda3/
)。之后,您只需像往常一样继续安装:
make
sudo make install
现在,您可以将OpenCV与Anacaonda一起使用(但只能与Anaconda一起使用;如果您加载
/usr/bin/python
,则它不起作用)。从conda环境中使用pip
安装cv2
,使用以下命令:
pip install opencv-python
pip提供的控制盘不包含此错误。您可以使用:conda install-c opencv安装opencv。它不需要建造,我已经做过了。它不起作用;我收到了相同的错误。运行CMake时是否启用了GTK?默认情况下,它可能被禁用。您可能会发现这有助于在从源设置时设置conda:
pip install opencv-python