linux python cv2,OpenCV在带有anaconda的Linux上与python无法正常工作。获得未实现cv2.imshow()的错误...

问题描述

这是我得到的确切错误。我的操作系统是Ubuntu 16.10。

OpenCV错误:未指定错误(该功能未实现。使用Windows,GTK + 2.x或Carbon支持重建库。如果您使用的是Ubuntu或Debian,请安装libgtk2.0-dev和pkg-config,然后安装re-run cmake或配置脚本)在cvShowImage中,文件/feedstock_root/build_artefacts/work/opencv-3.1.0/modules/highgui/src/window.cpp,第545行Traceback(最近一次调用最后一次):文件”untitled.py”,第7行,在cv2.imshow中(‘image’, img)cv2.error:/feedstock_root/build_artefacts/work/opencv-3.1.0/modules/highgui/src/window.cpp:545:错误:( – 2)该功能未实现。使用Windows,GTK + 2.x或Carbon支持重建库。如果您使用的是Ubuntu或Debian,请安装libgtk2.0-dev和pkg-config,然后在功能cvShowImage中安装或配置脚本re-run

我的代码是:

import numpy as np

import cv2

# Load an color image in grayscale

img = cv2.imread('0002.png',0)

cv2.imshow('image',img)

cv2.waitKey(0)

cv2.destroyAllWindows()

0002.png是与程序在同一目录中的图像。我首先使用python 3.5安装了anaconda,然后使用该命令安装了opencv

conda install -c conda-forge opencv

我安装了libgtk2.0-dev就像错误说的那样,但我仍然得到同样的错误。任何帮助将非常感激。我一直试图解决这个问题几个小时。

最佳解决方案

1.最简单的方法:

conda remove opencv

conda update conda

conda install --channel menpo opencv

或(对于OpenCV 3.1):

conda install -c menpo opencv3

2.如果你不想这样做,你可以尝试使用matplotlib。

import cv2

import matplotlib.pyplot as plt

img = cv2.imread('img.jpg',0)

plt.imshow(img, cmap='gray')

plt.show()

3.或者尝试使用选项WITH_GTK=ON自己构建库,或者像这样使用smth。

更新 – 2019年6月18日

我在我的Ubuntu(18.04.1 LTS)系统上遇到openCV 3.4.2的这个错误,因为对cv2.imshow的方法调用失败了。我正在使用anaconda。只需以下两个步骤帮助我解决:

conda remove opencv

conda install -c conda-forge opencv=4.1.0

如果你正在使用pip,你可以试试

pip install opencv-contrib-python

次佳解决方案

我不得不多次处理这个问题,这是到目前为止一直有效的方法:

conda remove opencv

conda install -c menpo opencv

pip install --upgrade pip

pip install opencv-contrib-python

第三种解决方案

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

IMPORTANT NOTE MacOS and Linux wheels have currently some limitations:

video related functionality is not supported (not compiled with FFmpeg)

for example cv2.imshow() will not work (not compiled with GTK+ 2.x or Carbon support)

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

第四种方案

对我来说(Arch Linux,Anaconda with Python 3.6),从建议的通道menpo或loopbio进行安装并没有改变任何东西。我的解决方案(见related question)是

安装pkg-config(sudo pacman -Syu pkg-config),

从环境中删除opencv(conda remove opencv)和

来自conda-forge通道的re-install opencv(conda install -c conda-forge opencv)

conda list现在返回opencv 3.3.0 py36_blas_openblas_203 [blas_openblas] conda-forge,并且使用cv2启动的所有窗口都正常工作。

第五种方案

工作方法(2019年4月19日测试)

这些错误是因为conda而发生的。使用以下命令打开Anaconda Prompt并删除co​​nda opencv(如果已安装)

If you have conda env, firstly activate it conda activate myenv

conda remove opencv

通过pip安装opencv后(单击here到官方信息)

pip install opencv-contrib-python

if pip haven’t installed, use conda install pip command.

第六种方案

我按照本教程(OpenCV GTK+2.x error)执行了以下操作。它对我有用:

安装包:libgtk2.0-dev和pkg-config

cd到你的opencv目录

mkdir发布

cd发布

运行命令:cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_TBB=ON -D BUILD_NEW_PYTHON_SUPPORT=ON -D WITH_V4L=ON -D INSTALL_C_EXAMPLES=ON -D INSTALL_PYTHON_EXAMPLES=ON -D BUILD_EXAMPLES=ON -D WITH_QT=ON -D WITH_GTK=ON -D WITH_OPENGL=ON ..

使

sudo make install

第七种方案

请注意,它正在抱怨libgtk2.0-dev和pkg-config。这是解决方案。卸载现有的openCV安装。

conda删除opencv3

在安装opencv-conda install gtk2 pkg-config之前安装这些软件包

现在从menpo conda install -c https://conda.anaconda.org/menpo opencv3安装opencv

参考资料

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值