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 5: ESPACIOS DE COLOR DINÁMICO FECHA DE ENTREGA: 29 DE MARZO DE 2023 2 ORIGINAL BLANCO Y NEGRO ESCALA GRISES LAB YCbCr HSV 3 RGB 4 5 6 7 Conclusión: me impresiono la velocidad con la que los movimientos que hacía eran detectados, literal era como si solo tuviese la cámara activada, movía un brazo y en menos de un instante el video mostraba ese movimiento, jamás presento problemas con el tiempo de respuesta en ninguno de los espacios de color. Al cambiar el objeto de mi mano la mayoría de los espectros de color mantenían el mismo formato y coloración para los elementos de fondo, ósea yo, la pared, pero ocurrió algo extraño con el HSV, pues dependiendo del color del objeto que tuviese en mi mano cambiaba el color de los elementos de su alrededor, la respuesta a los movimientos se volvía más lente en comparación con las demás. Y como prueba adicional decidí iluminar un objeto diferente viendo como variaba el cambio de luz dentro de los espectros, en el caso del HSV, en el punto que se iluminaba más coloco un punto en color rojo como si se tratara de una lampara de infrarrojo. En el YCbCr la verdad no esperaba ver cambio alguno, pero la zona que fue iluminada se mostró más claro que el resto de la imagen, además YCbCr respeta más los colores originales en comparación del LAB. A pesar de los defectos que presentó el video en HSV, considero que es el espectro que me permite rescatar mucha más información, pues al trabajar con la sombra de los objetos la vuelve mucho más aplicable. Obviamente no lo voy aplicar en un lugar con exceso de iluminación que provoque que los objetos a de la imagen estén saturados de luz. Me llevo de tarea para el proyecto hacer un mayor número de experimentos en el YCbCr, a fin de determinar que ocurre al iluminar diferentes elementos en diferentes lugares. 8 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,bn)=cv2.threshold(gray,128,255,cv2.THRESH_BINARY | cv2.THRESH_OTSU) hsv=cv2.cvtColor(frame,cv2.COLOR_BGR2HSV) lab=cv2.cvtColor(frame,cv2.COLOR_BGR2Lab) YCBCR=cv2.cvtColor(frame,cv2.COLOR_RGB2YCrCb) rgb=cv2.cvtColor(frame,cv2.COLOR_BGR2RGB) cv2.imshow('original2.jpg',frame) cv2.imshow('Gris2.jpg',gray) cv2.imshow('BlancoyNegro2.jpg',bn) cv2.imshow('HSV2.jpg',hsv) cv2.imshow('LAB2.jpg',lab) cv2.imshow('YCbCr2.jpg',YCBCR) cv2.imshow('RGB',rgb) #cv2.imwrite('original2.jpg',frame) #cv2.imwrite('Gris2.jpg',gray) #cv2.imwrite('BlancoyNegro2.jpg',bn) #cv2.imwrite('HSV2.jpg',hsv) #cv2.imwrite('LAB2.jpg',lab) #cv2.imwrite('YCbCr2.jpg',YCBCR) #cerrar while c=cv2.waitKey(1) if c==27: break #cerrar cap.release( ) cv2.destroyAllWindows() 9
Compartir