比较下载的图像与保存的图像?

时间:2012-08-01 02:51:59

标签: ios cocoa-touch ipad uiimage comparison

我想将我从服务器下载的图像与保存到图像束中的图像进行比较,以查看它是否是相同的图像。我将如何在iOS中实现这一目标?

谢谢!

碎纸机

3 个答案:

答案 0 :(得分:2)

如果您想知道它是否是相同的图像,那么您应该只使用哈希函数。

如果您已经决定应该使用什么哈希函数,那么您甚至可以让服务器向您发送图像的哈希值,并将其与图像的本地哈希值进行比较,而不是将图像本身发送给您。

如果哈希匹配,则根本不需要下载图像。另一方面,如果哈希值不同,那么您就知道需要下载新图像。

答案 1 :(得分:2)

如果预计图像完全相同,不进行重新压缩或任何处理,您可以在NSData对象中加载它们并将其与isEqualToData:进行比较。

如果它们可能具有不同的元数据,但图像仍然相同,那么您可以将它们作为图像加载,并使用类似于此的解码来比较实际图像像素:How to get pixel data from a UIImage (Cocoa Touch) or CGImage (Core Graphics)?

如果它们相似,但可能格式不同或重新压缩,那么您需要图像比较软件,例如OpenCV

答案 2 :(得分:0)

首先,您可以比较图像尺寸,然后尺寸相同,然后您可以使用Image comparison

处的答案