Cambio de tamaño de imagen usando OpenCV | Python

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *