什么是用于比较视频帧差异的良好图像处理算法?

时间:2011-03-11 19:05:14

标签: c# image-processing

我正在寻找一种好的(简单,相对快速)算法,用于比较视频帧和计算帧之间的差异。我想象一个这样的函数:

//Same Scene
diff = ImageDiff(FrameInScene1, nextFrameInScene1); //diff is low
//Scene Boundary
diff = ImageDiff(FrameInScene2, nextFrameInScene3); //diff is high

其中diff是帧之间的相似性/差异的数值。例如,同一场景中的两个相邻帧将具有较低的值,但场景更改将具有非常高的值。

注意:我不是在寻找一种场景检测算法(有些是基于时间码的),但这是一个很好的例子。

带有C#代码的库是理想的

2 个答案:

答案 0 :(得分:1)

连续帧?均方误差,平均绝对误差,PSNR。

鉴于您的问题信息很少,建议更多信息是没有意义的。

答案 1 :(得分:-1)

我不确定C#!你用过openCV吗?我在C中编写了代码,并使用了BHATTACHARYA算法进行比较。您可以使用c#中的OpenCV查看:http://www.emgu.com/wiki/index.php/Main_Page

你要做的就是:

  1. 抓住两帧。
  2. 在两个单独的指针中获取这些直方图。
  3. 传递这两个指针并使用归一化因子并比较直方图。
  4. 我希望这会有所帮助。