Вычисление ядра размытия между 2 изображениями
В отличие от стандартных (и более сложных) сценариев устранения размытости и сверхвысокого разрешения, у меня есть доступ к исходному (резкому) изображениюG
и это'размытая версияB
, Я'Я просто ищу размытие ядраh
, Потому, чтоB
взято с использованием реальной камеры, соотношение:
B=G*h+N
(где*
обозначает свертку иN
это какой-то аддитивный шум)
Естественно, это чрезмерно ограниченная проблема, посколькуh
маленький по сравнению сG
а такжеB
и поэтому каждые несколько пикселей в паре изображений генерируют уравнение для записей.h
Но каков будет самый простой способ реализовать это? Мои мысли до сих пор:
Переход в частотную область и деление (какэтот ответ предлагает). Но это было бы неизбежно численно нестабильным из-за шума, верно?Кросс-корреляция - яМы нашли только примеры для 1-D сигналов и не моглиt понять, как использовать в 2D случае изображений.Тщательное построение чрезмерно ограниченной линейной системыG'h'=B'
находясь в поискеh'
которая является векторной версией записей ядраh
используя некоторую процедуру оптимизации. Но это очень утомительно и матрицаG'
и векторB'
должны быть огромными по размеру.Конкретный пример на любом языке программирования от C ++ до MATLAB был бы чрезвычайно полезен.