Алгоритм сглаживания растровых изображений - PullRequest
1 голос
/ 03 апреля 2011

Я ищу эффективный алгоритм, который будет смотреть на четырехканальное изображение (RGBA), находить объект (группу пикселей с альфа> 0, окруженным пикселями с альфа = 0) и затем пытаться сгладить края предмет. Предложения?

1 Ответ

0 голосов
/ 03 апреля 2011

Я предполагаю, что вы пытаетесь описать ситуацию, когда изображение объекта с альфа-каналом было вставлено на фон без альфа-канала, заменяя пиксели везде, где оно имеет альфа> 0, вместо смешивания должным образом.В полученном изображении каждый пиксель с альфа = 0 является фоном, каждый пиксель с альфа> 0 - от объекта.Там не было никакого смешения, только через вставку.

Итак, алгоритм для угадывания цвета пикселей, где альфа теперь ненулевой, был раньше, решит проблему.Если бы у вас было это, вы могли бы делать смешивание правильно, в каждом месте, где 0% <альфа <100%, чтобы получить правильный сглаженный край. </p>

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

Как только вы получите правдоподобный неизвестный фон, смешайте его в пикселях с альфа> 0, на этот разправильно с учетом их альфа.

...