【发布时间】:2012-08-04 14:31:06
【问题描述】:
我正在为 android 编写一个小型应用程序,我需要在两张图片之间进行比较。 图片表示为两字节数组。
是否有算法可以比较它们?我需要检查他们之间所做的更改。
【问题讨论】:
-
它们是否需要完全相等或者是否有某种接近阈值?如果它们需要相等,您可以使用
Arrays.equals():docs.oracle.com/javase/7/docs/api/java/util/…, byte[]) -
它们不必完全相等。我正在编写运动检测器,所以我想每次比较帧以检查是否进行了任何更改。谢谢
-
我认为
optical flow是您正在寻找的。如果可以的话,OpenCV 中有一个实现。 opencv.willowgarage.com/documentation/cpp/… -
假设字节数组只包含图像数据(没有文件头,这在两个看似相同的图像之间可能不同),一个简单的算法来找到不同的字节数将只是遍历数组逐个字节地比较,总结差异......
-
查看各种 cmets,似乎要求的是一种算法,它将比较两个图像并提供两者之间差异的描述。根本问题似乎是如何描述两个图像之间的差异。因此,这不仅仅是确定哪些像素不同的问题,而是提供某种衡量图像如何不同的方法。是否需要图像识别或提供差异测量就足够了?
标签: java android image-comparison