OpenCV not working properly with python on Linux w

2020-01-30 03:48发布

This is the exact error that I am getting. My OS is Ubuntu 16.10.

OpenCV Error: Unspecified error (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 cvShowImage, file /feedstock_root/build_artefacts/work/opencv-3.1.0/modules/highgui/src/window.cpp, line 545 Traceback (most recent call last): File "untitled.py", line 7, in cv2.imshow('image',img) cv2.error: /feedstock_root/build_artefacts/work/opencv-3.1.0/modules/highgui/src/window.cpp:545: 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

my code is:

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 is an image in the same directory as the program. I first installed anaconda with python 3.5, then I installed opencv by using the command

conda install -c conda-forge opencv

I installed libgtk2.0-dev just as the error said to but I still get the same error. Any help would be much appreciated. I've been trying to solve this for several hours.

12条回答
不美不萌又怎样
2楼-- · 2020-01-30 04:10

1.The easiest way:

conda remove opencv
conda update conda
conda install --channel menpo opencv

or (for OpenCV 3.1) :

conda install -c menpo opencv3

2.And if u don't want to do this, you can try to use matplotlib .

import cv2
import matplotlib.pyplot as plt

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

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

3.Or try to build library by your own with option WITH_GTK=ON , or smth like that.

Update - 18th Jun 2019

I got this error on my Ubuntu(18.04.1 LTS) system for openCV 3.4.2, as the method call to cv2.imshow was failing. I am using anaconda. Just the below 2 steps helped me resolve:

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

If you are using pip, you can try

pip install opencv-contrib-python
查看更多
够拽才男人
3楼-- · 2020-01-30 04:11
迷人小祖宗
4楼-- · 2020-01-30 04:13

Although this is already answered, for me conda-forge solution worked with a hack. My workstation is a centos 6 machine, and I use conda virtual environment (anaconda 2). Create an environment

conda create --name test python=2.7

and then activate it

conda activate test

Now install opencv from conda-forge

conda install -c conda-forge opencv

Now install matplotlib in this environment (and this is hack 1)

conda install matplotlib

Let's check now imshow works or not. In a terminal, activate test environment and start python. In the interpreter, do

import cv2
import matplotlib.pyplot as plt # hack 2
img = cv2.imread('your_image_file',0)
cv2.imshow('image',img)

This should pop up a window showing image. I did not further research how this solved the case.

Note 1: You may see some error related to xkb, then in your .bashrc file add

export QT_XKB_CONFIG_ROOT=/usr/share/X11/xkb

Note 2: You may see some error related to XDG_RUNTIME_DIR, then in your .bashrc file also add

export XDG_RUNTIME_DIR=.tmp/myruntime and define myruntime by mkdir -p .tmp/myruntime

查看更多
劳资没心,怎么记你
5楼-- · 2020-01-30 04:15

I have had to deal with this issue a couple of times, this is what has worked consistently thus far:

conda remove opencv
conda install -c menpo opencv
pip install --upgrade pip
pip install opencv-contrib-python
查看更多
啃猪蹄的小仙女
6楼-- · 2020-01-30 04:18

I used pip to install opencv-python. (https://pypi.org/project/opencv-python/)

1) Remove the opencv package from conda:

>> conda remove opencv

2) To your env.yml file add this:

...
dependencies:
  - numpy
  - pytest
  ...
  - pip:
    - opencv-python
查看更多
趁早两清
7楼-- · 2020-01-30 04:22

Notice that it is complaining for libgtk2.0-dev and pkg-config. Here is the solution. Uninstall your existing openCV installation.

conda remove opencv3

Install these packages before installing opencv- conda install gtk2 pkg-config

Now install opencv from menpo conda install -c https://conda.anaconda.org/menpo opencv3

查看更多
登录 后发表回答