Javascript色度键阈值以及如何编码?

时间:2018-04-12 13:55:59

标签: javascript canvas video colors chromakey

我目前正在尝试使用视频制作色度键效果。 它部分工作,意思是:只有几个像素是透明的。但是我需要使相同颜色范围内的其他像素或颜色邻域透明。

以下代码是使用requestAnimationFrame调用的代码。

任何帮助将不胜感激!

computeFrame() {
    this.c_frame_context.drawImage(
        this.video,
        0,
        0,
        this.c_frame.width,
        this.c_frame.height,
    );
    let frame = this.c_frame_context.getImageData(
        0,
        0,
        this.c_frame.width,
        this.c_frame.height,
    );
    let l = frame.data.length / 4;

    for (let i = 0; i < l; i++) {
        let r = frame.data[i * 4 + 0];
        let g = frame.data[i * 4 + 1];
        let b = frame.data[i * 4 + 2];
        if (r > 180 && g > 194 && b < 189) frame.data[i * 4 + 3] = 0;
    }
    this.c_processed_context.putImageData(frame, 0, 0);
    return;
}

0 个答案:

没有答案