【发布时间】:2017-12-20 21:24:22
【问题描述】:
我正在制作一个 Android 应用程序,用户在其中拍摄两张图像,第一张图像逐个像素地从第二张图像中“减去”。
本质上是将两个Bitmaps转换为2D int数组,使用以下方法进行图像减法:
private int[][] pixelmapDifference(int[][] subtrahend, int[][] minuend) {
int[][] diff = new int[subtrahend.length][subtrahend[0].length];
for (int x = 0; x < diff.length; x++) {
for (int y = 0; y < diff[0].length; y++) {
diff[x][y] = minuend[x][y] - subtrahend[x][y];
}
}
return diff;
}
然后将生成的二维数组转换为位图。这就是 3 张图片的样子(第一张、第二张和不同)。
我该如何解释呢?我想知道两者之间的区别,在这种情况下只是水。
【问题讨论】:
-
你不能只用图像减去这样的值。描述你真正想要达到的目标。请注意,计算机在比较图像之类的事情上真的很糟糕,因为重要的不是精确值而是模式。识别特征的计算机视觉仍然是一个热门领域。