Entradas

Mostrando entradas de marzo, 2017

PRÁCTICA 1. FOLLOW LINE. PRUEBA 1

Imagen
En esta práctica se trata de conseguir que un coche de la vuelta completa a un circuito. Para ello se deberá realizar el control visual, así como ajustar el control PID. Al hacer la práctica se ha visto que no era necesario un control PID y que con un PD valía, por ello es lo que se ha empleado. El coche posee dos cámaras (derecha e izquierda), pero solo se ha usado la izquierda, ya que con ello era suficiente. La imagen se obtenía con: Obtención de imágenes imageRight = self.cameraR.getImage() imageLeft = self.cameraL.getImage() El control visual se ha hecho umbralizando la imagen con el objetivo de quedarnos con la línea roja del circuito, la cual nos sirve de referencia. Para realizar la umbralización se ha empleado el espacio de color HSV, ya que es más robusto ante cambios de iluminación. En primer lugar se ha transformado la imagen al espacio HSV. Tras esto se ha umbralizado con cv2.inRange en función a un

PRÁCTICA 0. COLOR FILTER

Imagen
En esta práctica se trata de realizar un filtro de color para detectar donde se encuentran unas pelotas en un vídeo. En concreto se ha adaptado dicho filtro a 4 vídeos (pelota_roja.avi,pelota_roja_azul.avi, drone1.mp4 y drone2.mp4). En todos los videos se ha llevado a cabo el siguiente procedimiento: 1) Se aplica un filtro gaussiano para eliminar el ruido con cv2.GaussianBlur. Ejemplo Filtro Gaussiano blur = cv2.GaussianBlur(input_image_Copy ,(3,3),1)) 2) Se transforma la imagen al espacio de color HSV con cv2.cvtColor. Ejemplo Cambio a HSV hsv=cv2.cvtColor(img,cv2.RGB2HSV)) 3) Se realiza una umbralización en función a un rango de valores con cv2.inRange . Ejemplo Umbralización bw = cv2.inRange(hsv, np.array([110,50,50]), np.array([150,100,120])) 4) Se usan transformaciones morfológicas para tratar de me