![](/img/trans.png)
[英]libgtk2.0-dev and pkg-config error with Python 3.4.5
[英]How to include libgtk2.0-dev and pkg-config in cmake when installing openCV on Ubuntu 16
我知道有很多关于如何安装 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 或 Carbon 支持重建库。 如果您使用的是 Ubuntu 或 Debian,请安装 libgtk2.0-dev 和 pkg-config,然后重新运行 cmake 或在函数 cvSowImage 中配置脚本
我怎么做? 我怀疑我应该重复 cmake 并以某种方式在其中包含这两个库,但是如何呢?
编辑 2017 年 3 月 19 日我遵循了以下指示:
和
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 或 Carbon 支持编译)
解决了
我设法让它工作。
问题是我有一个混合的包,这可能是不兼容的。 我第一次尝试安装 OpenCV 时,我使用了 opencv-python 包。 它没有用,所以我尝试用python构建官方的opencv。 没有任何效果。
解决方案是重新安装 Ubuntu 16.10 并从官方站点重新安装 opencv。
conda install -c menpo opencv=2.4.11
解决方法在这个线程: OpenCV error: the function is not implementation
解决了我在 Ubuntu 14.04 上的问题。 尽管您需要有 Anaconda2 才能使用它。 但是一旦你有了包含和库,你就可以把它们取出来并在你的程序中使用它们。
用pip
安装opencv
解决了我的问题:
pip install opencv-python
我认为 cmake 在场景中太复杂了。 在 Ubuntu 18.04 上删除 OpenCV 3.4.2 并安装 OpenCV 4.2 后,我已经解决了这个问题
执行如下命令。
$ conda 删除 opencv $ conda install -c menpo opencv $ pip install --upgrade pip $ pip install opencv-contrib-python
在终端中检查版本。
打开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
干杯
我用最新的 opencv-python 遇到了这个问题。 降级 opencv-python 对我有用。
pip install opencv-python==4.0.1.23
或者
pip install opencv-python==4.0.0.21
我遇到了同样的问题,花了几天时间摸索着找到了合适的解决方案。 我确实找到了解决方案,但在此之前让我先回答您的问题。
我怎么做? 我怀疑我应该重复 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
,然后使用make uninstall
从构建目录中卸载了 opencv。
接下来,使用sudo apt-get install libqt5-default
cmake 从 opencv 构建目录使用-D WITH_QT = ON
和-D WITH_GTK = OFF
make install
-D WITH_GTK = OFF
,最后make install
。 你猜怎么着! 又恢复运行了!! 但使用与 QT 不同的 GUI。
在我看来,反之亦然也是可能的,使用-D WITH_GTK = ON
,只需确保您的系统中正确安装了libgtk2.0-dev
。 [由于某种原因在我的情况下不起作用:(]
我刚到这里寻找相同的答案...简单的解决方案 1. 安装 libgtk2.0-dev 2. 重新编译并重新安装 opencv
我正在使用 opencv 3.4.6 并且我正在从源代码构建它。 重要的是卸载它你使用
须藤使卸载
来自您执行 make install 的同一构建目录。 我不需要更改我的 cmake 文件中的任何内容。
安装 libgtk2.0-dev 和 pkg-config 文件解决了错误。 (在 Opencv4 中测试)
您必须从 OpenCV 构建目录重新运行 cmake。
sudo apt-get install pkg-config
sudo apt-get install libgtk2.0-dev
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.