Несколько месяцев назад я был удивлен, обнаружив, что моя SDK камеры машинного зрения использует «интерполяцию» ближайшего соседа в своей встроенной функции Байера. Это самый быстрый, но наихудший тип, с четкими краями, особенно когда вы начинаете делать математические расчеты на каналах изображения для обеспечения постоянства цвета или изменения яркости. Я нашел этот обзор алгоритмов:
http://www.arl.army.mil/arlreports/2010/ARL-TR-5061.pdf
Следующий шаг - это билинейные и бикубические интерполяции, которые можно вычислить довольно быстро, потому что они равны только ядрам свертки. Они дают цветные зубья на скошенных краях - билинейные, а не бикубические.
Можно увидеть в этой статье, и с количественными данными о качестве по 5 различным алгоритмам:
http://research.microsoft.com/en-us/um/people/lhe/papers/icassp04.demosaicing.pdf
Вот почему они сделали интерполяции на основе направления края. Тем не менее, они рассматривают зеленый как более «важный канал» (поскольку он имеет лучшее разрешение и учитывает большую часть нашей визуальной чувствительности и разрешения наших глаз). И затем они создают синий и красный в зависимости от зеленого канала, сохраняя оттенок. Это, в свою очередь, делает высокочастотный контент зеленого канала более подверженным ошибкам. Сложность выше, поскольку они должны обнаружить, что происходит, и требуют нескольких проходов. Муар и кукуруза являются общими артефактами этих типов интерполяции.
Здесь они показывают примеры адаптивной демозаики однородности и билинейных версий с аддонами, сохраняющими оттенки и сохраняющими края, и без них:
http://math.auburn.edu/~kilgota/ahd_bayer.pdf
Эта статья одобряет AHD и не показывает отрицательную часть. На этой странице вы можете увидеть различные артефакты паттернов из демо-адаптивной однородности, шаблонного группирования пикселей и переменного количества градиентов (наведите указатель мыши на имена):
http://www.ruevski.com/rawhistogram/40D_Demosaicing/40D_DemosaicingArtifacts.html
Таким образом, в этих алгоритмах используется ряд допущений, и артефакты возникают, когда предположение не выполняется:
- По каналу гладкость. Если ближайшие соседи не совпадают, сделайте переход плавным. Артефакт: пилы / молнии, мягкость
- Постоянство яркости с направленными краями (билинейное направление). Артефакты: высокочастотная текстура муара, цветная окантовка
- Оттенок постоянства. если в окрестности оттенок одинаков, поэтому, если один канал меняется, другие должны следовать. Артефакты: цветные молнии по краям
- Постоянство можно предсказать из зелени. Артефакт: лабиринты