比较1秒后拍摄的2个位图

本文关键字:2个 位图 1秒 比较 | 更新日期: 2023-09-27 18:24:01

我想写一个非常简单的程序来逐像素比较2个ARGB阵列。两张图像的分辨率相同,使用相同的相机源拍摄。

由于相机静止不动,我原以为这是一个通过比较位图源的相当简单的程序

  1. 将每个像素转换为灰度级像素
  2. 从文字上比较从位置0到N的每个像素
  3. 使用isClose方法进行近似+/-3

结果是我有太多的错误位。但当从中取出JPEG并用肉眼查看时,它们似乎是相同的(事实就是这样)。

为什么你认为我在比较它们时会看到这么多错误?

顺便说一句,我正在尝试写一个非常基本的运动检测版本。

比较1秒后拍摄的2个位图

如果您正在跟踪已知对象,则可以在比较图像之前对其进行预处理。例如,如果你正在跟踪的是一个球,并且它看起来比周围环境更亮,你可以设置灰度图像的阈值,从而生成一个只有黑色或白色的图像。然后检测所谓的"轮廓"(请参阅openCV文档)。一旦你在任何图像中得到了你想要的轮廓(球),你就可以比较它在每个连续图像中的位置。有一些算法可以帮助找出移动物体下一个会在哪里,从而有助于在下一帧中找到它。如果不知道自己在做什么,就很难给出任何具体的东西
我看到你是C#。。。也许这会有所帮助:OpenCV的.Net(dotNet)包装器?

b/c图片不一样。你每次按下相机的按钮都有点不同。如果逐像素比较,变化是"巨大的"。

我不是运动检测方面的专家,但试着比较一个像素周围的平均值——我认为这会给你更好的结果。