【发布时间】:2023-03-06 14:41:01
【问题描述】:
我想将我从服务器下载的图像与保存到捆绑包中的图像进行比较,以查看其是否相同。我将如何在 iOS 中实现这一点?
谢谢!
碎纸机
【问题讨论】:
标签: ios cocoa-touch ipad uiimage comparison
我想将我从服务器下载的图像与保存到捆绑包中的图像进行比较,以查看其是否相同。我将如何在 iOS 中实现这一点?
谢谢!
碎纸机
【问题讨论】:
标签: ios cocoa-touch ipad uiimage comparison
如果预期图像完全相同,没有重新压缩或其他任何内容,您可以将两者都加载到 NSData 对象中并将其与 isEqualToData: 进行比较。
如果它们可能具有不同的元数据,但图像仍然相同,那么您可以将它们作为图像加载并使用类似于以下解码的方式比较实际图像像素:How to get pixel data from a UIImage (Cocoa Touch) or CGImage (Core Graphics)?。
如果它们相似,但格式可能不同或重新压缩,那么您需要图像比较软件,例如OpenCV.
【讨论】:
如果你想知道它是否是 same 图像,那么你应该使用散列函数。
如果您已经决定应该使用什么哈希函数,那么您甚至可以让服务器向您发送图像的哈希值并将其与图像的本地哈希值进行比较,而不是向您发送图像本身。
如果哈希匹配,则根本不需要下载图像。另一方面,如果哈希值不同,那么您知道您需要下载新图像。
【讨论】:
首先你可以比较图像大小然后大小相同然后你可以在Image comparison使用答案
【讨论】: