python - 在 Ubuntu 16 上安装 openCV 时如何在 cmake 中包含 libgtk2.0-dev 和 pkg-config

标签 python opencv

我知道有很多关于如何安装 OpenCV-Python 的主题。 我浏览了其中的许多内容,它们帮助我解决了在 Ubuntu 上安装 openCV-python 的一些问题

我设法安装了 openCV,但无法正常工作。当我尝试运行时:

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

我得到一个错误

error: /io/opencv/modules/highui/src/window.cpp:583: error: (-2) The function is not implemented. Rebuilt 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 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('图像',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 and Linux wheels have some limitations:

video related functionality is not supported (not compiled with FFmpeg) for example cv.imshow() will not work (not compiled with GTK+ 2.x or Carbon support)


已解决

我设法让它发挥作用。

问题是我混合了多个包,它们可能不兼容。 我第一次尝试安装 OpenCV 我使用了 opencv-python 包。不行,于是尝试用python搭建官方的opencv。没有任何效果。

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

最佳答案

我觉得cmake在场景上太复杂了。我在 Ubuntu 18.04 上删除 OpenCV 3.4.2 并安装 OpenCV 4.2 后解决了这个问题

  1. 命令如下。

    $ conda 删除 opencv $ conda install -c menpo opencv $ pip 安装 -- 升级 pip $ pip 安装 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

干杯

关于python - 在 Ubuntu 16 上安装 openCV 时如何在 cmake 中包含 libgtk2.0-dev 和 pkg-config,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42843316/

相关文章:

python - Twisted - 在不重新加载的情况下更新网页内容

python - Cv2所有面部特征检测

c++ - 视频中的Opencv马赛克

ios - OpenCV : wrapPerspective on whole image

python - Kivy 弹出窗口在单独的线程中运行

python - Pytest 不收集静态方法

python - 如何在 Python 中打印负零

python - 使用 numpy 进行多元多项式回归

c++ - 为 Windows 10 通用应用构建 OpenCV

Java Netbeans 显示 opencv3 错误 "Error: Could not find or load main class library"