Есть libraw и dcraw, там, насколько я знаю, заложено много алгоритмов дебайеризации, и пользователь может выбирать по вкусу.
Посмотрел исходный код libraw/dcraw (застрелиться можно что там за код), выудил оттуда алгоритм декодирования сырых данных конкретно для моего фотоаппарата. Посмотрел, на что способны алгоритмы дебайеризации, которые входят в libraw по дефолту. Результат их работы мне показался какой-то наколенной поделкой по сравнению с результатом выдаваемым Photoshop CC или ViewNX2. Тут же изобрёл свою собственную наколенную поделку дебайеризатора: у четырёх соседних пикселей цвет известен, ищем среди них два наиболее близких друг к другу и берём случайно нечто промежуточное между этими двумя. При этом границы объектов получаются довольно чёткие и без сильного цветового шума. Чтобы на границах объектов ещё сильнее уменьшить байеровский цветовой шум апроксимировал полученные значения полиномом пятого порядка (
, при
, при апроксимации задействуются точки в радиусе 3). Качества ViewNX2 и Photoshop CC конечно не достиг (там байеровских цветовых шумов на границе объектов нет вообще), но для опытов сойдёт. Далее провёл, так сказать, опыт ради которого, собственно, и были эти мучения. Оказалось, что деконволюция с ядром
довольно сносно усиляет резкость. То есть какая-то физика за этим всё таки стоять может в том смысле, что замыленность является не на столько проделкой равконвертера, на сколько сами сырые данные такие. Однако, точно трудно сказать где резкость увеличивается за счёт "обмана зрения", а где реально за счёт "правильной деконволюции".
Кстати, пытался найти описание алгоритмов дебайеризации в рускоязычном интернете, ничего не нашёл. Видимо надо смотреть какие-то специализированные научные журналы. Кто-нибудь интересовался этим?