0

ユーザーがカメラで撮影した新しい画像を取得してそのチェックサムを保存すると、後でユーザーが同じ画像をカメラロールからリロードすると、チェックサムが異なります。これは、カメラ ロールに保存されている画像が JPG 形式であり、損失が多いため、ピクセルが異なるためでしょうか? チェックサムを使用して同じ画像であることを検出しようとしています:この状況を克服する方法はありますか? 自分でJPGとして保存してから、後でカメラロールから取得するのと同じバイトを取得できるようにメモリに読み込む必要がありますか? その場合、カメラ ロールと同じ JPG 形式で保存することも確認する必要があります。

ありがとう!パトリック

4

2 に答える 2

0

私は iPhone の専門家ではありませんが、JPEG を保存するときに多くの「品質」パラメータがあり、画像がわずかに異なるパラメータで JPEG 形式にエンコードされると、ピクセル値が異なることを知っています。

したがって、カメラロールとまったく同じプロセスを使用して画像を JPEG に確実に変換する方法を見つけられない限り、自分で画像を JPEG に変換してもあまり役に立ちません。

カメラ ロール内の画像の作成時刻、または同様のメタデータを読み取ることができる場合、これはおそらくより良い方法です。

于 2009-12-06T04:57:11.353 に答える
0

画像を返す API は、カメラからの生データ、またはライブラリから生データに変換された画像を返します。

ご想像のとおり、JPG プロセスは非可逆であるため、画像が同じサイズであっても生データは異なります。

おそらく、いくつかの固定された場所でエリアの平均を取り、それをチェックサムとして使用する方が良いでしょうが、もちろん誤検知が簡単に発生する可能性があるため、その方法に注意する必要があります.

于 2009-12-06T05:08:33.107 に答える