当前位置: 首页 > 知识库问答 >
问题:

OpenCV不能正常工作与蟒蛇Linux与蟒蛇。获取cv2.imshow()未实现的错误

孙嘉悦
2023-03-14

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

OpenCV错误:未指定的错误(函数未实现。使用Windows、GTK 2. x或Carbon支持重建库。如果你在Ubuntu或Debian上,安装libgtk2.0-dev和pkg-config,然后在cvShowImage中重新运行cmake或配置脚本),文件 /feedstock_root/build_artefacts/work/opencv-3.1.0/modules/highgui/src/window.cpp,第545行Traceback(最近的调用最后): File"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函数中重新运行cmake或配置脚本

我的代码是:

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正如错误所说,但我仍然得到同样的错误。任何帮助都将不胜感激。我已经努力解决这个问题几个小时了。

共有2个答案

陈业
2023-03-14

我不得不处理这个问题几次,这是迄今为止一直有效的:

conda remove opencv
conda install -c menpo opencv
pip install --upgrade pip
pip install opencv-contrib-python
蒋星驰
2023-03-14

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.或者尝试使用选项和_GTK=ON,或类似的smth,自行构建库。

更新-2019年6月18日

我得到了这个错误在我的Ubuntu(18.04.1 LTS)系统的openCV 3.4.2,因为方法调用cv2.imshow失败。我用的是蟒蛇。以下2个步骤帮助我解决:

conda remove opencv
conda install -c conda-forge opencv=4.1.0

如果您正在使用pip,您可以尝试

pip install opencv-contrib-python
 类似资料:
  • 我正在运行Ubuntu 18.04。 我使用mysql连接器-python连接Python到MySQL。 我使用的是Python 3.6.7,并且已经安装了mysql连接器-python。 我已经安装了mysql连接器-python-py3_8.0.13-1ubuntu18.10_all.deb. 在运行Python脚本时,mysql。连接器模块似乎加载正确,但脚本在碰到光标时失败。next()具

  • 假设我有一些资源,我想在用python编写的aws lambda中的不同请求之间共享。我应该如何实现这一点? 是否有“启动后”挂钩,或者我应该在第一次调用时惰性地创建资源?“延迟初始化”的缺点是,它意味着一些请求会随机变慢,因为您选择了一个消费者来承担启动成本。 此外…这些资源会在lambda可执行文件被“冻结”后幸存下来吗? 本页https://docs.aws.amazon.com/lambd

  • 我需要在我的中添加一个新的目录位置,但问题是我使用的是一个全新安装的系统(Linux),其中尚未定义任何。我读过并使用过,我认为我很了解它,但我不知道当没有存在时会发生什么。 我不能附加到不存在的东西上,但我希望当前发现的所有重要库都能正常工作,因此要小心,我在Python中使用了来获取所有标准值。然后我为定义了一个-变量,包括我刚刚找到的所有节点,以及我的新目录。但是哇,很多东西都停止工作了!P

  • 我已经为spyder ide安装了anaconda。但我有很多问题。 runfile('C:/Users/Berk DOĞUŞ/Spyder Projects/DogrusalRegresyon.py',wdir='C:/Users/Berk DOĞUŞ/Spyder Projects')回溯(最后一次调用): 文件“”,第1行,在runfile中('C:/Users/Berk DOĞUŞ/Spy

  • 我想定义一个返回树节点值列表的函数。列表按级别顺序排列(从上到下,从左到右),如果缺少孩子,则在其位置插入“无”。 这是二叉树实现

  • 我正在尝试使用本教程从一个使用selenium and beautiful soup的站点提取房地产列表信息:https://medium.com/@ben.sturm/scraping-house-listing-data-using-Selenium-and-Beautiful Soup-1CBB94BA9492 目的是在找到“下一页”按钮之前收集第一页的所有href链接,导航到下一页并收集该