web-dev-qa-db-fra.com

OpenCV ne fonctionne pas correctement avec python sous Linux avec anaconda. Obtenir l'erreur que cv2.imshow () n'est pas implémenté

C'est l'erreur exacte que je reçois. Mon système d'exploitation est Ubuntu 16.10.

Erreur OpenCV: erreur non spécifiée (la fonction n'est pas implémentée. Reconstruisez la bibliothèque avec le support Windows, GTK + 2.x ou Carbon. Si vous êtes sous Ubuntu ou Debian, installez libgtk2.0-dev et pkg-config, puis exécutez cmake ou configure le script) dans cvShowImage, fichier/racine_de_feedstock/build_artefacts/work/opencv-3.1.0/modules/highgui/src/window.cpp, ligne 545 Traceback (appel le plus récent dernier): Fichier "untitled.py", ligne 7, dans cv2.imshow ('image', img) cv2.error: /feedstock_root/build_artefacts/work/opencv-3.1.0/modules/highgui/src/window.cpp:545: error: (-2) La fonction n'est pas implémenté. Reconstruisez la bibliothèque avec le support Windows, GTK + 2.x ou Carbon. Si vous êtes sur Ubuntu ou Debian, installez libgtk2.0-dev et pkg-config, puis relancez cmake ou configurez le script dans la fonction cvShowImage

mon code est:

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 est une image dans le même répertoire que le programme . J'ai d'abord installé anaconda avec python 3.5, puis j'ai installé opencv à l'aide de la commande 

conda install -c conda-forge opencv

J'ai installé libgtk2.0-dev comme indiqué par l'erreur, mais j'obtiens toujours la même erreur ... Toute aide serait grandement appréciée. J'essaie de résoudre ce problème depuis plusieurs heures.

24
Job Martinez

1.Le moyen le plus simple:

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

ou (pour OpenCV 3.1):

conda install -c menpo opencv3

2.Et si vous ne voulez pas faire cela, vous pouvez essayer d’utiliser matplotlib .

import cv2
import matplotlib.pyplot as plt

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

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

3.Ou essayez de créer votre propre bibliothèque avec l'option WITH_GTK=ON, ou quelque chose comme ça.

36
Alex Glinsky

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
12
Lawrence Amadi

Si vous avez installé OpenCV en utilisant le paquet pip opencv-python à tout moment, 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.

8
Nic Szer

Notez qu'il se plaint pour libgtk2.0-dev et pkg-config. Voici la solution. Désinstallez votre installation openCV existante. 

supprimer remove opencv3 

Installez ces paquets avant d’installer opencv - Conda install gtk2 pkg-config

Installez maintenant opencv depuis menpo Conda install -c https://conda.anaconda.org/menpo opencv3

3
user3177227

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 (voir question connexe ) é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.

3
F1iX

J'ai suivi ce tutoriel ( erreur OpenCV GTK + 2.x ) et fait ce qui suit. Cela a fonctionné pour moi:

  1. installer les paquets: libgtk2.0-dev et pkg-config
  2. cd dans votre répertoire opencv 
  3. libération de mkdir
  4. sortie cd
  5. Exécutez la commande: 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 ..
  6. make
  7. Sudo fait installer
2
Nitin

J'ai utilisé pip pour installer opencv-python. ( https://pypi.org/project/opencv-python/ )

1) Supprimez le paquet opencv de conda:

>> conda remove opencv

2) Ajoutez ceci à votre fichier env.yml:

...
dependencies:
  - numpy
  - pytest
  ...
  - pip:
    - opencv-python
1
Jodo

Supprimer l'opencv de anaconda =

enlever l'opencv

Ensuite, réinstallez opencv en utilisant pip:

pip install opencv

Cela fonctionne pour moi.

0
vlbthambawita