Hallo, ich habe ein kleines Python-Skript geschrieben, mit dem man herausfinden kann, ob ein RGB-Bild schwarzweiss (Graustufen) oder farbig ist. Mich interessiert nun, obs vielleicht noch eine bessere Methode gibt als die, die ich benutzt habe (Vergleich der R-G-B-Kanäle als String, wenn identisch, ist das Bild monochrom). Hier mein Skript:
Code: Alles auswählen
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from PIL import Image
img = Image.open('Beispielbild.tif')
channels = img.split()
r = channels[0].tostring()
g = channels[1].tostring()
b = channels[2].tostring()
if r == g == b: print 'S/W'
else: print 'Farbe'
Performance ist eigentlich recht gut, dass öffnen/laden des Bildes nimmt die meiste Zeit in Anspruch und da komm ich wohl nicht drumrum. Aber wer weiss, vielleicht gehts ja noch eleganter?