可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
I had installed OpenCV following these steps ().
After trying to compile one examples,i got this error :
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 cvNamedWindow, file /home/nick/.Apps/opencv/modules/highgui/src/window.cpp, line 516
terminate called after throwing an instance of 'cv::Exception'
what(): /home/nick/.Apps/opencv/modules/highgui/src/window.cpp:516: 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 cvNamedWindow
CMakeLists.txt
cmake_minimum_required(VERSION 2.8.4)
project(threadTest)
find_package( OpenCV REQUIRED )
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -Wall -Wextra -pthread")
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "/home/nick/ClionProjects/threadTest")
set(SOURCE_FILES main.cpp)
add_executable(threadTest ${SOURCE_FILES})
target_link_libraries( threadTest ${OpenCV_LIBS} )
How to solve it?
回答1:
First check whether libgtk2.0-dev is installed properly. If you have installed aptitude package manager, run the following:
sudo aptitude search libgtk2.0-dev
It should return like this:
i libgtk2.0-dev - development files for the GTK+ library
p libgtk2.0-dev:i386 - development files for the GTK+ library
You need to build the files once again.Locate your OpenCV folder. Create a new folder and name it as release. Enter into this folder. For example
cd /home/user_name/OpenCv
mkdir Release
cd Release
Now build using cmake with following command:
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 ..
Remember to put WITH_GTK=ON
during cmake.
After this step enter the command,
make
sudo make install
This should resolve your problem.If you have broken dependencies for libgtk2.0-dev, then install a fresh copy of libgtk2.0-dev using aptitude.
sudo aptitude install libgtk2.0-dev
回答2:
If you installed OpenCV using the opencv-python pip package, 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
To install OpenCV in Ubuntu I followed this guide, and it worked perfectly fine:
http://www.pyimagesearch.com/2016/10/24/ubuntu-16-04-how-to-install-opencv/
回答3:
In order to improve @Nic Szer's answer I want to explain how to fix this error on Mac OS in three simple steps.
Remove installed OpenCV version to avoid mess up later
pip3 uninstall opencv-python
Lower your python version to 3.5 (current version 3.6 has problems with conda which we will use to install OpenCV)
conda install python=3.5
Finally, use conda to install working version of OpenCV
conda install -c menpo opencv3
And then voila: OpenCV will start working on your Mac OS(Siera 10.12.4).
回答4:
@oxydron/Elliott Miller:
I have Ubuntu 16.04 LTS environment with gtk 3 pre installed.
I got the same error for Caffe build (master branch),
Try the following steps, may be it should work for you.
sudo apt-get install libgtk-3-dev
cmake .. (WITH_GTK=ON and other settings),
make
And bingo the error was gone... in my python caffe code
Please note:
The CMAKE configuration should reflect GTK+ 3.x instead of GTK+ 2.x
GUI:
-- QT: NO
-- GTK+ 3.x: YES (ver 3.18.9)
-- GThread : YES (ver 2.48.2)
-- GtkGlExt: NO
-- OpenGL support: NO
-- VTK support: NO
回答5:
I have the solved using Anaconda 3 installing on Ubuntu 16.04.
I have used pycharm editor for my python code.
I am using python 3.6 version.
I solved the issue using these processes.
IDEA: we need to install the package opencv-contrib-python package from the pycharm.
回答6:
For me (Arch Linux, Anaconda with Python 3.6), installing from the suggested channels menpo
or loopbio
did not change anything. My solution was to
- install pkg-config (
sudo pacman -Syu pkg-config
),
- remove opencv from the environment (
conda remove opencv
) and
- re-install opencv from the conda-forge channel (
conda 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.
回答7:
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
回答8:
I had the same problem, and fixed it by simply reinstalling opencv.
There is no need to uninstall it first.
回答9:
I tried several of the answers mentioned above the one that worked for me in ubuntu is mentioned in the following steps:
- Firstly, remove the current opencv package that is installed in your system by typing in the following command in the terminal
conda remove opencv
.
- If your python version is 3.6 or above then change it into the stable version which can be done by typing in
conda install python=3.5
.
- Later on install the opencv package again by giving the following input in terminal
conda install -c menpo opencv3
回答10:
In case what they mentioned above doesn't work, try:
pip install opencv-python
for python2, or
pip3 install opencv-python
for python3
回答11:
I was using windows OS . I have gone through many stuffs in order to sort this problem . At last i just reinstall the opencv and cmake and it worked without any error.
回答12:
I have fixed this issue by replacing
cvDestroyWindow("showImage");
by
cvDestroyWindow("ShowImage");