Estoy tratando de conseguir OpenCV trabajando con Python en mi máquina de Ubuntu. He descargado e instalado OpenCV, pero cuando intento ejecutar el siguiente código en python (que debe capturar imágenes desde una cámara web y llevarlos a la pantalla)

import cv

cv.NamedWindow("w1", cv.CV_WINDOW_AUTOSIZE)
capture = cv.CaptureFromCAM(0)

def repeat():
    frame = cv.QueryFrame(capture)
    cv.ShowImage("w1", frame)
    time.sleep(10)

while True:
    repeat()

Me sale el siguiente 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

Así que puedo hacer lo que piden: instalar los paquetes, mover a la carpeta de donde he instalado OpenCV, y ejecutar

sudo make uninstall
make
sudo make install

Pero cuando intento ejecutar python, me da el mismo error. Me estoy perdiendo algo?

  • ¿has probado los nuevos cv2 módulo? También, ambos opencv y los enlaces python están en los repositorios, no hay necesidad de descargar o compilar nada
InformationsquelleAutor Dan | 2013-02-01

5 Comentarios

  1. 34

    Si da errores con gtk, trate de qt.

    sudo apt-get install libqt4-dev
    cmake -D WITH_QT=ON ..
    make
    sudo make install

    Si esto no funciona, hay una manera fácil de salir.

    sudo apt-get install libopencv-*

    Esto descargará todas las dependencias necesarias(aunque parece que tiene todas las bibliotecas necesarias instalado, pero todavía se podría tratar de una vez). Esto probablemente instalar OpenCV 2.3.1 (Ubuntu 12.04). Pero ya que usted tiene OpenCV 2.4.3 en /usr/local/lib incluir esta ruta en /etc/ld.so.conf y hacer ldconfig. Así que ahora, siempre que el uso de OpenCV, tendría que utilizar la versión más reciente. Esta no es la mejor manera de hacerlo, pero si usted todavía está teniendo problemas con qt o gtk, trate de una vez. Esto debería funcionar.

    Actualización – 18 de Junio de 2019

    Tengo este error en mi Ubuntu(18.04.1 LTS) sistema de openCV 3.4.2, como la llamada al método cv2.imshow estaba fallando (por ejemplo, en la línea de cv2.namedWindow(nombre) con el error: cv2.error: OpenCV(3.4.2). La función no está implementada.). Estoy usando anaconda. Sólo la por debajo de los 2 pasos me ayudaron a resolver:

    conda remove opencv
    conda install -c conda-forge opencv=4.1.0

    Si usted está usando pip, puede intentar

    pip install opencv-contrib-python
    • Apt-get, lo hizo por mí. Gracias!
    • sudo apt-get install libqt4-dev –> comando no se encuentra el error , estoy usando para la aplicación de iOS.
    • A continuación, estoy asumiendo que usted está en OS X, que no viene con apt-get. En su lugar, utilice homebrew
    • por alguna loca razón cuando intento ejecutar «cmake -D WITH_QT=ON» siempre agrega cmake «WITH_QT=» a mi camino. Esto es lo que dice: CMake Error: El origen de directorio «/home/Jake/Descargas/opencv-3.1.0/WITH_QT=ON» no existe.
    • este es el comando que me encontré mientras se está en el openCV carpeta de origen: cmake . -D WITH_QT=EN
    • Tal vez es diferente para OpenCV3
    • fue porque no me sumar los dos puntos en la final, sin embargo, ahora la ruta no es correcta ya: imgur.com/a/aXgAV Hace que el error sonar una campana?
    • El .. al final es incorrecta. Trate de . o cambie el directorio a build/ carpeta.
    • desinstalación de opencv-python y la construcción de la fuente me ayudó a resolver el problema
    • tengo la misma pregunta,@LandonZeKepitelOfGreytBritn ,cuando ejecuto ‘cmake -D WITH_QT=EN ..», dice » CMake Error: El origen de directorio «/home/pi/Documentos/proyecto/WITH_QT=ON» no existe. «Tienen que resolver este problema ,thx.
    • por su respuesta,quiero saber donde correr ‘cmake -D WITH_QT=A ..’ thx mucho.

  2. 31

    Si ha instalado OpenCV utilizando el opencv-python pip paquete en cualquier punto en el tiempo, ser conscientes de la siguiente nota, tomada de https://pypi.python.org/pypi/opencv-python

    NOTA IMPORTANTE
    MacOS y Linux ruedas tienen actualmente algunas limitaciones:

    • vídeo relacionado con la funcionalidad no es compatible (no compilado con FFmpeg)
    • por ejemplo cv2.imshow() no va a funcionar (no compilado con GTK+ 2.x o soporte de Carbono)

    También tenga en cuenta que para instalar desde otra fuente, primero debe quitar el opencv-paquete de python

  3. 19

    No pierdas tu tiempo tratando de resolver este problema, esto fue puesto de manifiesto por los propios fabricantes. En lugar de cv2.imshow() usar este:

    img = cv2.imread('path_to_image')
    plt.imshow(img, cmap = 'gray', interpolation = 'bicubic')
    plt.xticks([]), plt.yticks([])  # to hide tick values on X and Y axis
    plt.show()
    • gracias, su solución hace que el más sentido aquí, ¿por qué hay personas que optan por hacks?
    • ¿Qué acerca de la interacción? Usted no puede utilizar cv.waitKey() bien.
    • #cv2.imshow(‘Video’, de marco) img = cv2.imread(‘Video’,de marco) error:TypeError: only size-1 arrays can be converted to Python scalars
    • Cómo cambiar de cv2.imshow('Video', frame) a su código?Gracias!
    • Supongo que a usted le han descubierto ahora. Para aquellos prisa: # cv2.imshow («Caras», de marco) img = cv2.rectángulo(frame (x, y), (x + w, y + h), (255, 200, 0), 2) plt.imshow(img, cmap=’gris’) plt.show()
  4. 8

    Espero que esta respuesta es útil todavía, a pesar de problema parece ser bastante antiguo.

    Si usted tiene Anaconda instalado, y su OpenCV no admite GTK+ (como en este caso), usted puede simplemente escribir

    conda install -c menpo opencv=2.4.11

    Es conveniente instalar OpenCV versión que no produce un error mencionado. Además, se volverá a instalar previamente instalado OpenCV si hubo uno como parte de la Anaconda.

    • Este no me funciona con python 3.5.2. Tampoco la instalación libopencv-* recomendado por los demás. Hice un 2.7 entorno virtual, y esto funciona dentro de ese ambiente. Gracias! Pero todo lo que quiero trabajado con python3… todos estábamos supone para actualizar años lol
    • He conda 4.3.11 con python 3.5.2 en uno de sus entornos virtuales, y se instala de OpenCV 3.1.0 escribiendo conda install opencv. Si su conda es más, es posible que conda actualización de solucionarlo.
  5. 1

    Antes de instalar libgtk2.0-dev y
    pkg-config o libqt4-dev. Asegúrese de que ha desinstalado opencv. Se puede confirmar mediante la ejecución de importación cv2 en el interprete de python. Si se produce un error, a continuación, instalar los paquetes necesarios y vuelva a ejecutar cmake .

    • Puede usted por favor aclarar por qué es importante? ¿Por qué debemos desinstalar opencv primero?

Dejar respuesta

Please enter your comment!
Please enter your name here