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:
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