Traducción de imágenes usando OpenCV | Python

La traducción se refiere al desplazamiento rectilíneo de un objeto, es decir, una imagen de un lugar a otro. Si conocemos la cantidad de desplazamiento en la dirección horizontal y vertical, digamos (tx, ty), entonces podemos hacer una array de transformación, por ejemplo,   \begin{bmatrix}  1 & 0 & tx \\ 0 & 1 & ty \end{bmatrix}
donde tx denota el desplazamiento a lo largo del eje x y ty denota el desplazamiento a lo largo del eje y, es decir, el número de píxeles por los que necesitamos desplazarnos en esa dirección.
Ahora, podemos usar la cv2.wrapAffine()función para implementar estas traducciones. Esta función requiere una array de 2×3. La array numpy debe ser de tipo flotante.

A continuación se muestra el código de Python para la traducción de imágenes:

import cv2
import numpy as np
  
image = cv2.imread('C:\\gfg\\tomatoes.jpg')
  
# Store height and width of the image
height, width = image.shape[:2]
  
quarter_height, quarter_width = height / 4, width / 4
  
T = np.float32([[1, 0, quarter_width], [0, 1, quarter_height]])
  
# We use warpAffine to transform
# the image using the matrix, T
img_translation = cv2.warpAffine(image, T, (width, height))
  
cv2.imshow("Originalimage", image)
cv2.imshow('Translation', img_translation)
cv2.waitKey()
  
cv2.destroyAllWindows()

Producción:

Las ventajas/aplicaciones de la traducción de imágenes son:

  • Ocultar una parte de la imagen
  • Recortar una imagen
  • Desplazamiento de una imagen
  • Animar una imagen usando traducciones de imágenes en bucle.

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 *