Braune Pixel erkennen?
Hallo,
ich habe mehrere Fotos und möchte mithilfe eines Pythonprogramms herausfinden, wie viele der Pixel des Bildes braun sind. Hat jemand einen Ansatz, wie man sowas lösen könnte?
Vielen Dank schonmal, ich freue mich über jede Antwort. :)
4 Antworten
Ein naviver ansatz wäre über jedes pixel zu laufen. Und den RGB farbwert des Pixels mit einem vorher frestgelegten bereich an Farbwerten zu vergleichen die Braun ergeben.
Besser wird es warscheinlich mit den HSV werten gehen.
Mit Python und Bildbearbeitung zusammen kenne ich mich nicht aus, mit python allein ein wenig.
Aber ein Pixel speichert ja die Farbwerte RGB. Wenn du diese extrahierst, kannst du daraus die Farbe ermitteln. Braunwerte gibt es viele. Finde die heraus und erstelle einen Bereich, in welchem der Braun Ton liegen soll. Dann mache einen Abgleich
Zuerst würde ich die einzelnen Pixel von dem Bild auslesen. Siehe z.B. hier:
https://stackoverflow.com/questions/138250/how-to-read-the-rgb-value-of-a-given-pixel-in-python
Dazu dann noch eine Funktion die zu einem gegeben RGB/HEX/HSV Wert sagt ob der jeweilige Wert braun oder nichtbraun ist. Dafür müsstest du entsprechende Schranken festlegen.
Dann einfach über alle Pixel iterieren und jeden Pixel überprüfen.
Fast jede Programmiesprache bietet Methoden und Funktionen für die Bildverarbeitung an.
Und die Methode heisst fast immer getpixel.
https://www.geeksforgeeks.org/python-pil-getpixel-method/
Du kannst nun jeden Pixel durch 2 for Scheifen für die x bzw y Achse auslesen. Und dann musst du allerdings die Farbe braun als RGB festlegen.