2017-01-28 6 views
1

私はmetadata-extractorを使って画像を整理し、重複を見つけるJavaアプリケーションを作成しています。 APIは素晴らしいですが、私が理解できないことがあります。生の画像データにアクセスする方法

JPGイメージが2つあるとします。これらの画像は、視覚的に全く同じである(すなわち、同じピクセル単位で)。しかし、ファイルにカプセル化されたメタデータ内の何かが異なるかもしれません。

それぞれファイルでMD5ハッシュを計算すると、2つの異なるハッシュが得られます。しかし、私は両方のファイルに対して同じハッシュをもたらす画像/ピクセルデータのみのハッシュを計算したい。

So - 私はこれで自分のハッシュを計算できるように、メタデータ抽出機能を使ってJPGから生のイメージ/ピクセルデータを引き出す方法はありますか?

また、このAPIではJavadocを利用できますか?私はそれを見つけるように見えない。

+0

なぜあなたはmd5ハッシュを使用していますか?単純にファイル内のデータを比較するのは速くないでしょうか?また、jpegエンコーディングを見ることができ、それぞれのチャンクから画像データを取得することができます。 –

+0

また、ビットマップ(x、yをargb)を抽出したい場合は、メタデータ抽出プログラムを使用しない方が簡単だと私の意見では思います。 jpegをバイナリファイルとして開き、画像データのチャンクを解析するプロセスは、apiを処理するよりも短いプロセスのようです。これは事実に基づいているのではなく、私の意見は簡単にそのAPIを見ています。 –

+0

はい、データを比較するだけで簡単になります。私はJPGを選択する方法に慣れていないので、画像データを表す「それぞれのチャンク」をどうやって取得するのか分かりません。 –

答えて

1

これは、ライブラリのJpegSegmentReaderクラスを使用して実現できます。画像データを含むJPEGセグメントを引き出し、メタデータセグメントを無視します。

このテクニックはanother answerで議論されており、質問者は彼らがアプローチで成功したことを示しました。

これは、実際にはライブラリのサンプルアプリケーションを作成します。あなたが何かを考え出して共有したいと感じたら、してください。

関連する問題