Logo Studenta

Práctica 6

¡Estudia con miles de materiales!

Vista previa del material en texto

1 
 
INSTITUCIÓN: TECNOLÓGICO DE LA LAGUNA 
 
CARRERA: MECATRÓNICA 
 
MATERIA: SENSORES INTELIGENTES 
 
DOCENTE: HERRERA CARRILLO NAZLE EDITH 
 
ALUMNO: RODRÍGUEZ GUERRA EDUARDO ANTONIO 
 
MATRICULA: 19131252 
 
PRÁCTICA 6: DETECTOR DE BORDES DINÁMICO 
 
FECHA DE ENTREGA: 30 DE MARZO DE 2023 
 
2 
 
SOBEL XY 
 
 
 
 
PREWITT 
 
 
 
 
ORIGINAL 
 
 
 
 
3 
 
 
LAPLACIANO 
 
 
 
 
IMAGEN 
BINARIA 
 
 
 
 
CANNY 
 
 
 
 
4 
 
CONCLUSIÓN: AL CORRER EL PROGRAMA PARA OBTENER LAS IMÁGENES DE LOS TRES OBJETOS, DECIDÍ USAR FONDOS DIFERENTES, EN EL CASO 
DEL OBJETO LIBRE LO HICE EN EL SALÓN DE CLASE LO QUE ME PERMITIÓ TENER UN FONDO COMPLETAMENTE SOLIDO DE UN MISMO COLOR, QUE 
AYUDA A RESALTAR LOS OBJETOS DE LA IMAGEN, LAS OTRAS DOS FUERON TOMADAS EN MI CASA EN UN FONDO NO TAN SOLIDO Y CON DIFERENTES 
COLORES Y TONOS, BUSCANDO VER QUE OCURRIRÍA EN UNA APLICACIÓN MÁS USUAL. 
PARA EMPEZAR EL CAMBIO EN EL FONDO ALTERO DEMASIADO LA CALIDAD EN EL BORDE DEL SOBEL XY (LITERALMENTE NO MOSTRO EL RECIBIENTE), 
POR SI FUESE POCO DEFORMO LA SILUETA DE LA PUERTA QUE HABÍA EN EL FONDO, TODO MAL. 
EN EL PREWITT SE DESTACAN ALGUNOS DE LOS ELEMENTOS EN EL FONDO, Y SOBRE TODO EL OBJETO PARECE TENER UN BORDE ACEPTABLE. EN EL 
CASO DEL LAPLACIANO, ESTE NO BATALLO NOMÁS DESTACO LAS IMÁGENES PRINCIPALES Y SE OVIDO DE LOS ELEMENTOS EN EL FONDO. 
POR ÚLTIMO, TENEMOS AL BUEN CANNY EL QUE NUNCA FALLA, ESTA DETECCIÓN NO SOLO DESTACO BIEN TODOS LOS OBJETOS, LIBRETA, ROSTRO, 
RECIBIENTE, SI NO QUE SE DIO EL LUJO DE RESCATAR TODOS LOS BORDES DE LOS ELEMENTOS EN EL FONDO, Y DEJARLOS COMPLETAMENTE 
SÓLIDOS, ME GUSTO LO QUE OCURRIÓ EN LA VENTANA, PUES COMO ESTA ENTRANDO LUZ, EL BORDE RODEO EL CONTORNO DE LA LUZ, ES POR ESO 
QUE EL BORDE EN ESA ZONA ES REDONDO. 
YO DIRÍA QUE PARA TENER UN BORDE QUE REPRESENTE DE MANERA EXACTA EL OBJETO, DEBEMOS DE CUIDAR EL FONDO DEL OBJETO Y LA 
ILUMINACIÓN QUE TENGA, PUES EL BORDE DEL RECIBIENTE LE FALTO UNA PEQUEÑA PARTE EN EL CANNNY YA QUE TENIA LA LINTERNA JUSTO DE 
LADO INCLUSIVE EN LA IMAGEN ORIGINAL SE APRECIA EN COLOR BLANCO. 
EL TIEMPO DE PROCESAMIENTO ME PARECIÓ ACEPTABLE, RESPONDE RÁPIDO, AUN QUE PRESENTA DEMORAS AL PONER UN OBJETO ENCIMA DE OTRO 
YA QUE MEZCLA LOS CONTORNOS Y LOS OPTIMIZA EN FUNCIÓN A QUE TANTO SE MUEVAN. POR ÚLTIMO, DESTACAR QUE AUN NO LE ENCUENTRO 
APLICACIÓN A USAR PREWITT O SOBEL, YA QUE EL RUIDO QUE PRESENTAN ES MUY GRANDE. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5 
 
CODIGO EN PYTHON: 
import cv2 
import numpy as np 
#Leer una determinada imagen 
cap=cv2.VideoCapture(0) 
 
if not cap.isOpened(): 
 raise IOError("Cannot open webcam") 
while True: 
 ret,frame=cap.read() 
 frame=cv2.resize(frame,None,fx=.5,fy=.5,interpolation=cv2.INTER_AREA) 
 gray=cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) 
 (thresh,binaria)=cv2.threshold(gray,220,255,cv2.THRESH_BINARY|cv2.THRESH_OTSU) 
 
 
 #Sobel 
 sobelx=cv2.Sobel(binaria,cv2.CV_64F,1,0,ksize=3) 
 sobely=cv2.Sobel(binaria,cv2.CV_64F,0,1,ksize=3) 
 frame_sobel=sobelx+sobely 
 
 #Laplaciano 
 laplacian=cv2.Laplacian(binaria,cv2.CV_64F) 
 #Prewitt 
 kernelx=np.array([[1,1,1],[0,0,0],[-1,-1,-1]]) 
 kernely=np.array([[-1,0,1],[-1,0,1],[-1,0,1]]) 
 img_prewittx=cv2.filter2D(binaria,-1,kernelx) 
 img_prewitty=cv2.filter2D(binaria,-1,kernely) 
 #totprewitt=img_prewittx+img_sobel 
 totprewitt=img_prewittx+img_prewitty 
 #Canny 
 img_canny=cv2.Canny(frame,100,200) 
 #Para ver imagenes 
 cv2.imshow('Original',frame) 
 cv2.imshow('Imagen Binaria',binaria) 
 cv2.imshow('Laplaciano',laplacian) 
 cv2.imshow('Sobel XY', frame_sobel) 
 cv2.imshow('Prewitt',totprewitt) 
 cv2.imshow('Canny', img_canny) 
 #Para guardar imagenes 
 cv2.imwrite('Original.jpg',frame) 
 cv2.imwrite('Imagen Binaria.jpg',binaria) 
 cv2.imwrite('Laplaciano.jpg',laplacian) 
 cv2.imwrite('Sobel XY.jpg', frame_sobel) 
 cv2.imwrite('Prewitt.jpg',totprewitt) 
 cv2.imwrite('Canny.jpg', img_canny) 
#cerrar while 
 c=cv2.waitKey(1) 
 if c==27: 
 break 
 
 
 
6 
 
 
#cerrar 
cap.release( ) 
cv2.destroyAllWindows()

Continuar navegando