OpenCV错误:该函数未实现

Dan*_*Dan 40 python opencv

我正在尝试让OpenCV在我的Ubuntu机器上使用Python.我已经下载并安装了OpenCV,但是当我尝试运行以下python代码时(应该从网络摄像头捕获图像并将它们推送到屏幕)

import cv

cv.NamedWindow("w1", cv.CV_WINDOW_AUTOSIZE)
capture = cv.CaptureFromCAM(0)

def repeat():
    frame = cv.QueryFrame(capture)
    cv.ShowImage("w1", frame)
    time.sleep(10)

while True:
    repeat()
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

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
Run Code Online (Sandbox Code Playgroud)

所以我按照他们的要求做:安装软件包,移动到我安装OpenCV的文件夹,然后运行

sudo make uninstall
make
sudo make install
Run Code Online (Sandbox Code Playgroud)

但是当我尝试运行python时,它给了我同样的错误.我错过了什么吗?

Fro*_*oyo 34

如果它给你gtk的错误,请尝试qt.

sudo apt-get install libqt4-dev
cmake -D WITH_QT=ON ..
make
sudo make install
Run Code Online (Sandbox Code Playgroud)

如果这不起作用,那么有一个简单的方法.

sudo apt-get install libopencv-*
Run Code Online (Sandbox Code Playgroud)

这将下载所有必需的依赖项(虽然您似乎已安装了所有必需的库,但仍然可以尝试一次).这可能会安装OpenCV 2.3.1(Ubuntu 12.04).但是,既然你已经在OpenCV 2.4.3中/usr/local/lib包含了这条路径/etc/ld.so.conf并且做了ldconfig.所以现在每当你使用OpenCV时,你都会使用最新版本.这不是最好的方法,但如果你仍然遇到qt或gtk的问题,试试一次.这应该工作.

  • 最后的`..`是不正确的.尝试`.`或将目录更改为`build /`文件夹. (3认同)

Nic*_*man 31

如果您在任何时间点使用opencv-python pip包安装OpenCV,请注意以下注释,取自https://pypi.python.org/pypi/opencv-python

重要说明 MacOS和Linux车轮目前存在一些限制:

  • 不支持视频相关功能(不使用FFmpeg编译)
  • 例如cv2.imshow()不起作用(不使用GTK + 2.x或Carbon支持编译)

另请注意,要从其他源安装,首先必须删除opencv-python包


小智 20

不要浪费你的时间试图解决这个问题,这是制造商自己明确的,所以,而不是cv2.imshow()使用这个:

img = cv2.imread('path_to_image')
plt.imshow(img, cmap = 'gray', interpolation = 'bicubic')
plt.xticks([]), plt.yticks([])  # to hide tick values on X and Y axis
plt.show()
Run Code Online (Sandbox Code Playgroud)

  • 互动呢?您也不能使用“cv.waitKey()”。 (3认同)

小智 17

这是因为“opencv-python-headless”。卸载它!

pip uninstall opencv-python-headless
Run Code Online (Sandbox Code Playgroud)

  • 我使用的是 Windows,只有这种方法对我有用。另请查看 Github:https://github.com/opencv/opencv-python/issues/18#issuecomment-752701731 (2认同)

Art*_*m S 8

我希望这个答案仍然有用,尽管问题似乎很老.

如果您安装了Anaconda,并且您的OpenCV不支持GTK +(如本例所示),您只需输入

conda install -c menpo opencv=2.4.11
Run Code Online (Sandbox Code Playgroud)

它将安装合适的OpenCV版本,不会产生上述错误.此外,如果有一个作为Anaconda的一部分,它将重新安装以前安装的OpenCV.

  • @JulianCienfuegos,我在其中一个虚拟环境中使用conda 4.3.11和python 3.5.2,并通过输入`conda install opencv`安装OpenCV 3.1.0.如果您的conda较旧,conda更新可能会修复它. (3认同)
  • 这对python 3.5.2不起作用.其他人也不推荐安装libopencv-*.我创建了一个2.7虚拟环境,这在该环境中工作.谢谢!但我希望一切都与python3一起工作...我们都应该在几年前升级lol (2认同)