我想将我从服务器下载的图像与保存到图像束中的图像进行比较,以查看它是否是相同的图像。我将如何在iOS中实现这一目标?
谢谢!
碎纸机
答案 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
处的答案