web-dev-qa-db-fra.com

Erreur OpenCV GTK + 2.x

J'avais installé OpenCV en suivant ces étapes () . Après avoir essayé d'en compiler un, j'ai eu l'erreur 

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} )

Comment le résoudre?

12
Maxian Nicu

Commencez par vérifier si libgtk2.0-dev est correctement installé. Si vous avez installé aptitude package manager, lancez ce qui suit:

Sudo aptitude search libgtk2.0-dev

Il devrait revenir comme ça:

i  libgtk2.0-dev              - development files for the GTK+ library 
p  libgtk2.0-dev:i386         - development files for the GTK+ library

Vous devez reconstituer les fichiers.Localisez votre dossier OpenCV. Créez un nouveau dossier et nommez-le comme release. Entrez dans ce dossier. Par exemple 

cd /home/user_name/OpenCv
mkdir Release
cd Release

Construisez maintenant en utilisant cmake avec la commande suivante:

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 ..

N'oubliez pas de mettre WITH_GTK=ON pendant cmake. Après cette étape, entrez la commande, 

make
Sudo make install

Cela devrait résoudre votre problème. Si vous avez des dépendances brisées pour libgtk2.0-dev, installez une nouvelle copie de libgtk2.0-dev en utilisant aptitude. 

Sudo aptitude install libgtk2.0-dev
14
KiranCP

Si vous avez installé OpenCV en utilisant le paquet pip opencv-python, tenez compte de la remarque suivante, extraite de https://pypi.python.org/pypi/opencv-python

NOTE IMPORTANTE Les roues MacOS et Linux ont actuellement quelques limitations:

  • la fonctionnalité vidéo n'est pas prise en charge (non compilée avec FFmpeg)
  • par exemple, cv2.imshow() ne fonctionnera pas (non compilé avec GTK + 2.x ou support Carbon)

Notez également que pour installer à partir d'une autre source, vous devez d'abord supprimer le paquet opencv-python.

Pour installer OpenCV sous Ubuntu, j’ai suivi ce guide et cela a parfaitement fonctionné: http://www.pyimagesearch.com/2016/10/24/ubuntu-16-04-how-to-install-opencv/

7
Nic Szer

Afin d'améliorer la réponse de @Nic Szer , je ne voudrais pas expliquer comment corriger cette erreur sous Mac OS en trois étapes simples.

1. Supprimez la version OpenCV installée pour éviter de gâcher plus tard

pip3 uninstall opencv-python 

2. Réduisez votre version de python à la version 3.5 (la version 3.6 actuelle pose différents problèmes avec conda, que nous utiliserons pour installer OpenCV)

conda install python=3.5

3.Enfin, utilisez conda, pour installer la version de travail d'OpenCV

conda install -c menpo opencv3 

Et voila: OpenCV commencera à fonctionner sur votre Mac OS (Siera 10.12.4).

4
hris.to

J'ai résolu avec Anaconda 3 l'installation sur Ubuntu 16.04. 

J'ai utilisé l'éditeur pycharm pour mon code python.

J'utilise la version 3.6 de python.

J'ai résolu le problème en utilisant ces processus.

IDÉE: nous devons installer le paquet opencv-contrib-python à partir de pycharm.

 enter image description here

1
MK HASAN

@ oxydron/Elliott Miller: J'ai un environnement Ubuntu 16.04 LTS avec gtk 3 pré installé . J'ai la même erreur pour Caffe build (branche principale), Essayez les étapes suivantes, cela devrait marcher pour vous.

Sudo apt-get install libgtk-3-dev
cmake .. (WITH_GTK=ON and other settings), 
make

Et bingo, l’erreur avait disparu ... dans mon code python caffe

Notez s'il vous plaît: 

La configuration de CMAKE doit refléter GTK + 3.x au lieu de 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
1
SeCp

J'ai eu à traiter ce problème plusieurs fois, voici ce qui a fonctionné de manière constante jusqu'à présent:

conda remove opencv
conda install -c menpo opencv
pip install --upgrade pip
pip install opencv-contrib-python
0
mrk

J'ai essayé plusieurs des réponses mentionnées ci-dessus, celle qui a fonctionné pour moi à Ubuntu est mentionnée dans les étapes suivantes:

  1. Tout d’abord, supprimez le paquet opencv actuel installé sur votre système en tapant la commande suivante dans le terminal conda remove opencv.
  2. Si votre version de python est 3.6 ou supérieure, changez-la en version stable, en tapant conda install python=3.5.
  3. Ensuite, réinstallez le paquet opencv en donnant l’entrée suivante dans le terminal conda install -c menpo opencv3 
0
Abhishek Thombre

J'ai eu le même problème et je l'ai corrigé simplement en réinstallant opencv

Il n'est pas nécessaire de le désinstaller d'abord.

0
Z Cao

Pour moi (Arch Linux, Anaconda avec Python 3.6), l’installation à partir des canaux suggérés menpo ou loopbio n’a rien changé. Ma solution était de

  1. installer pkg-config (Sudo pacman -Syu pkg-config),
  2. supprimer l'opencv de l'environnement (conda remove opencv) et
  3. réinstallez opencv à partir du canal conda-forge (conda install -c conda-forge opencv)

conda list renvoie maintenant opencv 3.3.0 py36_blas_openblas_203 [blas_openblas] conda-forge et toutes les fenêtres lancées à l'aide de cv2 fonctionnent correctement.

0
F1iX

Si ce qu'ils ont mentionné ci-dessus ne fonctionne pas, essayez: 

pip install opencv-python

pour python2, ou 

pip3 install opencv-python

pour python3

0
Ahmed J.