Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprende Transformaciones Básicas | Sección
Visión por Computadora Aplicada
Sección 1. Capítulo 4
single

single

bookTransformaciones Básicas

Desliza para mostrar el menú

Note
Definición

OpenCV (Open Source Computer Vision Library) es una potente biblioteca de código abierto diseñada para la visión por computadora en tiempo real y el procesamiento de imágenes. Proporciona herramientas para manipular imágenes, detectar objetos e incluso trabajar con modelos de aprendizaje profundo.

Lectura y visualización de una imagen

Antes de realizar transformaciones, primero cargue y visualice una imagen utilizando OpenCV. Ya hemos importado la foto. Pero en su computadora local, para una lectura y visualización sencilla de la foto, debe usar:

import cv2

image = cv2.imread('path/to/image.jpg')
cv2.imshow('Image title', image)

Redimensionamiento de una imagen

El redimensionamiento es útil para escalar imágenes hacia arriba o hacia abajo manteniendo la proporción (fx y fy), donde fx y fy definen el factor de escala para el ancho y la altura.

resized_image = cv2.resize(image, fx=0.7, fy=0.5)

También es posible especificar dimensiones exactas en píxeles (parámetro dsize), donde dsize es la forma de salida (new_y, new_x).

resized = cv2.resize(image, (100, 100))

Rotación de una imagen

Para rotar una imagen por un ángulo específico, se utilizan cv2.getRotationMatrix2D() y cv2.warpAffine().

  • cv2.getRotationMatrix2D(center, angle, scale) define la matriz de rotación;
  • cv2.warpAffine(image, matrix, output_size) aplica la transformación.
height, width = image.shape[:2]
centre = (width // 2, height // 2)

rotation_matrix = cv2.getRotationMatrix2D(centre, 180, 1)
rotated = cv2.warpAffine(image, rotation_matrix, (width, height))

Recorte de una imagen

El recorte extrae una región específica de una imagen. Se realiza utilizando el corte de NumPy. La sintaxis image[start_y:end_y, start_x:end_x] selecciona una región de interés.

cropped = image[450:500, 250:350]
Tarea

Swipe to start coding

Se proporciona una image:

  • Redimensionar la imagen a un tamaño de (100, 100) y almacenarla en la variable resized;
  • Extraer height y width de la imagen;
  • Calcular el center de height y width;
  • Crear la matriz de rotación y almacenarla en la variable rotation_matrix;
  • Rotar la imagen 90 grados en sentido horario y almacenarla en la variable rotated;
  • Recortar la región X: 250-600 y Y: 100-450 de la imagen y almacenarla en la variable cropped.

Solución

Switch to desktopCambia al escritorio para practicar en el mundo realContinúe desde donde se encuentra utilizando una de las siguientes opciones
¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 1. Capítulo 4
single

single

Pregunte a AI

expand

Pregunte a AI

ChatGPT

Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla

some-alt