我有一个图像,其中有 6 个(每个一个像素)R=240、G=240、B=240 的白点,如下图所示。
我正在使用下面的代码计算每个像素的颜色值,但问题是这种方法没有给出准确的结果。
我的方法对吗?如果是,为什么这种方法没有给出准确的结果?提前致谢。
int getDotCount(Bitmap bm) {
int count = 0;
final int width = bm.getWidth();
final int height = bm.getHeight();
for (int x = 0; x < width; x++) {
for (int y = 0; y < height; y++) {
int pixel = bitmap.getPixel(x, y);
//RGB value for dot is 240
if (Color.red(pixel) == 240 &&
Color.red(pixel) == Color.blue(pixel) &&
Color.red(pixel) == Color.green(pixel)) {
count++;
}
}
}
return count;
}
最佳答案
经过长时间的研究,我终于弄清楚了我的问题。我将上面的图片放在 drawable
文件夹中,它由 Android 缩放。为了避免缩放图像,我将其放在 drawable-nodpi
中。它解决了我的问题。
感谢所有试图帮助我的人。干杯!!!
关于java - 计算位图中的点数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40903763/