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?
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
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/
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).
@ 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
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
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:
conda remove opencv
.conda install python=3.5
.conda install -c menpo opencv3
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.
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
Sudo pacman -Syu pkg-config
),conda remove opencv
) etconda 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.
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