реализация прозрачности в YUV422 с использованием только Y

Допустим, у нас есть 2 изображения в формате YUV422, и предположим, что поле Y второго изображения со значением 0x10 прозрачно и объединено с первым с перезаписанными Cb и Cr.

В результате такого слияния получаются некрасивые границы (эффект разделенной пиксельной линии) сплошных фигур. Есть ли способ создать комбинацию значений на границах, чтобы переход был плавным?


person Ulterior    schedule 09.07.2011    source источник


Ответы (1)


Эта проблема не характерна для YUV4:2:2:, но возникает всякий раз, когда используется двоичная прозрачность. Лучшее решение — использовать четырехканальное изображение и добавить альфа-канал. По сути, альфа-канал представляет «степень непрозрачности» каждого пикселя. Когда два изображения с альфа-каналами перекрываются, альфа-смешивание дает результат, который выглядит намного лучше.

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

person Michael Koval    schedule 09.07.2011
comment
Слияние происходит после того, как я могу что-то с ним сделать. Первое изображение меняется независимо от фона, поэтому сглаживание помогло бы, если бы оно было статичным, но не в этом случае. - person Ulterior; 09.07.2011
comment
Знаете ли вы (или программно определяете) границу двух изображений? - person Michael Koval; 09.07.2011
comment
Изображения имеют одинаковый размер, я не уверен, как здесь могут быть связаны границы. Если это поможет - описанный здесь принцип называется On Screen Display. - person Ulterior; 10.07.2011
comment
Можете выложить скриншот проблемы? - person Michael Koval; 10.07.2011