Estoy usando opencv 2.4.2, python 2.7
El siguiente código crea una ventana con el nombre correcto, pero su contenido es solo en blanco y no muestra la imagen:
import cv2
img=cv2.imread('C:/Python27/03323_HD.jpg')
cv2.imshow('ImageWindow',img)
¿alguien sabe sobre este tema?
- La ruta de archivo puede estar equivocado. Windows utiliza \ no /. No estoy seguro de si OpenCV tolera / en Windows? Si la fijación de eso no ayuda, entonces asegúrese de que su imagen está en la ubicación correcta y es una imagen válida.
imshow()
sólo funciona conwaitKey()
:(Todo el mensaje de bucle necesarios para la actualización de la ventana está oculto allí.)
print img
imprime una correcta numpy matriz, noNoneType
objeto.He encontrado la respuesta que trabajó para mí aquí:
http://txt.arboreus.com/2012/07/11/highgui-opencv-window-from-ipython.html
Debe utilizar
cv2.waitKey(0)
después decv2.imshow("window",img)
. Sólo entonces se va a trabajar.Me enfrentamos al mismo problema. Traté de leer una imagen de INACTIVIDAD y trató de mostrar que el uso de
cv2.imshow()
, pero la ventana de la pantalla se congela y se muestrapythonw.exe
no responde al intentar cerrar la ventana.El post de abajo da una posible explicación de por qué esto está sucediendo
pythonw.exe no responde
«Básicamente, no hagas esto de INACTIVIDAD. Escribir un script y ejecutarlo desde el shell o la secuencia de comandos directamente si en windows, por nombrar una .pyw extensión y haga doble clic en él. Al parecer, hay un conflicto entre la INACTIVIDAD del propio bucle de eventos y a la de las herramientas gráficas (GUI).«
Cuando he usado
imshow()
en un script y ejecutarlo en lugar de ejecutarlo directamente a través de INACTIVIDAD, funcionó.Si se ejecuta en la consola de Python, hacer esto:
Si luego presione Entrar en la imagen, va a cerrar exitosamente la imagen y se puede proceder a la ejecución de otros comandos.
agregar
cv2.waitKey(0)
en la final.Para mí waitKey() con número mayor que 0 trabajado
Tienes todas las piezas necesarias en algún lugar en este hilo:
funciona bien para mí en RALENTÍ.
Si usted no ha hecho este trabajo, es mejor poner
en un archivo y ejecutarlo.
Si usted elige utilizar «cv2.waitKey(0)», asegúrese de que usted ha escrito «cv2.waitKey(0)» en lugar de «cv2.waitkey(0)», debido a que en minúsculas «k» puede congelar su programa también.
Tuve el mismo 215 error, que yo era capaz de superar al dar la ruta completa de la imagen, como en, C:\Folder1\Folder2\filename.ext
Este error se produce porque la imagen no se encuentra. Así que no es un error de la función imshow.