Затемнение видео, воспроизводимых на ARCore в Android

В настоящее время я работаю над проектом AR, который требует воспроизведения видео при сканировании изображения.

Мне удалось объединить образцы AugmentedImage и chromakeyvideo из репозитория sceneform-android-sdk для успешного рендеринга видео, однако я заметил, что воспроизводимые видео заметно отличаются высокой контрастностью.

Я использую специальный файл .mat, полученный из другого вопроса здесь.

Демо:

Затемнение видео, воспроизводимых на ARCore в AndroidЗатемнение видео, воспроизводимых на ARCore в Android

Я попытался вычесть из alpha в файле .mat, но это не сработало.

Я должен был возиться с частью RGB?

Пожалуйста, помогите!

4
0
399
1

Ответы 1

There are two issues touching your image darkening: ColourSpace and Keying Quality.

  1. Как я вижу на нижнем изображении, у видео невысокий контраст - это неправильный ColourSpace.

Попробуйте преобразовать его в sRGB или в HDR10 или в DCI-P3 в зависимости от версии вашей ОС Android и вашего hardware / software.

Прочтите эти две полезные статьи: Управление цветом Android и Цветовые гаммы Android Oreo.

  1. Кроме того, низкокачественный кеинг (извлечение альфа-канала) потенциально может изменить цвет и контраст RGB. На следующем изображении показано, сколько дыр может быть в альфа-канале (что порождает дыры в RGB, потому что это предварительно умноженное изображение - RGB * A).

Вы можете извлечь альфа-канал низкого качества, из-за которого ваше изображение будет плохо выглядеть. Следующее изображение показывает высококачественный (чистый) извлеченный альфа-канал (на LEFT) по сравнению с низкокачественным (грязным) извлеченным альфа-каналом (на RIGHT).

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

Surya Teja Karra 28.10.2018 07:01

Что вы имеете в виду, говоря chromakeyvideo?

Andy Jazz 28.10.2018 11:45

Другие вопросы по теме