В сети достаточно материалов по методам восстановления резкости изображения (деблюру) с помощью специального математического аппарата. Этот аппарат включает в себя нахождение ядра размытия (ядра предполагаемого «фильтра», применённого к изображению) и проведение операции, обратной свёртке данного ядра с изображением.

Всё это хорошо, но!....

Ничего такого сложного в GIMP нет, особенно нахождение ядра размытия и применение ядер сложной конфигурации. Хотелось бы чего‑нибудь попроще, более известного и понятного, но чтобы можно было понять сам процесс и сделать это не прибегая к сторонним заумным средствам.

Исходя из вышесказанного, сделаем допущение, что наше изображение размыто «Гауссовым размыванием» и более того, радиус данного размытия известен. Довольно «нахальное» предположение, но хочется то по простому.

Для «эксперимента» используем традиционно изображение «Лена»:

Оригинальное изображение "Лена" (I)
Оригинальное изображение "Лена" (I)

И так как это всего лишь "эксперимент" сделаем его "чистым". Применим к изображению "Гауссово размывание" размерами 2,5x2,5:

Размытое изображение (B)
Размытое изображение (B)

Именно это изображение (B) попытаемся приблизить к исходному изображению (I), не имея ничего кроме него и "лукаво добытой" инфы, что это именно "Гауссово размывание" и размеры размывания 2,5x2,5. Это конечно сильно отличается от реальной ситуации, когда неизвестен ни тип размытия, ни размер размытия. Но таков уж эксперимент.

Суть итерационного процесса.

Исходный итерационный процесс строится следующим образом:

На 0-ой итерации делается копия-слой нашего изображения (B) и обзывается (I0).

На 1-ой итерации делается копия-слой предыдущей итерации (I0) и применяется "Гауссово размывание" размерами 2,5x2,5, получая новое, ещё более размытое изображение (B1). Делаем слой-копию нашего изображения (B), ставим его верхним и устанавливаем наложение "Извлечение зерна" и сливаем с ещё более размытым изображением (B1), получая "серую разность" (G1). Устанавливаем этой "серой разности" (G1) режим наложения "Извлечение зерна" и сливаем с слой-копией предыдущей итерации (копия I0), получаем изображение текущей итерации (I1),

На i-ой итерации повторяем 1-ую итерацию, используя изображение последней итерации (Ik) вместо (I0).

И вроде бы всё хорошо и просто. На каждой итерации фактически применяется нерезкая маска, только разность в этой маске берётся не от текущего изображения (Ik), а от исходного (B). И в этом цимус. Но!... Такой итерационный процесс медленно сходящийся (уже плохо) и быстро натыкается на ограничение разрядности "серой разности" (для 8ми битных изображений не может разность быть представлена долями целого, а значит в определённый момент эта самая разность обнуляется). Как же быть?! Просто используем более быстро сходящуюся итерацию.

Более быстро сходящаяся итерация:

Для неё потребуется дополнительный нормирующий "серый" слой (G). Получим его, сделав 2 копии нашего изображения (B) и наложив их в режиме "Извлечение зерна":

"Серый" слой (G)
"Серый" слой (G)

И теперь сама итерация:

На 1-ой итерации делается копия-слой предыдущей итерации (I0) и применяется "Гауссово размывание" размерами 2,5x2,5, получая новое, ещё более размытое изображение (B1). Делаем слой-копию нашего изображения (B), ставим его верхним и устанавливаем наложение "Извлечение зерна" и сливаем с ещё более размытым изображением (B1), получая "серую разность" (G1). Делаем слой-копию этой серой разности (G1) и накладываем на саму себя в режиме "Умножить". Нормируем результат: делаем слой-копию "серого" слоя (G), ставим его верхним и накладываем в режиме "Делить", получаем нормированную мультиплицированную "серую разность" (G1nm). Устанавливаем этой "серой разности" (G1nm) режим наложения "Извлечение зерна" и сливаем с слой-копией предыдущей итерации (копия I0), получаем изображение текущей итерации (I1),

Такая итерация требует больше действий, но процесс гораздо более сходящийся и меньше влияние округления "серых разностей".

И что же всё "это" даёт?

1-ая итерация
1-ая итерация
2-ая итерация
2-ая итерация
3-ья итерация
3-ья итерация
4-ая итерация
4-ая итерация
5-ая итерация
5-ая итерация

Вывод.

Удалось ли восстановить данным методом исходное изображение (I)? Ну конечно же нет.

Удалось ли уменьшить размытие и приблизиться к исходному изображению (I)? Да.