Docente: Mg. Huarote Zegarra Raúl. El examen tiene una duración de 3 hora (de 2:00pm a 5:00pm), se recomienda enviar con minutos de antelación ya que no se extenderá el horario.
Lee detenidamente el caso y responde con el código fuente en el
lenguaje python, en la menor cantidad de código posible, de preferencia use y/o cree funciones propias de las librerías.
Subir el código fuente dentro de un archivo
primerapellido_primernombre.rar (ejemplo: Perez_Juan.rar) donde contiene perezjuan.py
Caso ordfilt2 (Filtrado de mediano 2D):
J = ordfilt2(I,posicion,booleano) realiza el filtrado medio de la imagen en dos dimensiones. Cada píxel de salida contiene el valor de una posición específica de una vecindad de 5 por 5 alrededor del píxel correspondiente en la imagen de entrada. Y el valor booleano, si es True, se ordenará de manera ascendente, False para descendente I: La imagen en tono de gris posicion: posicion del array ordenado a retornar booleano : Si se ordena el array de manera ascendente (True) o descendente(False)
conruidosp.png Resultado
Imagen de entrada (310x242)
Para hacer el filtro es necesario realizar los siguientes pasos dentro de la función ordfilt2 (I,posicion,booleano): Hay que crear una matriz de (m+4)x(n+4) de puros ceros que llamaremos Temp, y en su interior central hay que colocar la imagen que vamos a quitarle el ruido. Hay que recorrer a la matriz Temp constantemente las posiciones desde (2,2) hasta (m+2,n+2) extrayendo una matriz de 5x5 al que llamaremos Retazo. A esta matriz Retazo que es de 5x5 hay que convertirlo a array de 1x25 al que llamaremos B, a este array B hay que ordenarlo el criterio de booleano y retornar el valor de la posición especificada, al que le llamaremos q. Este valor q se va a ir almacenando en una matriz J en las posiciones conforme va recorriendo. La matriz J es de dimensión mxn. Aquí una ayuda del código para que tenga avanzado.