Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprende Transformaciones Básicas | Procesamiento de Imágenes con OpenCV
Fundamentos de Visión por Computadora

bookTransformaciones Básicas

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 y el procesamiento de imágenes en tiempo real. 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 se debe cargar y mostrar una imagen utilizando OpenCV. La foto ya ha sido importada. Sin embargo, en su computadora local, para leer y mostrar la foto de manera sencilla, debe utilizar:

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 relación de aspecto (parámetros 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 de 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 utiliza 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 a partir 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

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 2. Capítulo 1
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

Suggested prompts:

Can you explain what each OpenCV function does in these examples?

How do I choose the right parameters for resizing or rotating an image?

Can you show more examples of image transformations?

close

Awesome!

Completion rate improved to 3.45

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 y el procesamiento de imágenes en tiempo real. 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 se debe cargar y mostrar una imagen utilizando OpenCV. La foto ya ha sido importada. Sin embargo, en su computadora local, para leer y mostrar la foto de manera sencilla, debe utilizar:

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 relación de aspecto (parámetros 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 de 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 utiliza 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 a partir 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 2. Capítulo 1
single

single

some-alt