摄像头监控一个环境。首先保存一个样本副本。然后再间隔时间截图比较画面是否发生改变。但是摄像头的画面会有雪花的闪烁。所以比较出来的图像即使间隔一秒也不是完全一致的。(本人用ScanLine隔行扫描对比)。
  求教一下,如何 模糊比较,使得图像发生较大的改变(如肉眼可明显识别的像素大小)才识别为图像改变。

解决方案 »

  1.   

    抓取屏幕后应该分块比较,最后才是传输;可以参考一下大侠们的例子:
    http://www.2ccc.com/article.asp?articleid=5284
      

  2.   

    看下opencv
    吧。。
    或者自己写个简单的算法
      

  3.   

    先将图片都转成二值图,再比较像素的RGB。
      

  4.   

    我来简单的说一下过程
    首先取一原图--->二值化 做为源目标
    再取一张现在的图(估计有部份雪花)--->二值化下面就是一个算法问题了
    因为你的摄像头是固定死的,所以不用考虑变形问题
    1.算用像素对比
    2.步行列进间隔1-3像素(可以加快计算速度)
    3.容差(阀值)这点很重要,因为有雪花,必须做这一步.
    至于你不明白容差,我给你简单的讲一下
    两张图有雪花的情况下
    比如第1张图3,3这个点是白色的,第2张有可能3,3这个坐标点是黑色的
    所以你在写循环时要做个变量记录它
    100个像素点-->有1-10个像素不同-->我们可以认为它无变化
    100个像素点-->有10-50个像素不同-->我们认为两张图不一样了
    这个你可以加个参数,在界面控制
    估计你算法基础薄弱了点点,加油!