Descarga la aplicación para disfrutar aún más
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()
Compartir