在Ubuntu 16

时间:2017-03-16 19:34:55

标签: python opencv

我知道有很多关于如何安装OpenCV-Python的主题。 我查了很多,他们帮我解决了在Ubuntu上安装openCV-python的一些问题

我设法安装了openCV,但工作不正常。当我尝试跑步时:

import numpy
import cv2
img= cv2.imread('image.png',0)
cv2.imshow('image',img)

我收到错误

  

错误:/io/opencv/modules/highui/src/window.cpp:583:错误:( - 2)   功能未实现。使用Windows,GTK +重建库   2.x或碳支持。如果您使用的是Ubuntu或Debian,请安装libgtk2.0-dev和pkg-config,然后重新运行cmake或配置脚本   function cvSowImage

我该怎么做?我怀疑我应该重复cmake并以某种方式包含这两个库,但是如何?

编辑2017年3月19日 我按照以下说明进行操作:

  

http://milq.github.io/install-opencv-ubuntu-debian/

  

http://www.pyimagesearch.com/2016/10/24/ubuntu-16-04-how-to-install-opencv/

和来自:

  

http://docs.opencv.org/trunk/d7/d9f/tutorial_linux_install.html

每次我的脚本包括(我从IDLE运行):

cv2.imshow('image',img

我收到了同样的错误消息:

Traceback (most recent call last):

      File "/home/dcanals/Documents/test.py", line 5, in <module>
        cv2.imshow('image',img)
    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

我重新开始不明白发生了什么。我只想让openCV开始学习这个软件包。我安装了libgtk2和pkg-config。我一步一步地按照说明进行操作。为什么不工作?我现在该怎么做让python-openCV正常工作?谢谢

2017年3月21日编辑

我编辑这篇文章因为我认为我发现了非常重要的文档: https://pypi.python.org/pypi/opencv-python

关于'opencv-python'包的文章在哪里写的:

重要提示:

  

MacOS和Linux版本有一些限制:

     

不支持视频相关功能(未编译   FFmpeg)例如cv.imshow()不起作用(不用GTK +编译)   2.x或碳支持)

解决

我设法让它发挥作用。

问题是我有混合包,可能是不兼容的。 我第一次尝试安装OpenCV时使用的是opencv-python包。它没用,所以我尝试用python构建官方的opencv。没有任何效果。

解决方案是重新安装Ubuntu 16.10并从官方网站重新安装opencv。

7 个答案:

答案 0 :(得分:3)

conda install -c menpo opencv = 2.4.11

解决方案在这个主题中:OpenCV error: the function is not implemented

在Ubuntu 14.04上解决了我的问题。 虽然你需要一个Anaconda2才能使用它。 但是一旦你拥有了include和libs,就可以将它们拿出来并与你的程序一起使用。

答案 1 :(得分:2)

我认为cmake在这种情况下太复杂了。在删除OpenCV 3.4.2并在Ubuntu 18.04上安装OpenCV 4.2之后,我已经解决了该问题。

  1. 执行以下命令。

    $ conda删除opencv $ conda install -c menpo opencv $ pip install-升级pip $ pip install opencv-contrib-python

  2. 在终端中检查版本。

打开Python界面:

>>> import cv2

>>> print(cv2.getBuildInformation())

General configuration for OpenCV 4.2.0 ==============

Reference: https://pythonpedia.com/en/knowledge-base/40207011/opencv-not-working-properly-with-python-on-linux-with-anaconda--getting-error-that-cv2-imshow---is-not-implemented

欢呼

答案 2 :(得分:1)

我已经用最新的opencv-python遇到了这个问题。降级opencv-python对我有用。

pip uninstall opencv-python
pip install opencv-python==4.0.1.23

答案 3 :(得分:0)

opencv安装pip解决了我的问题:

pip install opencv-python

但是实际上,最好使用conda

安装它

答案 4 :(得分:0)

我刚到这里寻找相同的答案...简单的解决方案 1.安装libgtk2.0-dev 2.重新编译并重新安装opencv

我正在使用opencv 3.4.6,并且正在从源代码构建它。卸载它很重要,您使用

sudo进行卸载

从与您进行make安装相同的构建目录。我不需要更改我的cmake文件中的任何内容。

答案 5 :(得分:0)

我遇到了同样的问题,花了几天的时间挠头寻找合适的解决方案。我确实找到了解决方案,但在让我先回答您的问题之前。

  

我该怎么做?我怀疑我应该重复cmake并以某种方式包括这两个   库,但是如何?

pkg-config::您不必在cmake中包括“ pkg-config”。

[如果您是像我这样的新手,“ pkg-config”提供了编译程序并将其链接到库的必要详细信息。此元数据存储在pkg-config文件中(例如,后缀为* .pc的文件,位于/usr/lib/pkgconfig目录中)。如果系统没有pkg-config,则可以使用sudo apt-get install pkg-config]

从终端安装

libgtk2.0-dev::在重新运行cmake时使用cmake -D WITH_GTK=ON ..进行配置。如果您的系统中没有libgtk,则可以使用sudo apt-get install libgtk2.0-dev

来安装它。

我的问题:我遇到的问题是,我同时配置了-D WITH_QT = ON-D WITH_GTK = ON。尽管我的系统中有libgtk,但由于某种原因它显示了以下错误消息:

  

安装libgtk2.0-dev和pkg-config,然后重新运行cmake

我的解决方案: 重新运行cmake时,我使用了QT而不是GTK。 在重新运行之前,我使用dpkg --purge libgtk2.0-dev删除了libgtk2.0-dev,然后使用make uninstall从构建目录中卸载了opencv。

接下来,使用sudo apt-get install libqt5-default安装了QT,并使用-D WITH_QT = ON-D WITH_GTK = OFF,最后是make install从opencv构建目录重新运行了cmake。你猜怎么了!它又恢复了功能!!但是具有与QT不同的GUI。

我认为,对于-D WITH_GTK = ON,也可以反之亦然,只需确保已在系统中正确安装libgtk2.0-dev。 [尽管出于某些原因,在我的情况下还是不起作用:(]

答案 6 :(得分:0)

安装libgtk2.0-dev和pkg-config文件解决了该错误。 (在Opencv4中测试)

您必须从OpenCV构建目录重新运行cmake。

sudo apt-get install pkg-config
sudo apt-get install libgtk2.0-dev