我正在寻找一种好的(简单,相对快速)算法,用于比较视频帧和计算帧之间的差异。我想象一个这样的函数:
//Same Scene
diff = ImageDiff(FrameInScene1, nextFrameInScene1);
//diff is low
//Scene Boundary
diff = ImageDiff(FrameInScene2, nextFrameInScene3);
//diff is high
其中diff是帧之间的相似性/差异的数值。例如,同一场景中的两个相邻帧将具有较低的值,但场景更改将具有非常高的值。
注意:我不是在寻找一种场景检测算法(有些是基于时间码的),但这是一个很好的例子。
带有C#代码的库是理想的
答案 0 :(得分:1)
连续帧?均方误差,平均绝对误差,PSNR。
鉴于您的问题信息很少,建议更多信息是没有意义的。
答案 1 :(得分:-1)
我不确定C#!你用过openCV吗?我在C中编写了代码,并使用了BHATTACHARYA算法进行比较。您可以使用c#中的OpenCV查看:http://www.emgu.com/wiki/index.php/Main_Page。
你要做的就是:
我希望这会有所帮助。