Resumen Capitulo 2: OpenCV 3.x with Python By Example by Gabriel Garrido, Prateek Joshi
Enviado por jacax • 21 de Abril de 2022 • Resumen • 1.036 Palabras (5 Páginas) • 151 Visitas
[pic 1][pic 2]
[pic 3][pic 4][pic 5]
[pic 6][pic 7]
Introducción.
Este capitulo va a tratar de aplicar efectos visuales a las imágenes que queramos, desde detección de bordes que la imagen tenga, hasta filtros sencillos a la imagen como resaltar varios aspectos específicos de la imagen o darle énfasis a una determinada zona de la imagen.
Desarrollo.
# Andoni Cardenas Alonso 18310437
# Blurring
import cv2
import numpy as np
img = cv2.imread('images/c83ce45.png')
filas, columnas = img.shape[:2]
identidad_kernel = np.array([[0, 0, 0], [0, 1, 0], [0, 0, 0]])
kernel_3x3 = np.ones((3, 3), np.float32) / 9.0 # Divide by 9 to normalize the kernel
kernel_5x5 = np.ones((5, 5), np.float32) / 25.0 # Divide by 25 to normalize the kernel
cv2.imshow('Original', img)
[pic 8]
output = cv2.filter2D(img, -1, identidad_kernel) # (imagen a editar, para mantener la profundidad de la imagen original
cv2.imshow('Indentidad de kernel', output) # operacion a realizar)
[pic 9]
output = cv2.filter2D(img, -1, kernel_3x3)
cv2.imshow('Filtro 3x3', output)
[pic 10]
output = cv2.filter2D(img, -1, kernel_5x5) # Entre mayor sea la identidad de kerner
cv2.imshow('Filtro 5x5', output) # mas efecto blur obtienen las imágenes
[pic 11]
cv2.waitKey(0)
output = cv2.blur(img, (3,3)) # Para no escribir las identidades kernel individualmente tenemos esta funcion
cv2.imshow('Filtro 3x3 con funcion', output)
[pic 12]
cv2.waitKey(0)
cv2.destroyAllWindows()
# Motion blur (como si tomaramos la imagen en movimiento)
img = cv2.imread('images/c83ce45.png')
cv2.imshow('Original', img)
[pic 13]
tam = 15
kernel_motion_blur = np.zeros((tam, tam)) # Generar el Kernel
kernel_motion_blur[int((tam-1)/2), :] = np.ones(tam)
kernel_motion_blur = kernel_motion_blur / tam
output = cv2.filter2D(img, -1, kernel_motion_blur) # Aplicando el kernel a la imagen de entrada
cv2.imshow('Motion Blur', output)
[pic 14]
cv2.waitKey()
cv2.destroyAllWindows()
# Sharpening ("Afilar" la imagen)
img = cv2.imread('images/c83ce45.png')
cv2.imshow('Original', img)
[pic 15]
kernel_sharpen_normal = np.array([[-1,-1,-1], [-1,9,-1], [-1,-1,-1]]) # generamos los kernels
kernel_sharpen_agresivo = np.array([[1,1,1], [1,-7,1], [1,1,1]])
kernel_sharpen_3 = np.array([[-1,-1,-1,-1,-1],[-1,2,2,2,-1],[-1,2,8,2,-1],[-1,2,2,2,-1],[-1,-1,-1,-1,-1]]) / 8.0
...