Comments 19
В OpenCV есть реализация: https://docs.opencv.org/3.4/d7/d0a/group__superres.html
Вот пример статьи о superres
http://www.infognition.com/articles/what_is_super_resolution.html
Ранее на хабре отписывался о разработке софта такого же назначения автор SmartDeblur — https://github.com/Y-Vladimir/SmartDeblur, сделавший позже из него платное ПО — http://smartdeblur.net/. Давно правда новые версии не выходили. Посмотрите, возможно вам пригодятся наработки Владимира.
Ps проколите в черной бумаге иголкой дырку диаметром 0.5 мм либо меньше, и увидете предел во всей красе, даже невоуруженным взглядом.
Pss круги на примерах в статье возможно возникают из за того что реальная диафрагма скорее всего многоугольник неправильной формы, а не круг.
По поводу эксперимента с чёрной бумагой и иголкой. В статье автора YUVladimir уже проводился такой эксперимент. Действительно, форма PSF также зависит и от размера диафрагмы. Конечно, форма реальной PSF отличается от идеального круга.
P.S. Я как раз автор того SmartDeblur и серии статей по этой теме )
Как правило, выходной сигнал с цифровых камер приводится к стандарту цвета sRGB. Если смешать чёрный (0) и белый (255) цвета, исходя из физического уровня яркости, то получится серый цвет с интенсивностью 186, а не 127, как получилось бы при простом вычислении среднего. Возможно, это даст лучший результат в отношении устранения артефактов.
Для устранения краевых эффектов гамма-коррекцию не пробовал. Компенсация краевых эффектов это отдельная обширная тема. Возможно, в будущем напишу о методах, которые перепробовал для решения этой проблемы. За идею спасибо, возьму на заметку.
Восстановление смазанных и расфокусированных изображений с помощью фильтра Винера. Реализация на C++ OpenCV