jueves, 7 de febrero de 2013

Lab. Visión computacional

Filtrados: Escala de grises y Umbral(binarizacion)

Esta actividad consiste en cambiar una imagen cualquiera a escala de grises y después cambiarla por medio de binarizacion asignando valores diferentes en los umbrales y cambiar los pixeles a blanco o negro.

Se utilizo para las pruebas la siguiente imagen:

Imagen de prueba



Escala de grises:

Para realizar esto es en la imagen original, se debe obtener principalmente se necesita recorrer toda la imagen de pixel por pixel y obtener los tres valores de "RGB" de cada pixel, dichos valores se necesitan  sumar y después de sumar los tres valores se divide el valor entre 3 y así se podrá ver el cambio.

La función que utilice en mi programa para este procedimiento fue:  

a = foto[i,j]
rgb = (a[0] + a[1] + a[2])/3
foto[i,j] = (rgb, rgb, rgb) 

Imagen obtenida: 

Escala de grises


Umbral(binarizacion)

Para realizar este cambio en la imagen se asigna un valor umbral, en el cual si el pixel seleccionado resulta menor al umbral (75) dicho pixel se pintara o cambiara a color negro (0) y si es el caso de que resulte mayor  a dicho umbral el pixel se pintara o cambiara a blanco (255).

La función que utilice fue:

a1 = foto1[i,j]
rgb = (a1[0] + a1[1] + a1[2])/3
if rgb < 75:
foto1 [i,j] = (0,0,0)
else:
foto1 [i,j] = (255,255,255)


Realice varias pruebas con diferentes valores en el umbral

Umbral  50

Umbral 75

Umbral 100

Umbral 120

Umbral 150

Umbral 200

El código completo:




1 comentario:

  1. El umbral debería ser un parámetro, no algo "hard-coded" en tu código fuente. Cuida además la redacción. Van 7 pts.

    ResponderEliminar