schwarz weiß Bild in 1 & 0 umwandeln

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
elchico
User
Beiträge: 29
Registriert: Dienstag 10. März 2015, 00:06

Hallo zusammen,

ich möchte ein schwarz weiß Bild mit x-,y-Koordinatensystem in 1 & 0 umwandeln, wobei zB weiß für 0 und schwarz für 1 steht. Dabei soll die Matrix, die das Bild darstellt (mit x- und y-Achse) erhalten bleiben. Herauskommen soll also praktisch für ein Viereck folgendes Schema (für ein 7x4 Rechteck):

000000000
011111110
010000010
010000010
011111110
000000000

Ich habe leider noch keine Idee, wie ich da anfangen könnte. Hat jmd. eine Idee?

VG
elchico
BlackJack

@elchico: Ich würde mit einem Modul anfangen mit dem man die Bilddatei laden kann, also zum Beispiel die „Python Imaging Library” (`PIL`) oder dem Fork davon: Pillow.
Benutzeravatar
noisefloor
User
Beiträge: 3856
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

Hallo,

das Bildformat "PBM" (Portable Bitmap) erfüllt eigentlich genau diese Anforderungen (Link: http://de.wikipedia.org/wiki/Portable_Anymap).

Gruß, noisefloor
BlackJack

Code: Alles auswählen

#!/usr/bin/env python
from __future__ import absolute_import, division, print_function
from PIL import Image


def main():
    image = Image.open('test.png')
    if image.mode == '1':
        width, height = image.size
        for i in xrange(height):
            print(
                ''.join(
                    '0' if image.getpixel((j, i)) else '1'
                    for j in xrange(width)
                )
            )
    else:
        print('Das Bild ist nicht S/W.')


if __name__ == '__main__':
    main()
Antworten