サーバーからダウンロードしている画像とバンドルに保存されている画像を比較して、同じ画像かどうかを確認したいと考えています。iOSでこれをどのように達成しますか?
ありがとう!
シュレッダー
サーバーからダウンロードしている画像とバンドルに保存されている画像を比較して、同じ画像かどうかを確認したいと考えています。iOSでこれをどのように達成しますか?
ありがとう!
シュレッダー
同じ画像かどうかを知りたい場合は、ハッシュ関数を使用するだけです。
使用するハッシュ関数を決定した場合は、画像自体を送信する代わりに、サーバーに画像のハッシュを送信させ、それを画像のローカル ハッシュと比較させることもできます。
ハッシュが一致する場合、イメージをダウンロードする必要はまったくありません。一方、ハッシュが異なる場合は、新しいイメージをダウンロードする必要があることがわかります。
画像が再圧縮されていないなど、まったく同じであることが予想される場合は、両方をNSData
オブジェクトにロードして と比較できますisEqualToData:
。
メタデータが異なる可能性があるが、画像が同じである場合は、それらを画像として読み込んで、次のようなデコードを使用して実際の画像ピクセルを比較できます: UIImage (Cocoa Touch) または CGImage (Core) からピクセル データを取得する方法グラフィック)? .
それらが類似しているが、異なる形式または再圧縮されている可能性がある場合は、OpenCVなどの画像比較ソフトウェアが必要です。
最初に画像サイズを比較し、サイズが同じであれば、画像比較で回答を使用できます