Ich habe ein Bild, in dem es 6 (jeweils ein Pixel) weiße Punkte mit R = 240, G = 240, B = 240 wie unten Bild.Anzahl der Punkte in Bitmap
Ich berechne Farbwert für jedes Pixel, indem Sie den folgenden Code verwenden, aber das Problem ist, dass diese Methode kein genaues Ergebnis liefert.
Mache ich die richtige Methode? Wenn ja, warum gibt diese Methode kein genaues Ergebnis? Danke im Voraus.
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;
}
Sieht für mich richtig aus, da scheint ein anderes Problem zu sein. – Henry
Könnte es sein, dass jeder Punkt tatsächlich 4 Pixel groß ist? – Henry
ya ich kann 4 Pixel für jeden Punkt machen. Aber kannst du mir den Grund sagen? –