En la continuación del artículo sobre la restauración de imágenes desenfocadas y borrosas, quiero compartir mis resultados de restaurar imágenes reales utilizando el filtro Wiener. OpenCV 3.4 se utilizó como la biblioteca de procesamiento de imágenes. La cámara es una Nikon D320, una lente Nikon DX AF-S NIKKOR 18-105 mm, el desenfoque se realizó manualmente, el disparo se realizó sin trípode.
Resultados de recuperación de imagen desenfocada
Durante el desenfoque, el sistema de distorsión se aproxima bien por la función de dispersión de punto cilíndrico (PSF) de radio r.

PSF cilíndrico
A continuación se muestran los resultados de restaurar tres imágenes reales desenfocadas del mismo objeto (página del libro). El disparo se realizó sin trípode desde una distancia de aproximadamente 50 cm. El grado de desenfoque de la lente aumentó manualmente de cuadro a cuadro. Los parámetros de filtro de Wiener r y la relación señal / ruido (SNR) se seleccionaron manualmente de manera que se garantice la mejor calidad visual de la restauración. Para compensar los efectos de borde, se realiza una disminución suave en el brillo de la imagen en los bordes.

Imagen A

Resultado de recuperación de imagen A. r = 53, SNR = 5200

Imagen B

Resultado de restauración de imagen B. r = 66, SNR = 4400

Imagen C

Resultado de recuperación de imagen C. r = 102, SNR = 7100
Se puede ver que incluso con un desenfoque significativo, la legibilidad del texto es prácticamente
Totalmente restaurado.
Los resultados de la restauración de imágenes borrosas de matrículas
La imagen borrosa ocurre cuando la cámara y el sujeto se mueven uno con respecto al otro durante la exposición. Considere solo el caso cuando el sujeto se mueve linealmente en relación con la cámara estacionaria. En este caso, el sistema de distorsión está bien aproximado por el PSF en forma de un segmento que se dirige a lo largo del movimiento del objeto. Tal PSF se define por dos parámetros: longitud L y ángulo de lubricación THETA.

PSF con lubricación lineal
A continuación se muestra una imagen distorsionada de dos automóviles, obtenida con una exposición insuficientemente corta, lo que condujo a la aparición de un desenfoque notable.

Imagen distorsionada de dos autos
A continuación se muestran los resultados de restaurar los números de ambos automóviles con el filtro Wiener. Los parámetros L, THETA y SNR se seleccionaron de manera que se garantice la mejor calidad visual de la restauración del número de automóvil.

Resultado de restaurar un número de automóvil brillante. L = 78, THETA = 15, SNR = 300

Resultado de la restauración de un número de automóvil oscuro. L = 125, THETA = 0, SNR = 700
Se puede ver que incluso con una lubricación significativa, es posible restaurar la legibilidad de los números
carros
El algoritmo de filtrado se implementa en C ++ OpenCV como una aplicación de consola.
Los códigos fuente se pueden encontrar en los enlaces a continuación.
https://github.com/VladKarpushin/out_of_focus_deblur/tree/full_color_version
https://github.com/VladKarpushin/motion_deblur
https://docs.opencv.org/4.0.0-alpha/de/d3c/tutorial_out_of_focus_deblur_filter.html
https://docs.opencv.org/4.0.0-alpha/d1/dfd/tutorial_motion_deblur_filter.html
Literatura
- RC González, RE Woods. Fundamentos de la imagen digital. 1987.
- I.S. Gruzman, V.S. Kirichuk, V.P. Kosykh, G.I. Peretyagin, A.A. Spector Procesamiento digital de imágenes en sistemas de información. 2000.