電子書籍の厳選無料作品が豊富!

Javaを使用して、2つの画像が同じものかを比較する処理ってできるのでしょうか?

良い方法があれば、教えてください

A 回答 (2件)

ピクセル単位で画像が同じものかどうか判別するのであれば。


読み込む画像はRGBで表すデータとします。

BufferedImage readImage1 = null;
try {
// image読み込み
readImage1 = ImageIO.read(new File(filename));
} catch (Exception e) {
e.printStackTrace();
}
// Rasterオブジェクトの生成
Raster raster1 = readImage1.getData();
// ピクセルごとのバンド幅取得(例:RGB)
int band1 = raster1.getNumBands();
// ピクセルデータを取得するバッファ
double[] buf1 = new double[band1];
// ピクセルデータの取得(この例では座標 0,0)
buf1 = raster1.getPixel(0, 0, buf1);
こんな感じでbuf1にピクセルのデータが入ります。
これを比較する画像同士の全ピクセル分調べれば同じ画像かどうか判別できます。

この回答への補足

ありがとうございます。

早速試してみました。
違う画像同士でやったのですが、同じピクセルデータという結果が返ってきました。
比較した画像(PNG)に問題があるのでしょうか?


申し訳ないのですが、他に考えられる方法があれば教えてください。

補足日時:2007/05/18 20:52
    • good
    • 0

その画像のファイルネームを.equalsで比較とかでいいんじゃない?



それとも、画像自体を比較って事なのかな?

この回答への補足

画像自体の比較です。
説明不足ですみません。

補足日時:2007/05/16 15:44
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!