Я ищу эффективный алгоритм, который будет смотреть на четырехканальное изображение (RGBA), находить объект (группу пикселей с альфой> 0, окруженную пикселями с альфой = 0), а затем пытаться сглаживать края объекта. Предложения?
Алгоритм сглаживания расторных изображений
Ответы (1)
Я предполагаю, что вы пытаетесь описать ситуацию, когда изображение объекта с альфа-каналом было вставлено на фон без альфа-канала, заменяя пиксели везде, где альфа > 0, а не смешиваясь должным образом. В полученном изображении каждый пиксель с альфой = 0 является фоном, каждый пиксель с альфой > 0 принадлежит объекту. Никакого смешивания не было, только наклеивание.
Итак, алгоритм угадывания того, какого цвета были пиксели, где альфа теперь не равна нулю, решит проблему. Если бы у вас было это, вы могли бы правильно выполнить смешивание во всех местах, где 0% ‹ альфа ‹ 100%, чтобы получить правильное сглаживание края.
Один из способов угадать отсутствующие значения пикселей — сделать каждый неизвестный пиксель средним значением пикселей вокруг него и повторять это до тех пор, пока не будет мало изменений. В значительной степени это алгоритм, используемый для устранения царапин на старых фотографиях с использованием расположенных рядом пикселей. Вы просили эффективный метод. метод с несколькими сетками поможет вам немного быстрее, когда есть большие области с неизвестными пикселями.
Как только у вас появится правдоподобный неизвестный фон, смешайте пиксели с альфой > 0, на этот раз должным образом принимая во внимание их альфу.