Mostrando entradas con la etiqueta Vision Computacional. Mostrar todas las entradas
Mostrando entradas con la etiqueta Vision Computacional. Mostrar todas las entradas

martes, 19 de febrero de 2013

Tarea 2: Deteccion de figuras

Para la entrada de esta semana lo que se realizo fue lo siguiente:
  • Una rutina en este caso bfs la cual nos ayuda a darle color a las figuras.
  • El componente más grande debe ser el fondo, y colorearse gris.
  • A los demás dibujos se les asignan otros colores. 
Se realizo la rutina BFS donde encontramos las distintas figuras que componen la imagen, esto lo hace recorriendo los pixeles de toda la imagen, el algoritmo parte de un nodo raiz y luego se van recorriendo los nodos vecinos, introduciendo en una cola. También lleva el conteo de todos los pixeles de la figura detectada para calcular el porcentaje de la forma con respecto al total de pixeles de la imagen.
La imagen con la que se trabajo fue la siguiente:


A esta figura le aplicamos el procesamiento que se le a hecho a las demás imágenes en las tareas anteriores.

Aquí imagen con bordes encontrados


Ahora la binarizamos para juntar los bordes que se encuentren despegados

Ahora pintamos la imagen con la rutina bfs para colorear y le sacamos los porcentajes que ocupan en ese lugar.






Aqui el codigo:

jueves, 14 de febrero de 2013

Laboratorio 2: Sal y pimienta, norma

En esta ocasión se pondrá un tipo de ruido a las imagenes llamado "sal y pimienta" esto consiste en ponerle a la imagen puntos de color negro y blanco.

Bien la imagen con la que se esta trabajando es la siguiente:



Ahora aplicaremos sal y pimienta a la imagen:


Los resultados fueron un éxito :D


Este es uno de los resultados que conseguí cuando estaba intentando quitar la sal y pimienta.  (De las pocas veces que me compilo)


Para quitar la sal y pimienta lamentablemente no se pudo hacer por que siempre me arrojaba errores de que se salia la imagen pero estoy trabajando para poder realizarlo.


Normalización
Este es el resultado de restar la imagen escala de grises por la imagen difusa.



Ahora binarizamos la imagen y este es el resultado.
Practicamente no hubo mucho cambio.

Aquí el código:

martes, 12 de febrero de 2013

Tarea1 Convolucion

En esta ocasión nos toco ingeniar una manera para sacar bordes de una figura en una imagen con un método muy sencillo. 

Aquí la imagen con la que estamos trabajando. 



El primer paso es convertirlo a escala de grises aquí la imagen:



Después es pasarla por un filtro:


notese como la imagen se vuelve un poco borrosa

Después se le realiza el método para sacar los bordes llamado convolución.
La convolución consiste en poner una mascara "especial" creada por alguien para poder sacar los diferentes cambios de los pixeles vecinos tanto vertical como horizontal. Esta matriz se sobrepone a la imagen filtrada, y luego se va multiplicando los pixeles y los valores de las matrices adecuadamente para sacar los gradientes x e y. Ya teniendo esto se puede usar la formula para combinar los gradientes "x" e "y".

Aquí los resultados

Y al final una binarización:


Estos son los tiempos arrojados por esta imagen cabe destacar que esta imagen es demasiado pesada ademas de que mi computadora es un chatarra para realizar cosas de este tipo. Aquí los tiempos:


Probemos otras imágenes:


Escala de grises

Filtrado

Convolucion

Binarización

Aquí podemos notar que en esta imagen se tardo menos ya que es una imagen de menor dimensión que con lo que estamos trabajando:



Codigo:



martes, 22 de enero de 2013

Laboratorio 1: Escala de grises, umbral y filtro

Esta actividad consistió en realizar un programa, el cual al proporcionarle una imagen convertirla a escala de grises, también determinar umbrales para que los píxeles menores y mayores a esos rangos fueran cambiados a blancos y negros; y por último aplicar filtros a la imagen para que se distorsione.

La imagen que se utilizo es la siguiente:


Ahora veremos como se ve esta imagen con nuestro código

Aquí con escala de grises, esto se hizo tomando los píxeles y promediando su RGB y sustituyendo en los píxeles, para así sacar el color que se muestra en la imagen


Ahora vemos los umbrales, en esto se dieron dos variables globales, los umbrales negro y blanco con esto solo comparamos los píxeles en RGB y si es menor que "122" entonces el píxel se pinta negro y si es mayor que "130" se pintan de color blanco, a continuación la imagen


Juguemos con los valores globales:

100 negro
200 blanco

200 negro
100 blanco

30 negro
50 blanco


Ahora veremos un tipo de filtro donde se toman los píxeles vecinos de arriba, abajo, izquierda y derecha de pendiendo del píxel donde se tome en el dado caso en que se encuentra en una esquina solo se tomaran los píxeles de la izquierda y abajo(hablando de la esquina superior derecha), esto también se hace promediando el RGB. Aquí la imagen:


Cada función esta dada por una tecla, ya que me fallo al realizar los botones pero en proximas entrgas estaran en funcionamiento.

Para realizar el escala de grises oprimes la flecha derecha.
Para realizar el umbral oprimes la flecha izaquierda.
Para realizar el filtro oprimes la flecha arriba.

Aquí mi Repositorio

Vision computacional para asistencia en conduccion

Introducción:

La seguridad vial es un tema clave en la tecnología automotriz actual, y es un tema de investigación porque implica aspectos tanto humanos como económicos. Sus dos objetivos principales, de hecho, son la mejora de la movilidad, ayudando a los conductores y reduciendo los costos de transporte por cuidadosamente la explotación de la red de carreteras y de la optimización de combustible y el consumo de energía.


Los sistemas para la asistencia en conducción de automóviles están siendo examinados e investigados como la solución más importante para el problema de la movilidad.

Acciones que puede realizar.

Estos dispositivos también pueden proporcionar conducción vehicular automática, es decir, la automatización de una o más tareas de conducción, tales como:
  • Siguiendo el camino y mantenerse en el carril de la derecha.
  • Mantener una distancia de seguridad entre vehículos.
  • Regulación de la velocidad de la vehcle de acuerdo a las condiciones del tráfico y las características de la carretera.
  • Moviéndose a través de los carriles para rebasar vehículos y evitar los obstáculos.
  • Encontrar la ruta más corta y correcta a un destino.



Que se necesitaria?

Visión computacional es muy complejo y muy exigentes, pero puede ofrecer una gran cantidad de información, marcándolo un poderoso medio para detectar el medio ambiente.

El cumplimiento de las tareas antes mencionadas se necesita la medida de magnitudes diferentes, o el reconocimiento de patrones antes del cierre del bucle de control. Estos incluyen subtareas

  • Determinar la posición relativa en el carril del vehículo y la comprobación de obstáculos en el camino o carretera.
  • Reconocer características específicas del vehículo y calcular el tiempo de impacto.
  • Detección de carriles múltiples y obstáculos de detección (por adelantamiento de vehículos y evitar colisiones)
  • Midiendo la distancia entre los vehículos estacionados (para el estacionamiento automático)
  • Determinar la posición y siguiendo el movimiento de los ojos del conductor y la cabeza (para la supervisión de estado de controlador). 


Conclusión
Este es un buen tema que se tiene pensado hacer en un 60% pero mas adelante veremos si seguimos con este tema ya observando lo que ocurre en las clases posteriores.