El cambio de tamaño de la imagen se refiere a la escala de las imágenes. El escalado resulta útil en muchas aplicaciones de procesamiento de imágenes y de aprendizaje automático. Ayuda a reducir la cantidad de píxeles de una imagen y eso tiene varias ventajas, por ejemplo, puede reducir el tiempo de entrenamiento de una red neuronal cuanto mayor es la cantidad de píxeles en una imagen, mayor es la cantidad de Nodes de entrada que a su vez aumenta la complejidad del modelo.
También ayuda a hacer zoom en las imágenes. Muchas veces necesitamos cambiar el tamaño de la imagen, es decir, reducirla o ampliarla para cumplir con los requisitos de tamaño. OpenCV nos proporciona varios métodos de interpolación para cambiar el tamaño de una imagen.
Elección del método de interpolación para cambiar el tamaño:
- cv2.INTER_AREA: Esto se usa cuando necesitamos reducir una imagen.
- cv2.INTER_CUBIC: Esto es lento pero más eficiente.
- cv2.INTER_LINEAR: Esto se usa principalmente cuando se requiere hacer zoom. Esta es la técnica de interpolación predeterminada en OpenCV.
A continuación se muestra el código para cambiar el tamaño.
Python3
import cv2 import numpy as np import matplotlib.pyplot as plt image = cv2.imread("C://gfg//tomatoes.jpg", 1) # Loading the image half = cv2.resize(image, (0, 0), fx = 0.1, fy = 0.1) bigger = cv2.resize(image, (1050, 1610)) stretch_near = cv2.resize(image, (780, 540), interpolation = cv2.INTER_NEAREST) Titles =["Original", "Half", "Bigger", "Interpolation Nearest"] images =[image, half, bigger, stretch_near] count = 4 for i in range(count): plt.subplot(2, 2, i + 1) plt.title(Titles[i]) plt.imshow(images[i]) plt.show()
Producción:
Nota: Una cosa a tener en cuenta al usar la función cv2.resize() es que la tupla pasada para determinar el tamaño de la nueva imagen ((1050, 1610) en este caso) sigue el orden (ancho, alto) a diferencia de esperado (alto, ancho).
Publicación traducida automáticamente
Artículo escrito por Sourabh_Sinha y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA