Transformaciones Básicas
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]
Swipe to start coding
Se proporciona una image
:
- Redimensionar la imagen a un tamaño de
(100, 100)
y almacenarla en la variableresized
; - Extraer
height
ywidth
de la imagen; - Calcular el
center
a partir deheight
ywidth
; - 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
¡Gracias por tus comentarios!
single
Pregunte a AI
Pregunte a AI
Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla
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?
Awesome!
Completion rate improved to 3.45
Transformaciones Básicas
Desliza para mostrar el menú
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]
Swipe to start coding
Se proporciona una image
:
- Redimensionar la imagen a un tamaño de
(100, 100)
y almacenarla en la variableresized
; - Extraer
height
ywidth
de la imagen; - Calcular el
center
a partir deheight
ywidth
; - 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
¡Gracias por tus comentarios!
single