我有Android
在数据库中存储图片的代码。如何将存储的照片与拍摄的照片进行比较?
可能有几个正确的答案,具体取决于您要查找的内容。
如果您正在谈论比较使用设备上相机制作的新照片,那么它几乎不可能与任何现有文件进行逐字节匹配。
如果您想从可能有副本的来源中检测完全匹配,请查看两个图像的文件大小和尺寸。如果它们完全相同,那么您可以查看字节。为了节省时间,请将内容的数字签名(例如,MD5 或 SHA1)哈希与图像一起存储在数据库中。
如果您想确定图像在外观上是否相似,那么您必须找到某种方法来表征图像。我不是这方面的专家,但在我幼稚的方法中,我会做一些事情,比如将图像分成固定数量的区域,并测量每个区域中红色、绿色和蓝色的数量。当找到近似匹配时,您甚至可以在越来越小的区域上递归地执行此操作。比较整个图像比找到部分匹配要容易得多。
你可以一点一点地阅读它并在它之间进行比较:)如果它是相同的。就像您知道从 0 和 1 构建的每个文件一样,因此您可以像二进制文件一样打开它并进行比较。
另一种解决方案。您可以阅读保存在图像文件中的图像和属性(例如:大小、宽度、高度、类型)...
我希望我能帮上忙;)