G
Guest
Gast
Hi,
Ich stehe grad von einem kleinen Problem. Ich muss von einem BufferedImage-Objekt alle Bildpunkte finden, welche für uns Menschen Rot aussehen. Dazu verwende ich folgende Methode:
Ich prüfe einfach, ob der Rotanteil bei einem Pixel mindestens 42.5% beträgt. Dies funktioniert zwar meistens gut, aber leider erkennt er damit leider auch teilweise klar nicht-Rote Punkte.
Kennt ihr eine verlässliche Methode, wie man das zuverlässig machen kann?
Thanks!
Smudo
Ich stehe grad von einem kleinen Problem. Ich muss von einem BufferedImage-Objekt alle Bildpunkte finden, welche für uns Menschen Rot aussehen. Dazu verwende ich folgende Methode:
Code:
private boolean isRedColor(Color pixelColor) {
double minPercentage = 42.5d;
int colorSum = actualColor.getRed() + actualColor.getGreen() + actualColor.getBlue();
if (colorSum == 0) // black - if not checked here there could be a div/null below
{
return false;
}
double percentageRed = 100.0 / colorSum * actualColor.getRed();
if (percentageRed > minPercentage) {
return true;
}
return false;
}
Ich prüfe einfach, ob der Rotanteil bei einem Pixel mindestens 42.5% beträgt. Dies funktioniert zwar meistens gut, aber leider erkennt er damit leider auch teilweise klar nicht-Rote Punkte.
Kennt ihr eine verlässliche Methode, wie man das zuverlässig machen kann?
Thanks!
Smudo