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
Si da errores con gtk, trate de qt.
Si esto no funciona, hay una manera fácil de salir.
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 hacerldconfig
. 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:Si usted está usando pip, puede intentar
..
al final es incorrecta. Trate de.
o cambie el directorio abuild/
carpeta.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
También tenga en cuenta que para instalar desde otra fuente, primero debe quitar el opencv-paquete de python
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:cv.waitKey()
bien.error:TypeError: only size-1 arrays can be converted to Python scalars
cv2.imshow('Video', frame)
a su código?Gracias!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
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.
conda install opencv
. Si su conda es más, es posible que conda actualización de solucionarlo.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 .