我们将提供2张图片。我们需要找出它们之间的差异并加以突出。
目前我已经在JAVA中找到了这个解决方案,但由于Android不支持BufferedImage,因此我无法继续进行下去。我已经接近比较两个位图的像素,但是遇到了问题。
我还尝试过比较两个位图的像素,但它会突出显示所有非白色的颜色。
void findDifference(Bitmap firstImage, Bitmap secondImage)
{
if (firstImage.getHeight() != secondImage.getHeight() && firstImage.getWidth() != secondImage.getWidth())
Toast.makeText(this, "Images size are not same", Toast.LENGTH_LONG).show();
boolean isSame = true;
for (int i = 0; i < firstImage.getWidth(); i++)
{
for (int j = 0; j < firstImage.getHeight(); j++)
{
if (firstImage.getPixel(i,j) == secondImage.getPixel(i,j))
{
}
else
{
differentPixels.add(new Pixel(i,j));
secondImage.setPixel(i,j, Color.YELLOW); //for now just changing difference to yello color
isSame = false;
}
}
}
imgOutput.setImageBitmap(secondImage);
}
提前致谢。
(Color.red(firstImage.getPixel(i,j)) - Color.red(secondImage.getPixel(i,j))) < eps && (Color.blue(firstImage.getPixel(i,j)) - Color.blue(secondImage.getPixel(i,j))) < eps && (Color.green(firstImage.getPixel(i,j)) - Color.green(secondImage.getPixel(i,j))) < eps
,尝试eps=3。 - taarraas