Тема: Chroma Keying?
Показать сообщение отдельно
Старый 04.12.2010, 00:47
Zebestov вне форума Посмотреть профиль Отправить личное сообщение для Zebestov Посетить домашнюю страницу Zebestov Найти все сообщения от Zebestov
  № 1  
Ответить с цитированием
Zebestov
Lorem ipsum
 
Аватар для Zebestov

модератор форума
Регистрация: May 2001
Адрес: Одесса
Сообщений: 4,869
Записей в блоге: 4
По умолчанию Chroma Keying?

Думал найти уже готовый, но они работают как-то сложнее и хуже 0о
Сварганил свой )

Код:
<languageVersion : 1.0;>

kernel GreenscreenKeying
<
    namespace : "ChromaKeying";
    vendor : "Vadim BELLinSKY";
    version : 1;
    description : "Greenscreen keying";
>
{

    parameter float threshold
    <
        minValue:       float(0.0);
        maxValue:       float(3.0);
        defaultValue:   float(1.8);
    >;

    input image4 src;
    output pixel4 dst;

    void
    evaluatePixel()
    {
        dst = sampleNearest( src, outCoord() );
        dst.a = 1.0 - ( dst.g * threshold - dst.r - dst.b ) * 5.0;
    }

}
Работает с зеленым фоном разной степени однотонности и яркости. Очевидные изменения приведут к пригодности для синего фона.
Может встречалось что попроще (ну это вряд ли) или качественнее — киньте ссылкой плиз.
__________________
Поймай яблоко 2!