Está en la página 1de 2

I NGENIER ÍA EN AUTOMATIZACI ÓN Y C ONTROL I NDUSTRIAL

Visión Artificial - 1er Cuatrimestre 2021


Primer Parcial

71a5
Instrucciones
El examen es individual, cada examen tiene asociado un código. El código de este examen es 71a5. Hay
tiempo para resolverlo desde las 18hs hasta las 21hs del Lunes 31 de Mayo 2021. Ante cualquier duda de
interpretación de consignas, consultar por el chat del moodle, o por Jitsi.
Es un examen a libro abierto. Las funciones sugeridas son solo eso, sugerencias, no es necesario que las
usen. Si algunos pasos o instrucciones se aclara que son ‘sugeridos’ quiere decir que si lo prefieren, pueden
resolver el problema de otra manera (expliquen brevemente pero con claridad los pasos que siguieron).
La resolución de los problemas debe plasmarse en:
Un reporte muy sencillo en PDF donde se describa en palabras el procedimiento usado para resolver los
problemas. Incluir la fecha, nombre de Uds, carrera universidad. Poner como tı́tulo en el PDF:
Visión Artificial - Parcial 1 - código 71a5.
Scripts de Python utilizados.
Capturas de pantalla e imágenes según sea necesario.
Comprimir todo en un zip o 7z y enviar por mail a sebastian.arroyo@unq.edu.ar y
guimaraynz.hernan.2012@gmail.com. El nombre del comprimido y el asunto del mail deben ser:
Vision UNQ Parcial1 Apellido Nombre 71a5.

Problemas
1. Unsharp masking
Este problema consiste en restaurar con unsharp masking una imagen blureada.
(a) Cargar la imagen de Lenna en escala de grises en la variable img. Hacerle un blur con in filtro caja
de 3 × 3 y guardarlo en la variable blu. El objetivo del problema es usar blu como punto de partida
para intentar recuperar una imagen que se parezca a la original img.
(b) Unsharp masking consiste en restarle a una imagen su version blureada, el efecto neto es que se realzan
los detalles. Para eso:
I . Crear una imagen blureada a partir de blu, tambien con un filtro caja de 3 × 3 y guardarlo en
blu2.
II . Hacer la resta
usm = k * blu - (k - 1) * blu2
Donde k es un número flotante mayor o igual a uno.
III . Mostrar la imagen usm. Elegir k haciendo un poco de prueba y error.
(c) Explicar qué valor de k se eligió y por qué. ¿Por qué no más alto o más bajo? ¿Qué pasa si k = 1?
(d) ¿Se logró recuperar una imagen parecida a la Lenna original?
(e) Como el blureado es una operación lineal y la resta del unsharp marking también, entonces se puede
hacer todo en una sola operación lineal. Unsharp masking es equivalente a aplicar por convolución el
siguiente filtro:

     
0 0 0 1 1 1 (1 − k) (1 − k) (1 − k)
(k − 1) 1
 1 1 1  =  (1 − k) (8k + 1) (1 − k) 
k 0 1 0 − (2)
9 9
0 0 0 1 1 1 (1 − k) (1 − k) (1 − k)
Guardar en una variable kernel un array de 3 × 3 construido según esta definición (reemplazando el
valor de k con el que se eligió más arriba). Comprobar que la suma de todos sus elementos es uno.
I NGENIER ÍA EN AUTOMATIZACI ÓN Y C ONTROL I NDUSTRIAL
Visión Artificial - 1er Cuatrimestre 2021
Primer Parcial

(f) Convolucionar kernel sobre blu usando cv.filter2D. Comparar el resultado con la imagen
usm.
Funsiones sugeridas: cv.blur, cv.filter2D

2. Identificar partes del espectro de Fourier


Cargar la imagen espectroE3.png en escala de grises. Calcular su espectro de Fourier y mostrarlo.
identificar las partes de la imagen con las partes del espectro.

También podría gustarte