jueves, 21 de febrero de 2013

Lab3. Convex Hull

Mi repositorio

Para esta semana se trabajo nuevamente con los bordes pero ahora, teníamos que ubicar los puntos de las orillas que al unirlos envuelve por completo una figura. 

El algoritmo usado para obtenerlo es  convex hull  al igual que de Jarvi’s march el cual resulta ser uno de los más sencillos
  • ·Se inicia a un punto extremo dentro de los puntos del contorno, normalmente el que se encuentre más a la izquierda. 
  • En cada paso, se prueba cada punto de los puntos y se encuentra cual hace la vuelta más larga hacia la derecha. Este punto debe estar en el contorno
En este caso no se obuvo el resultado al hacer el envolvimiento uniendo los puntos, pero si aparecen dentro de los bordes



Código

Tarea2. Metodos de Codificación

Se realizo una simulación utilizando los métodos de búsqueda para palabras utilice el algoritmo de boyer-moore es el unico implementado.

Este algoritmo analiza la cadena de derecha a izquierda esto es eliminando el ultimo elemento del patrón de palabras después de esto se invierte este patrón y se van insertando todos los elementos que no esten en el patrón referente a la cadena de texto.

Y como resultado no obtuve nada porque aun no esta terminado :(

Código

martes, 19 de febrero de 2013

Tecnicas de Diseño Conceptual

El  diseño  conceptual  es  una  parte  fundamental  en  el  proceso  de  diseño  ya que en esté se generan las posibles opciones a tomar en cuenta para el diseño
final. En  primer  lugar  se  deben  tomar  en  cuenta  los  requerimientos  planteados  para  la necesidad  a  cubrir.

Modelos de diseño:
Los modelos y métodos de diseño se pueden presentar dentro del campo que se califican como investigación en diseño cuyo objetivo es establecer nuevas formas o recomendaciones que potencién la eficiencia en el diseño.

Se clasifica los modelos de diseño en dos grupos: descriptivos y prescriptivos,
donde:
  • Los modelos descriptivos muestran la secuencia de actividades que ocurren en diseño.
  • Los prescriptivos, como su nombre lo indica, prescriben un patrón de actividades de diseño.
En la primera fase se buscan conceptos o principios de identificación de
solución al problema, para la cual se analiza el problema la necesidad identificado, se sintetiza una o varias posibles soluciones y se evalúan con respecto a restricciones (especificaciones)


En la fase de diseño preliminar se avanza en ser concretos en una solución al
problema, determinando componentes e interacciones con el suficiente grado como para poderla evaluar objetivamente.

Modelos cognitivos:
Los modelos cognitivos buscan hacer una descripción formal de la forma de actuación del conocimiento del individuo que diseña.

Se puede concluir que a pesar de las diferencias que pueden existir entre ellos, muestran algunas coincidencias que llevan a afirmar el reconocimiento de etapas comunes, como es el caso concreto de la etapa de generación de conceptos de diseño, esto es, de alternativas de solución al problema que se aborda en un momento determinado y tener creatividad.


Referencia:
Link1
Link2




lunes, 18 de febrero de 2013

Lab. Ubicom

Tarea 2(clase). Detección de formas


Para está tarea se utilizaron las rutinas anteriores para poder encontrar las separaciones que existen entre componentes de la imagen y poder diferenciarlos. 
Para detectar los contornos se realizaron los siguientes pasos:

  • Conversión de imagen a escala de grises.
  • Convolución de la imagen con la máscara aplicada anteriormente
  • Binarización de la imagen

Aplique lo anterior a una nueva imagen para ver el comportamiento de la imagen con menos componentes.




Detectar formas 
Para realizar el bfs utilice como base el algoritmo bfs utilizado por la Dra con texto ASCII visto en clase. Después de tener los contornos marcados donde tenemos un punto de inicio en las coordenadas x, y, se guarda el valor de su píxel en una variable, así poder recorrer todos los píxeles que son del mismo color y marcarlos de un color determinado. 


Mientras se recorren estos píxeles se va contando la cantidad de los píxeles para después calcular el porcentaje que tiene esa figura con respecto al total de píxeles y al ir recorreriendo cada píxel de la imagen binarizada, se aplicara BFS a cada pixel negro que se encuentre y coloreando sus vecinos con un color aleatorio. 


 

Ahora el componente más grande es el fondo y se colorea gris.
Para hacer esto primero se necesitaba tener coloreadas las figuras, después se saca un porcentaje dependiendo de la cantidad de píxeles que cubre una figura con respecto a la cantidad de píxeles totales de la imagen, una vez que se tiene cual es la de mayor porcentaje con ese color que se guardo se hace de nuevo bfs() para pintar todo el fondo de color gris.


Imagen con centros, porcentajes y etiquetas: 

Ahora lo que sigue es dibujar el centro de masa esto se obtiene sumando sus coordenadas "x" y "y"  para después promediarlas. Al lado del centro de masa se agrega una etiqueta del ID del componente al que pertenece.

Porcentajes



Otro ejemplo :




Repositorio :





jueves, 14 de febrero de 2013

Lab 2.Ruido Sal y Pimienta

Para esta semana se continuaando con imágenes ahora aplicando cierto ruido aleatorio y después eliminarlo.

Generación sal y pimienta:

Se observa que el ruido impulsivo tiene un efecto más extremo sobre un subconjunto del total de píxeles de la imagen. Un tanto por ciento de los píxeles de la imagen toman arbitrariamente el valor extremo 0 o 255.

La imagen original que utilice es la siguiente:


Aplicando Ruido

Aplicando a la imágen con el ruido generado aleatoriamente dentro de la imágen con una intensidad para el ruido sal y pimienta.

Al momento de eliminar el ruido en la imagén aún no lo hace por completo



 Código:

Aquí mi Repositorio
https://github.com/vane90/visioncomput/blob/master/v.py



lunes, 11 de febrero de 2013

Tarea1. Detección de Bordes

Para la tarea 1 se nos pido que realizaramos la detección de bordes en una imagen y binarizarla donde los pondría en color blanco y el resto de la imagen negro.

Para llegar esté objetivo se aplicaria primeramente un mascara de convolución, para la cual realice lo siguiente:

La imagen original es:
 

Obtener una imagen en escala de grises mostrada en lab

Después de esto aplicar un filtro a la imagen donde se verá que es mas borrosa y asi poder identificar los bordes.


Y finalmente para detectar bordes utilice como base la explicación en clase, aplicando el proceso de convolución, que se basa en una mascara que va reccoriendo cada pixel buscando variaciones y comparandose con los pixeles cercano.

La máscara aplicada la realice utilizando el operador Sobel. Estos operadores calculan las variaciones de intensidad de cada píxel en comparación con otros. 
Para aplicar éstos operadores es necesario multiplicar los valores de cada píxel por cada valor de las matrices pre-establecidas una para dirección en x(filas) y la segunda para dirección en y(columnas) y la magnitud de gradiente.


Código 



Aquí el resultado:



Aquí mi Repositorio