Je suis nouveau sur Java et je veux compter les pixels rouges dans une image donnée. J'ai ci-dessous le code jusqu'à présent, mais je ne suis pas sûr de la condition à ajouter pour vérifier si le pixel est rouge. J'ai sous le code jusqu'ici. Merci d'avance.Nombre de pixels rouges dans une image donnée
public static int countRedPixels(Picture v){
BufferedImage image = (v.getBufferedImage());
int width = image.getWidth();
int height = image.getHeight();
int redCount = 0;
int pixelCount = 0;
for (int x = 0; x < width; x++) {
for (int y = 0; y < height ; y++) {
int rgb = image.getRGB(x, y);
//get rgbs
//int alpha = (rgb >>> 24) & 0xFF;
int red = (rgb >>> 16) & 0xFF;
int green = (rgb >>> 8) & 0xFF;
int blue = (rgb >>> 0) & 0xFF;
if (red == 255 && green == 0 && blue == 0 || image.getRGB(x, y) == 0xFFFF0000) {
redCount++;
}
pixelCount++;
}
}
System.out.println("Red Pixel Count:" + redCount);
System.out.println("Pixel Count:" + pixelCount);
return redCount;
}
Je suppose que cela dépend de votre définition de * rouge *? Serait-ce rgb (255,0,0)? – domsson
Oui, ce serait (255,0,0). –
Eh bien, alors ... 'if (rouge == 255 && vert == 0 && bleu == 0) {++ redCount; } '? Ou même 'if (rgb == 0xFFFF0000) ...' – domsson