Для начала приведу немного сведений "из букваря" для введения в тему...Функция

- замыленное изображение (яркость какого-либо из RGB каналов) получаемое нами из фотоаппарата (из 48 битного TIFF файла). Функция

- истинное изображение, то которое без замыленности, она нам не известна. В линейном случае замыленное изображение получается из истинного изображения действием на него некоторого линейного интегрального оператора с ядром

- функцией конволюции:

Мы хотим избавится от замыленности. Для этого предполагаем существование обратного оператора с ядром

- функцией деконволюции

Тогда истинное изображение можно получить подействовав оператором деконволюции на известное нам замыленное изображение:

Настоятельно рекомендую взглянуть на примеры из справочной системы программы Mathematica:
http://reference.wolfram.com/mathematic ... volve.htmlЗамыленность бывает разная, в общем случае оператор конволюции

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

. Понятно, что функция

должна зависеть только от расстояния между пикселями

. Я было предположил, что она должна быть Гауссовой

. Оказалось, что нет, Гауссова не годится. Я уже совсем собирался бросить с этим возиться, но решил ещё проверить просто экспоненту:

И это, внезапно, сработало.
В голову приходит следующая физическая картина мира. От точечного источника, в идеальном случае должного отобразится в 1 центральный пиксель, в "замыленном случае" получается некоторое пятно по следующему закону. В центральный пиксель попадает некоторое количество света -

фотонов. В соседние пиксели находящиеся от него на расстоянии 1 попадает ещё по

фотонов (при

это ж почти треть). В пиксели находящиеся на расстоянии 2 попадает

фотонов, на расстоянии 3 попадает

фотонов и так далее.
Так вот, чего-то мне, почему-то, не очень сильно вериться в описанную картину мира. Возможно никакой физики тут нет, а просто производитель моего фотоаппарата (Nikon D7100) для каких-то целей использует неотключаемый шумодав или антиалиасный фильтр, который как раз и работает по формуле

и именно его я и задеконволюшил...
Кто что думает по этому поводу?
За функцией

скрывается какая-то физика или же это просто разумная деятельность производителя фотоаппарата?
ПримерОригинальное изображение 100% кроп без обработки. Nikon D7100, 18-55 VR, стиль нейтральный (в нём все параметры выставил в ноль), шумодав отключен, ADL отключен, вобщем всё отключено. С помощью ViewNX2 превратил равку в tif (16 бит на цвет), затем tif подверг воздействию оператора обратного оператору с ядром

с

, при обращении оператора ограничился радиусом в 4 пикселя (матрица

). Отнормировал получившееся изображение так чтобы средняя яркость исходного и конечного изображения сохранилась, при этом в пересвет уехало 1.06% пикселей.

Результат обработки:
