Pixelzählen (Absolute Noobfrage)
Verfasst: Mittwoch 24. Februar 2016, 16:43
Huhu,
ich bin ganz neu (gerade eben bei 0 begonnen) und nach einigem Suchen habe ich keine Lösung gefunden, daher habe ich mich hier mal angemeldet:
Problem:
Ich habe eine kleine Bilddatei gemacht. Diese soll eine Testdatei sein, bei welcher eine 10 pixel-lange Reihe schwarze Pixel sind, gefolgt von einer Reihe blauer, grüner und schließlich roter Pixel. Die Pixel sollen gezählt werden.
Meine bisherige Lösung die an dem Bild testdatei.png (http://www.file-upload.net/download-113 ... d.png.html
) leider nicht funktioniert:
wäre super wenn jemand mir schnell sagen kann wo mein Fehler liegt . Und sry. ich bin totaler Anfänger, ich hab echt keine Ahnung was ich eigentlich tue. Aber für mich ergibt das vom Gedankengang her Sinn. Denn eigentlich sag ich dem Programm ja nur, setze Zähler anfangs auf Null. Schau in der Datei welche Farbwerte das Pixel hat. Wenn es den richtigen Farbwert hat, so setze den Counter +1 und gebe mir später das Ergebnis aus.
P.S. Farbwerte entsprechen exakt den Farbwerten aus der Datei
ich bin ganz neu (gerade eben bei 0 begonnen) und nach einigem Suchen habe ich keine Lösung gefunden, daher habe ich mich hier mal angemeldet:
Problem:
Ich habe eine kleine Bilddatei gemacht. Diese soll eine Testdatei sein, bei welcher eine 10 pixel-lange Reihe schwarze Pixel sind, gefolgt von einer Reihe blauer, grüner und schließlich roter Pixel. Die Pixel sollen gezählt werden.
Meine bisherige Lösung die an dem Bild testdatei.png (http://www.file-upload.net/download-113 ... d.png.html
) leider nicht funktioniert:
Code: Alles auswählen
from PIL import Image
import operator
img = Image.open("testbild.png")
r = (254,3,4) # Farbwert entspricht Absolutwert (001) entsprechend EBSD-Orientierungsdreieck
bl = (1,3,254) # Farbwert entspricht Absolutwert (111) entsprechend EBSD-Orientierungsdreieck
g = (4,254,4) # Farbwert entspricht Absolutwert (011) entsprechend EBSD-Orientierungsdreieck
b = (0,0,0) # Schwarzfarbauswahl entspricht dem Schwarz der Korngrenzen
red=0 #counter rot ist Null
blue=0 #counter blau ist Null
black=0 #counter schwarz ist Null
green=0 #counter grün ist Null
for pixel in img.getdata():
if pixel == b:
black += 1
elif pixel == bl:
blue += 1
elif pixel == g:
green += 1
elif pixel == r:
rot += 1
print("schwarze Pixel:" +str(black)+ "grüne Pixel:" +str(green)+ "rote Pixel:" +str(red)+ "blaue Pixel:" +str(blue))P.S. Farbwerte entsprechen exakt den Farbwerten aus der Datei