我正在考虑编写一个非常简单的程序来逐像素地比较2个ARGB数组。两张图像的分辨率相同,使用相同的相机拍摄。
由于相机处于静止不动状态,我希望通过
来比较位图来源是一个相当简单的程序结果是我有太多的错误位。但是当从中取出JPEG并用肉眼观察它们时,它们似乎是相同的(情况就是这样)。
为什么你认为我在比较时会看到这么多错误?
BTW - 我正在尝试写一个非常基本的运动检测版本。
答案 0 :(得分:1)
如果您要跟踪已知对象,则可以在比较图像之前对其进行预处理。例如,如果它是您正在跟踪的球并且它看起来比周围环境更亮,则可以对灰度图像进行阈值处理,该图像将生成仅具有黑色或白色的图像。然后,您可以检测所谓的“轮廓”(请参阅openCV文档)。获得任何图像后的(轮廓)轮廓后,您可以比较每个连续图像中的轮廓位置。有一些算法可以帮助确定下一个移动对象的位置,这样有助于在下一帧中找到它。 如果不确切知道自己在做什么,就很难给出任何具体内容 而且我看到你是C#......也许这会有所帮助:.Net (dotNet) wrappers for OpenCV?
答案 1 :(得分:0)
b / c图片不一样。 每一个你按下相机的按钮有点不同。 变化是巨大的"如果你逐个像素地比较。
我不是运动检测专家,但尝试比较像素周围的平均值 - 我认为它会给你更好的结果。