Я использую записывающее устройство, которое, кажется, смещает цвета по горизонтали, и я хотел бы найти количество смещения, которое я должен сделать на 2/3 каналов, чтобы получить изображение с минимальным искажением цвета.
Здесь вы можете видеть, что в исходном изображении хотя бы синий канал был смещен назад на ~ 1,0 пикселя.
Вопрос в том, как определить оптимальные значения без смещения, я уверен, что они не являются целыми числами.
image-processing
Сорин
источник
источник
Ответы:
Кажется, что концептуально вы почти у цели:
Тогда проблема заключается в совпадении с точностью до субпикселя. Получить значащие числа немного сложно, так как ошибки интерполяции, которые может сделать любой метод, влияют на точность.
Есть два способа регистрации изображений, которые я могу придумать:
Регистрация изображений Lucas-Kanade . Использование линейной интерполяции может не дать достаточно точных результатов, поэтому рассмотрим бикубические или другие методы. Нил Доджсон сделал хороший обзор. Важно, чтобы разные субпиксельные сдвиги ядра интерполяции имели одинаковую частотную передачу. Для кубического семейства аппроксимирующий b-сплайн в этом случае намного лучше, чем cattmull-rom.
Сначала увеличьте изображение, а затем зарегистрируйте изображение с точностью до пикселя, используя вашу любимую технику. (взаимная корреляция в области Фурье должна делать). Это работает только в том случае, если масштабирование выполняется аккуратно. Билинейный или бикубический, скорее всего, не даст вам достаточной точности. Я могу думать о трех направлениях:
а. Йен-интерполяция . Смотрите уравнение 11 его статьи. Действительно медленно, но оптимально. Хотя у вас, кажется, есть некоторый псевдоним в сигнале, поэтому предположение «ограниченного диапазона», которое делает Йена, может не сработать.
б. Рассчитать БПФ изображения, обнулить верхние частоты, обратное БПФ.
с. Нелинейное масштабирование. Поскольку края достаточно острые, изображение не имеет необходимой полосы пропускания, что может быть основным ограничением предыдущих методов. Дифференциально-зависимая интерполяция может быть лучше в этом случае.
Как только вы получите субпиксельное преобразование между ними, коррекция в зеленый и синий каналы уже решена, независимо от того, какой метод вы выберете.
источник