OpenCV no funciona correctamente con python en Linux con anaconda. Obteniendo el error de que cv2.imshow() no está implementado
install opencv ubuntu (8)
1. La forma más fácil:
conda remove opencv
conda update conda
conda install --channel menpo opencv
o (para OpenCV 3.1):
conda install -c menpo opencv3
2. Y si no quieres hacer esto, puedes intentar usar matplotlib .
import cv2
import matplotlib.pyplot as plt
img = cv2.imread(''img.jpg'',0)
plt.imshow(img, cmap=''gray'')
plt.show()
3. O intente crear una biblioteca por su cuenta con la opción WITH_GTK=ON
, o algo así.
Este es el error exacto que estoy recibiendo. Mi sistema operativo es Ubuntu 16.10.
OpenCV Error: Error no especificado (la función no está implementada. Reconstruya la biblioteca con Windows, GTK + 2.x o Carbon. Si está en Ubuntu o Debian, instale libgtk2.0-dev y pkg-config, luego vuelva a ejecutar cmake o configurar script) en cvShowImage, archivo / feedstock_root/build_artefacts/work/opencv-3.1.0/modules/highgui/src/window.cpp, línea 545 Traceback (última llamada más reciente): Archivo "untitled.py", línea 7 , en cv2.imshow (''imagen'', img) cv2.error: /feedstock_root/build_artefacts/work/opencv-3.1.0/modules/highgui/src/window.cpp:545: error: (-2) La función es no se ha implementado. Reconstruye la biblioteca con Windows, GTK + 2.x o Carbon. Si está en Ubuntu o Debian, instale libgtk2.0-dev y pkg-config, luego vuelva a ejecutar cmake o configure el script en la función cvShowImage
mi código es:
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 es una imagen en el mismo directorio que el programa. Primero instalé anaconda con python 3.5, luego instalé opencv usando el comando
conda install -c conda-forge opencv
Instalé libgtk2.0-dev justo como decía el error, pero sigo recibiendo el mismo error. Cualquier ayuda sería muy apreciada. Llevo varias horas intentando resolver esto.
Eliminar opencv de anaconda =
conda eliminar opencv
Luego, reinstale opencv usando pip:
pip instalar opencv
Esto es trabajo para mí.
He tenido que lidiar con este problema un par de veces, esto es lo que ha funcionado constantemente hasta ahora:
conda remove opencv
conda install -c menpo opencv
pip install --upgrade pip
pip install opencv-contrib-python
Para mí (Arch Linux, Anaconda con Python 3.6), la instalación desde los canales sugeridos de menpo
o loopbio
no cambió nada. Mi solución (ver pregunta relacionada ) fue
- instala pkg-config (
sudo pacman -Syu pkg-config
), - eliminar opencv del entorno (
conda remove opencv
) y - reinstalar opencv desde el canal conda-forge (
conda install -c conda-forge opencv
)
conda list
ahora devuelve opencv 3.3.0 py36_blas_openblas_203 [blas_openblas] conda-forge
y todas las ventanas iniciadas con cv2 funcionan bien.
Seguí este tutorial ( error OpenCV GTK + 2.x ) e hice lo siguiente. Funcionó para mí:
- instala los paquetes: libgtk2.0-dev y pkg-config
- cd a tu directorio opencv
- Lanzamiento mkdir
- lanzamiento de cd
- Ejecute el comando:
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 ..
- hacer
- sudo make install
Si instaló OpenCV utilizando el paquete opencv-python pip en algún momento, tenga en cuenta la siguiente nota, tomada de https://pypi.python.org/pypi/opencv-python
NOTA IMPORTANTE Las ruedas MacOS y Linux tienen actualmente algunas limitaciones:
- la funcionalidad relacionada con el video no es compatible (no compilada con FFmpeg)
- por ejemplo,
cv2.imshow()
no funcionará (no compilado con GTK + 2.x o soporte de Carbon)
También tenga en cuenta que para instalar desde otra fuente, primero debe eliminar el paquete opencv-python
Tenga en cuenta que se está quejando de libgtk2.0-dev y pkg-config. Aquí está la solución. Desinstale su instalación existente de openCV.
conda eliminar opencv3
Instale estos paquetes antes de instalar opencv-conda install gtk2 pkg-config
Ahora instale opencv desde menpo conda instale -c https://conda.anaconda.org/menpo opencv3
Utilicé pip para instalar opencv-python . ( https://pypi.org/project/opencv-python/ )
1) Retire el paquete opencv de conda:
>> conda remove opencv
2) A su archivo env.yml agregue esto:
...
dependencies:
- numpy
- pytest
...
- pip:
- opencv-python