Na continuação do artigo sobre a restauração de imagens desfocadas e desfocadas, quero compartilhar meus resultados da restauração de imagens reais usando o filtro Wiener. O OpenCV 3.4 foi usado como a biblioteca de processamento de imagens. A câmera é uma Nikon D320, uma lente Nikon DX AF-S NIKKOR 18-105 mm, a desfocagem foi realizada manualmente, a fotografia foi realizada sem um tripé.
Resultados de recuperação de imagem desfocada
Durante a desfocagem, o sistema de distorção é bem aproximado pela função de dispersão de pontos cilíndricos (PSF) do raio r.

PSF cilíndrico
Abaixo estão os resultados da restauração de três imagens desfocadas reais do mesmo objeto (página do livro). As filmagens foram realizadas sem um tripé a uma distância de cerca de 50 cm. O grau de desfocagem da lente aumentou manualmente de quadro para quadro. Os parâmetros do filtro Wiener r e a relação sinal-ruído (SNR) foram selecionados manualmente de forma a garantir a melhor qualidade visual da restauração. Para compensar os efeitos das bordas, é realizada uma diminuição gradual no brilho da imagem nas bordas.

Imagem A

Resultado de recuperação de imagem A. r = 53, SNR = 5200

Imagem B

Resultado da restauração da imagem B. r = 66, SNR = 4400

Imagem C

Resultado de recuperação de imagem C. r = 102, SNR = 7100
Pode-se observar que, mesmo com desfocagem significativa, a legibilidade do texto é praticamente
totalmente restaurado.
Os resultados da restauração de imagens borradas de placas
A desfocagem da imagem ocorre quando a câmera e o objeto se movem em relação um ao outro durante a exposição. Considere apenas o caso em que o assunto está se movendo linearmente em relação à câmera estacionária. Nesse caso, o sistema de distorção é bem aproximado pelo PSF na forma de um segmento que é direcionado ao longo do movimento do objeto. Esse PSF é definido por dois parâmetros: comprimento L e ângulo de lubrificação THETA.

PSF com lubrificação linear
Abaixo está uma imagem distorcida de dois carros, obtida com uma exposição insuficientemente curta, o que levou ao aparecimento de um borrão perceptível.

Imagem distorcida de dois carros
Abaixo estão os resultados da restauração dos números de ambos os carros usando o filtro Wiener. Os parâmetros L, THETA e SNR foram selecionados de forma a garantir a melhor qualidade visual da restauração do número do carro.

Resultado da restauração de um número de carro brilhante. L = 78, THETA = 15, SNR = 300

Resultado da restauração de um número de carro escuro. L = 125, THETA = 0, SNR = 700
Pode-se observar que, mesmo com lubrificação significativa, é possível restaurar a legibilidade dos números
carros.
O algoritmo de filtragem é implementado no C ++ OpenCV como um aplicativo de console.
Os códigos-fonte podem ser encontrados nos links abaixo.
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 Gonzalez, RE Woods. Fundamentos da imagem digital. 1987.
- I.S. Gruzman, V.S. Kirichuk, V.P. Kosykh, G.I. Peretyagin, A.A. Spector. Processamento digital de imagens em sistemas de informação. 2000.