tutorial - recorrer una imagen opencv python
OpenCV y Python-Imagen demasiado grande para mostrar (3)
Aunque esperaba una solución automática (ajustarse a la pantalla automáticamente), el cambio de tamaño resuelve el problema también.
import cv2
cv2.namedWindow("output", cv2.WINDOW_NORMAL) # Create window with freedom of dimensions
im = cv2.imread("earth.jpg") # Read image
imS = cv2.resize(im, (960, 540)) # Resize image
cv2.imshow("output", imS) # Show image
cv2.waitKey(0) # Display the image infinitely until any keypress
Tengo una imagen de 6400 × 3200, mientras que mi pantalla es de 1280 x 800. Por lo tanto, la imagen debe cambiar de tamaño para su visualización solamente. Estoy usando Python y OpenCV 2.4.9. Según la documentación de OpenCV ,
Si necesita mostrar una imagen que sea más grande que la resolución de pantalla, deberá llamar a Windows ("", WINDOW_NORMAL) antes de la imagen.
Eso es lo que estoy haciendo, pero la imagen no se ajusta a la pantalla, solo se muestra una parte porque es demasiado grande. También he intentado con cv2.resizeWindow, pero no hace ninguna diferencia.
import cv2
cv2.namedWindow("output", cv2.WINDOW_NORMAL) # Create window with freedom of dimensions
# cv2.resizeWindow("output", 400, 300) # Resize window to specified dimensions
im = cv2.imread("earth.jpg") # Read image
cv2.imshow("output", im) # Show image
cv2.waitKey(0) # Display the image infinitely until any keypress
En opencv, cv.namedWindow () simplemente crea un objeto de ventana según lo determine, pero sin cambiar el tamaño de la imagen original. Puede usar cv2.resize (img, resolución) para resolver el problema.
Esto es lo que muestra, una imagen de resolución 740 * 411.
image = cv2.imread("740*411.jpg")
cv2.imshow("image", image)
cv2.waitKey(0)
cv2.destroyAllWindows()
Aquí, muestra una imagen de resolución 100 * 200 después de cambiar el tamaño. Recuerde que la columna de uso del parámetro de resolución primero y luego es fila.
image = cv2.imread("740*411.jpg")
image = cv2.resize(image, (200, 100))
cv2.imshow("image", image)
cv2.waitKey(0)
cv2.destroyAllWindows()
Prueba esto:
image = cv2.imread("img/Demo.jpg")
image = cv2.resize(image,(240,240))
La image
ahora se redimensiona. Visualizándolo se renderizará en 240x240.