image image


image

Als die (Computer-) Welt noch schwarz-weiß war (Nachtrag 2)

Ich glaubte, ich hätte mit meinem Artikel »Computergeschichte(n) mit Python: Als die Welt noch schwarz-weiß war« und dem Nachtrag zum Schwellwertverfahren alles abgedeckt, was man zur Geschichte der frühen schwarz-weißen Computerwelt wissen kann. Aber dann kam mir dieses Video unter, in dem Steven Bagley eine ganz einfache Schwellwertmatrix vorführt, die zu erstaunlichen Ergebnissen führt:

image

Das Programm dazu entspricht dem Programm zum Multischwellwertverfahren im Originalbeitrag, nur daß hier gilt

xmod = x % 2
ymod = y % 2

und die (Mulit-) Schwellwertmatrix ist:

matrix = [[64, 128],
          [192, 0]]

Auch bei diesem Verfahren wird nur dann für den Grauwert s(x, y) ein Punkt ausgegeben, wenn er kleiner ist, als der Schwellwert in der Schwellwertmatrix in der Position (xmod, ymod). Auch wenn damit nur maximal vier unterschiedliche Grauwerte simuliert werden können, ist das Ergebnis – wie obiger Screenshot zeigt – doch erstaunlich gut.

Durch dieses Ergebnis neugierig geworden, habe ich meine Bibliothek durchstöbert, ob ich nicht noch weitere Beispiele für Dithermatrixen finden kann. Fündig geworden bin ich in dem Buch »Fotorealistische Computeranimationen« von Wolfgang Leister, Heinrich Müller und Achim Stößer (Springer Verlag, Berlin – Heidelberg) aus dem Jahre 1991. Dort habe ich eine 8x8 Dithermatrix gefunden, die ich noch umrechnen mußte (im Buch ging sie von 32 Graustufen aus) und die dann so aussieht:

matrix = [[176, 48, 144, 16, 168, 40, 136, 8],
          [112, 240, 80, 208, 104, 232, 72, 200],
          [160, 32, 192, 64, 152, 24, 184, 56],
          [96, 224, 128, 256, 88, 216, 120, 248],
          [168, 40, 136, 8, 176, 48, 144, 16],
          [104, 232, 72, 200, 112, 240, 80, 208],
          [152, 24, 284, 56, 160, 32, 192, 64],
          [88, 216, 120, 248, 96, 224, 208, 256]]

Natürlich heißt es hier dann

xmod = x % 8
ymod = y % 8

aber ansonsten folgt alles dem gleichen Schema. Heraus kommt dann dieses Bild,

image

das auch die Vorlage für das obige Banner war. Hier treten allerdings wieder deutlich die regelmäßigen Muster zutage, die durch das Verfahren impliziert nicht zu vermeiden sind.

Hier nun noch einmal das komplette Processing.py-Skript, die Werte für das einfache Schwellwertverfahren sind auskommentiert:

matrix = [[176, 48, 144, 16, 168, 40, 136, 8],
          [112, 240, 80, 208, 104, 232, 72, 200],
          [160, 32, 192, 64, 152, 24, 184, 56],
          [96, 224, 128, 256, 88, 216, 120, 248],
          [168, 40, 136, 8, 176, 48, 144, 16],
          [104, 232, 72, 200, 112, 240, 80, 208],
          [152, 24, 284, 56, 160, 32, 192, 64],
          [88, 216, 120, 248, 96, 224, 208, 256]]
# matrix = [[64, 128],
#           [192, 0]]


def setup():
    global akt
    size(800, 640)
    this.surface.setTitle("8x8 Dithermatrix")
    akt = loadImage("akt.jpg")
    image(akt, 0, 0)
    noLoop()

def index(x, y):
    return(x + y * akt.width)

def draw():
    akt.filter(GRAY)
    akt.loadPixels()

    for y in range(akt.height):
        ymod = y % 8
        # ymod = y % 2
        for x in range(akt.width):
            xmod = x % 8
            # xmod = x % 2
            pix = akt.pixels[index(x, y)]
            c = red(pix)
            if c > matrix[xmod][ymod]:
                akt.pixels[index(x, y)] = color(255)
            else:
                akt.pixels[index(x, y)] = color(0)
    akt.updatePixels()
    image(akt, 400, 0)

Wenn Ihr das nachprogrammieren wollt, seid vorsichtig, wohin Ihr Eure Screenshots hochladet. Während der Screenshot des einfachen Vorfahrens – wenn auch erst, nachdem ich eine Überprüfung verlangt hatte – noch von den gestrengen Zensoren von Facebook zähneknirschend akzeptiert wurde, half bei der 8x8-Dithermatrix auch das Verlangen einer Überprüfung nichts mehr. Es wurde im Fratzenbuch zensiert und ich bin nun für vier Wochen (bis Ende Mai) gesperrt. Damit hat sich Facebook für mich erledigt, soll es sich doch als Abspielplattform für die Bewußtseinsindustrie gerieren, ich bin da raus. Mit solch prüden Zensoren will ich mich nicht gemein machen. Wir brauchen einfach wieder mehr Nacktbilder im Internet.

Weitere Videos

Wer Interesse an dem Thema hat, dem empfehle ich noch die folgenden beiden Videos:

Beide Videos sind sehr zu empfehlen.


(Kommentieren) 

image image



Über …

Der Schockwellenreiter ist seit dem 24. April 2000 das Weblog digitale Kritzelheft von Jörg Kantel (Neuköllner, EDV-Leiter, Autor, Netzaktivist und Hundesportler — Reihenfolge rein zufällig). Hier steht, was mir gefällt. Wem es nicht gefällt, der braucht ja nicht mitzulesen. Wer aber mitliest, ist herzlich willkommen und eingeladen, mitzudiskutieren!

Alle eigenen Inhalte des Schockwellenreiters stehen unter einer Creative-Commons-Lizenz, jedoch können fremde Inhalte (speziell Videos, Photos und sonstige Bilder) unter einer anderen Lizenz stehen.

Der Besuch dieser Webseite wird aktuell von der Piwik Webanalyse erfaßt. Hier können Sie der Erfassung widersprechen.

Diese Seite verwendet keine Cookies. Warum auch? Was allerdings die iframes von Amazon, YouTube und Co. machen, entzieht sich meiner Kenntnis.


Werbung


Werbung


image  image  image
image  image  image


image