Ruido sal y pimienta
Para la segunda tarea de laboratorio de visión computacional
consiste en generar una imagen con ruido de tipo sal y pimienta y después quitarle
ese ruido para tratar de dejar la imagen en la forma original.
Para lograr esto es necesario recorrer toda la imagen píxel
por píxel , al pasar por cada píxel de la
imagen se genera un número aleatorio al cual se le saca el módulo de cualquier
número que quieras y si dicho módulo de ese número es “0”, el píxel se cambiara a blanco(255,255,255)
y si es el caso de que es “1” el píxel se cambiara a un color negro(0,0,0).
K =
random.randint(0,255)
if (K%15 == 0):
cambio
= 255
foto[i,j] =
(cambio,cambio,cambio)
elif(K%15
== 1):
cambio = 0
foto[i,j] =
(cambio,cambio,cambio)
Imagen original
Imagen con ruido
Remover el ruido
Para realizar esta acción también es necesario recorrer toda
la imagen píxel por píxel igual que en la vez anterior en busca del píxel que está
manchado con el ruido, al encontrar el píxel que cumple la condición se realiza
una búsqueda de los valores de los vecinos del píxel seleccionado sacando un
promedio de los valores de los cuatro vecinos que tiene el píxel. Aunque no se removió por completo el ruido en la imagen
Imagen sin ruido
Binarización
Para realizar este efecto en la imagen se necesita cambiar
la imagen a un color blanco o negro solamente, partiendo de un valor cualquiera
el cual se tomara como referencia para cambiar los valores de los píxeles de la
imagen, en caso de que dicho valor sea mayor el píxel se cambia a un color blanco
(255,255,255) y si es menor se cambia (0,0,0)
a1 =
foto1[i,j]
rgb
= (a1[0] + a1[1] + a1[2])/3
if
rgb < 75:
foto1
[i,j] = (0,0,0)
else:
Código generador de ruido
Código eliminador
Código de binarizacion