Pie*_*rre 5 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 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)
Run Code Online (Sandbox Code Playgroud)
我收到了这个错误:
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
Run Code Online (Sandbox Code Playgroud)
所以,我安装了libgtk2.0-dev和pkg-config,但它没有解决问题.错误消息说运行cmake但在哪里?我的驱动器中没有CMakeLists.txt文件.
于是,我按照一些答案这个网站就像这一个:第一,我直接下载OpenCV的网站上,我运行cmake,make和make install.一切都还可以,但是当我使用Anaconda时我仍然有同样的错误但是当我从/ usr/bin/python打开Python时它又得到了另一条消息:
init done
opengl support available
Run Code Online (Sandbox Code Playgroud)
目前,我无法展示我的形象.我该怎么办?
在我的问题中,我有两个问题:
从 /usr/lib/python 中,我无法显示图像,但没有错误;
在 Anaconda 框架中,函数 imshow 没有实现。
对于第一个问题,这真的很简单,因为我没有正确阅读文档。它说,关于该cv2.waitKey()功能:
除了绑定键盘事件之外,该函数还处理许多其他 GUI 事件,因此您必须使用它来实际显示图像。
因此,我只需在 cv.imshow() 之后调用 cv2.waitKey(1) 即可显示图像。
对于第二个问题,
我使用手动方法来解决它(我不确定它是最好的,但它有效)。我把文件夹libopencv*中的所有文件替换/home/user/anaconda3/lib为文件夹libopencv*中的文件/usr/local/lib/。
之后,我必须使用“/usr/lib/i386-linux-gnu/libstdc++.so”文件更新“/home/user/anaconda3/lib/libstdc++.so”文件。
还有一个更干净的替代方案,但您应该重新启动安装过程才能做到这一点。当您运行该cmake命令时,参数-D CMAKE_INSTALL_PREFIX必须引用您的 anaconda 文件夹(对我来说,它是/home/pierre/anaconda3/)。之后,您只需像往常一样继续安装:
make
sudo make install
Run Code Online (Sandbox Code Playgroud)
现在,您可以将 OpenCV 与 Anacaonda 一起使用(但仅限于 Anaconda;如果加载 则不起作用/usr/bin/python)。
| 归档时间: |
|
| 查看次数: |
2502 次 |
| 最近记录: |