compare two images in android

前端 未结 2 1383
说谎
说谎 2020-11-28 11:24

In my application I want to capture two images using camera and then I want to compare those images.

So, how can I compare two images?

EDIT: Compare First im

相关标签:
2条回答
  • 2020-11-28 11:59

    Use bitmap sameAs.

    http://developer.android.com/reference/android/graphics/Bitmap.html#sameAs(android.graphics.Bitmap)

    0 讨论(0)
  • 2020-11-28 12:07

    1. Check that the height matches, if not return false. Then, check if the width matches, and if not, return false. Then check each pixel until you find one that doesn't match. When you do, return false. If every pixel matches, return true.

    Pseudocode:

    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;
    }
    

    in reality, you probably want to treat the image as a two dimensional array if you can, and just compare bytes. I don't know the Android image API, but getPixel might be slow.

    2. maybe you convert the images in to byte64 Strings and then compare them.

    3.**OpenCV lib for Android :
    have to functions for images compression

    **a.
    Core.absdiff() b. Core.compare()

    for more details see comparing two images

    0 讨论(0)
提交回复
热议问题