Reputation: 755
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.
Upvotes: 61
Views: 114568
Reputation: 1
All you have to do is download some libraries for opensuse particularly the gtk libraries so as the video explains all you need to do is
sudo zypper install libgthread-2_0-0 for 64 bit systems
sudo zypper install libgthread-2_0-0-32bit for 32 bit systems
I used this video to fix the problem on opensuse How to fix opencv-python / cv2 Not Working on Opensuse tumbleweed/leap
How to fix opencv-python / cv2 Not Working on Opensuse tumbleweed/leap
Upvotes: 0
Reputation: 4006
Working method (tested on April 19, 2019)
conda remove opencv
If you have conda env, firstly activate it conda activate <your_env_name>
pip install opencv-contrib-python
If pip haven't installed, use conda install pip
command.
Upvotes: 13
Reputation: 618
I was able to fix it by installing a previous version of opencv-contrib-python
.
I'm using Ubuntu 18
Upvotes: 0
Reputation: 295
My ubuntu 18.04 machine is running at AWS. What helped me was (link):
pip uninstall opencv-python
pip install opencv-python==4.1.2.30
Afterwards I got the error: " : cannot connect to X server "
Finally, I managed to make it work by installing MobaXTerm (reference here).
FYI:
ASSERT: “false” in file qasciikey.cpp, line 501
once cv.imshow()
or similar is executed, go to the MobaXTerm interface, click Settings -> Configuration -> X11, uncheck "Unix-compatible keyboard" (reference here).Upvotes: 2
Reputation: 1
Easy with Ubuntu 18.04. It works for me:
Remove opencv-python:
pip3 uninstall opencv-python
And then re-install opencv-python:
pip3 install opencv-python
Issue was resolved.
Upvotes: 0
Reputation: 1
For my system (Ubuntu 18.04) the following was working.
First:
sudo apt-get update -y
sudo apt-get install -y libgtk2.0-dev
conda create -n py35 python=3.5
conda activate py35
Then configure the environment
pip install Cython
pip install scikit-build
conda install -c anaconda cmake
pip install dlib
pip install face_recognition
pip install imutils
And finally:
pip install opencv-contrib-python
Upvotes: 0
Reputation: 3454
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
Upvotes: 85
Reputation: 6254
If you are running inside docker then you may get this error.Solution uninstall current and install the headless one
pip install opencv-python==3.4.5.20
pip install opencv-contrib-python==3.4.5.20
If you are writing to the image and displaying it, you may need the following
apt-get update && apt-get install -y libglib2.0-0 libsm6 libxext6 libxrender1
And if you are wondering how to get the display from Docker, it is possible via X11 in your host
Upvotes: 2
Reputation: 161
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
Upvotes: 0
Reputation: 1
My Envirment is Win10, and I added the anaconda path to the environment variables's PATH’,the cv2.imshow worked
C:\Users\user\Anaconda3
C:\Users\user\Anaconda3\Scripts
Then restart the windows
Upvotes: 0
Reputation: 491
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
Upvotes: 38
Reputation: 45
Remove opencv from anaconda=
conda remove opencv
Then, reinstall opencv using pip:
pip install opencv
This is working for me.
Upvotes: 0
Reputation: 4773
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
Upvotes: 1
Reputation: 1013
For me (Arch Linux, Anaconda with Python 3.6), installing from the suggested channels menpo
or loopbio
did not change anything. My solution (see related question) was to
sudo pacman -Syu pkg-config
),conda remove opencv
) andconda install -c conda-forge opencv
)conda list
now returns opencv 3.3.0 py36_blas_openblas_203 [blas_openblas] conda-forge
and all windows launched using cv2 are working fine.
Upvotes: 4
Reputation: 315
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
Upvotes: 2
Reputation: 1864
If you installed OpenCV using the opencv-python pip package at any point in time, be aware of the following note, taken from 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)
Also note that to install from another source, first you must remove the opencv-python package
Upvotes: 13
Reputation: 2642
I followed this tutorial (OpenCV GTK+2.x error) and did the following. It worked for me :
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 ..
Upvotes: 3