这是我得到的确切错误。我的操作系统是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行,in cv2.imshow('图像',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或configure脚本
我的代码是:
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,然后使用命令
安装了opencvconda install -c conda-forge opencv
我安装了libgtk2.0-dev就像错误说的那样,但我仍然得到同样的错误。 任何帮助将非常感激。我已经试图解决这个问题几个小时了。
答案 0 :(得分:43)
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
自己构建库,或者像这样使用。
答案 1 :(得分:19)
我不得不处理几次这个问题,到目前为止一直是这样:
conda remove opencv
conda install -c menpo opencv
pip install --upgrade pip
pip install opencv-contrib-python
答案 2 :(得分:9)
如果您在任何时间点使用opencv-python pip包安装OpenCV,请注意以下注释,取自https://pypi.python.org/pypi/opencv-python
重要提示 MacOS和Linux车轮目前存在一些局限性:
- 不支持视频相关功能(不使用FFmpeg编译)
- 例如
cv2.imshow()
将无效(未使用GTK + 2.x或Carbon支持编译)
另请注意,要从其他来源安装,首先必须删除opencv-python包
答案 3 :(得分:3)
对我来说(Arch Linux,Anaconda with Python 3.6),从建议的频道menpo
或loopbio
进行安装并没有改变任何内容。我的解决方案(见related question)是
sudo pacman -Syu pkg-config
),conda remove opencv
)和conda install -c conda-forge opencv
) conda list
现在返回opencv 3.3.0 py36_blas_openblas_203 [blas_openblas] conda-forge
,并且使用cv2启动的所有窗口都正常运行。
答案 4 :(得分:2)
我遵循了本教程(OpenCV GTK+2.x error)并执行了以下操作。它对我有用:
.so
答案 5 :(得分:2)
请注意,它正在抱怨libgtk2.0-dev和pkg-config。这是解决方案。卸载现有的openCV安装。
conda删除opencv3
在安装opencv之前安装这些软件包 conda install gtk2 pkg-config
现在从menpo安装opencv conda install -c https://conda.anaconda.org/menpo opencv3
答案 6 :(得分:2)
工作方法(于2019年4月19日测试)
这些错误是由于conda而发生的。打开 Anaconda提示,并使用以下命令删除conda opencv(如果已安装)
如果您拥有conda env,请首先将其激活
2019
conda activate myenv
通过pip安装opencv后(单击here以获取正式信息)
conda remove opencv
如果尚未安装pip,请使用
pip install opencv-contrib-python
命令。
答案 7 :(得分:1)
我用pip来安装 opencv-python 。 (https://pypi.org/project/opencv-python/)
1)从conda中删除opencv包:
>> conda remove opencv
2)在你的env.yml文件中添加:
...
dependencies:
- numpy
- pytest
...
- pip:
- opencv-python
答案 8 :(得分:1)
我的 ubuntu 18.04 机器在 AWS 上运行。 对我有帮助的是 (link):
pip uninstall opencv-python
pip install opencv-python==4.1.2.30
之后我得到了错误:" : cannot connect to X server "
最后,我设法通过安装 MobaXTerm(参考 here)使其工作。
仅供参考:
ASSERT: “false” in file qasciikey.cpp, line 501
或类似操作时也遇到错误 cv.imshow()
,请转到 MobaXTerm 界面,单击设置 -> 配置 -> X11,取消选中“Unix-compatible keyboard”(参考here)。答案 9 :(得分:0)
从anaconda =
中删除opencvconda删除opencv
然后,使用pip重新安装opencv:
pip install opencv
这对我有用。
答案 10 :(得分:0)
我的环境是Win10,我将anaconda路径添加到环境变量的PATH”中,cv2.imshow起作用
C:\Users\user\Anaconda3
C:\Users\user\Anaconda3\Scripts
然后重新启动Windows
答案 11 :(得分:0)
尽管已经回答了这个问题,但对我来说,conda-forge解决方案与黑客合作。 我的工作站是centos 6计算机,我使用conda虚拟环境(anaconda 2)。创建环境
conda create --name test python=2.7
然后将其激活
conda activate test
现在从conda-forge安装opencv
conda install -c conda-forge opencv
现在在此环境中安装matplotlib(这是hack 1)
conda install matplotlib
现在让我们检查显示是否有效。在终端中,激活测试环境并启动python。在解释器中,
import cv2
import matplotlib.pyplot as plt # hack 2
img = cv2.imread('your_image_file',0)
cv2.imshow('image',img)
这应该弹出一个显示图像的窗口。我没有进一步研究如何解决这个问题。
注释1 :您可能会看到一些与xkb相关的错误,然后在.bashrc文件中添加
导出QT_XKB_CONFIG_ROOT = / usr / share / X11 / xkb
注释2 :您可能会看到一些与XDG_RUNTIME_DIR相关的错误,然后在.bashrc文件中也添加
导出XDG_RUNTIME_DIR = .tmp / myruntime 并通过 mkdir -p .tmp / myruntime
定义myruntime答案 12 :(得分:0)
如果您在docker内部运行,则可能会遇到此错误。解决方案请卸载当前版本并安装无头机器人
pip install opencv-python == 3.4.5.20
pip install opencv-contrib-python == 3.4.5.20
如果要写入图像并显示它,则可能需要以下内容
apt-get更新&& apt-get安装-y libglib2.0-0 libsm6 libxext6 libxrender1
如果您想知道如何从Docker获取显示,可以通过主机中的X11
答案 13 :(得分:0)
对于我的系统(Ubuntu 18.04),以下工具正在运行。
首先:
sudo apt-get更新-y
sudo apt-get install -y libgtk2.0-dev
conda create -n py35 python = 3.5
conda激活py35
然后配置环境
pip安装Cython
pip install scikit-build
conda install -c anaconda cmake
pip安装dlib
pip安装face_recognition
pip install imutils
最后:
pip安装opencv-contrib-python
答案 14 :(得分:0)
轻松使用Ubuntu 18.04。它对我有用:
删除opencv-python:
pip3 uninstall opencv-python
然后重新安装opencv-python:
pip3 install opencv-python
问题已解决。
答案 15 :(得分:0)
我能够通过安装以前版本的 opencv-contrib-python
来修复它。
我使用的是 Ubuntu 18