私のアプリケーションでは、カメラを使用して2つの画像をキャプチャして、それらの画像を比較したいと思います。はアンドロイドの2つの画像を比較します
どのように2つの画像を比較できますか?
編集: 比較最初の画像は、2番目の画像のピクセルと正確に同じです。
ありがとうございます。
私のアプリケーションでは、カメラを使用して2つの画像をキャプチャして、それらの画像を比較したいと思います。はアンドロイドの2つの画像を比較します
どのように2つの画像を比較できますか?
編集: 比較最初の画像は、2番目の画像のピクセルと正確に同じです。
ありがとうございます。
1. falseを返していない場合は高さが、一致していることを確認します。次に、幅が一致するかどうかを確認し、一致しない場合はfalseを返します。次に、一致しないピクセルを見つけるまで各ピクセルをチェックします。そうしたら、falseを返します。すべてのピクセルが一致する場合はtrueを返します。
擬似コード:
bool imagesAreEqual(Image i1, Image i2)
{
if (i1.getHeight() != i2.getHeight()) return false;
if (i1.getWidth() != i2.getWidth()) return false;
for (int y = 0; y < i1.getHeight(); ++y)
for (int x = 0; x < i1.getWidth(); ++x)
if (i1.getPixel(x, y) != i2.getPixel(x, y)) return false;
return true;
}
現実には、あなたはおそらく、ちょうどバイトを比較することができます場合は2次元配列として画像を扱いたいです。私はAndroidのイメージAPIを知らないが、getPixelは遅いかもしれない。
2.おそらく、画像をbyte64文字列に変換して比較することができます。 Android用
3. * * OpenCVのlibに:
は、画像圧縮のための機能に
**持っています。Core.absdiff()
b。詳細はCore.compare()
使用ビットマップsameAsのを参照してください。
http://developer.android.com/reference/android/graphics/Bitmap.html#sameAs(android.graphics.Bitmap)
> = API 12、それは最善の答えではありません。 – TeeTracker
比較を定義します。 –
「比較」とは何ですか?形態学的な類似性、色、頻度などを検索することができます – jose
魔法の三脚を持っていない限り、これらの2つのカメラのキャプチャはピクセル単位で一致することはありません。 –