我想分析关于 LED 闪烁的视频 (mp4)。背景通常为灰色,但 LED 的颜色可能会有所不同。LED 在视频中的距离足够近,因此 LED 灯是画面的最大部分。我找到了 Color-Thief,但它只是用于图像而不是用于视频。因为闪烁的频率也可能不同,所以我需要检查视频的每一帧是否有主色。
如果有人有任何想法,我将不胜感激。在此先感谢您的时间。
编辑:视频的两个屏幕截图(第一个红色 LED 关闭;第二个红色 LED 亮)(必须删除两个屏幕截图链接的颜色窃贼链接)
这是视频开始播放时调用的函数,应该分析视频。我试图通过平均颜色来做到这一点,但这没用,因为那通常是某种灰色/棕色。
function processFrame(e) {
var video = document.getElementById("video");
if (video.ended){
//dauer();
console.log("Ende");
//alert("Ende");
}
if (video.paused || video.ended) {
return;
}
var bufferCanvas = document.getElementById("buffer");
var displayCanvas = document.getElementById("display");
var buffer = bufferCanvas.getContext("2d");
var display = displayCanvas.getContext("2d");
buffer.drawImage(video, 0,0, bufferCanvas.width, displayCanvas.height);
var frame = buffer.getImageData(sx, sy, sw, sh);
var length = frame.data.length / 4;
for (var i = 0; i < length; i++) {
var r = frame.data[i * 4 + 0];
var g = frame.data[i * 4 + 1];
var b = frame.data[i * 4 + 2];
average= average +((r+g+b)/3)
}
averagecolor[i]=average
display.putImageData(frame, 0, 0);
setTimeout(processFrame, 0);
}