Einstieg - Graustufenbilder in Graustufenbilder

Graustufenbild in Graustufenbild verstecken

Tine möchte nun auch Graustufenbilder verstecken können.

Aufgabe 1: Grau in Grau

a) Wie könnte Tine ein Graustufenbild verstecken?

b) Wir wissen bereits wie man Bilder versteckt, die aus 1 und 0 bestehen.
Hast du eine Idee wie man graue Bilder mit 1 und 0 darstellen kann?

c) Tine hat folgendes Programm zum Auslesen von Graustufenbildern aus Graustufenbildern gefunden.

from PIL import Image

def grauGeheimesBildLesen(oeffentlichesBild):

    oBild = Image.open(oeffentlichesBild) # PGM
    gBild = Image.new('L',(oBild.size[0],oBild.size[1]//8))# PGM

    for i in range (oBild.size[0]):
        for j in range (oBild.size[1]//8):
            binzahl = ''
            for k in range (8):
                if (oBild.getpixel((i,j*8+k))%2==0):
                    binzahl = binzahl + '1'
                else:
                    binzahl = binzahl + '0'
                    
            gBild.putpixel((i,j),int(binzahl,2))

    gBild.save('geheim.pgm')
Schau dir den Quellcode an. Beschreibe den Algorithmus.

d) Was hat sich im Vergleich zum Algorithmus der Schwarz-Weiß Bilder verändert.

Aufgabe 2: Geheime Bilder auslesen

a) Welcher Grauwert versteckt sich in den folgenden acht Pixeln.

graue Pixel (Lesen)[1]

b) Was hat sich in folgendem Bild versteckt. Teste mit diesem Bild dein Programm.

Eidechse[2]

eidechse.pgm

Aufgabe 3: Graue Bilder verstecken

Um ein geheimes Bild auslesen zu können, muss Tine zuerst einmal ein Bild verstecken.

a) Verstecke folgenden Grauwert eines geheimen Bildes in den ersten acht Pixeln des öffentlichen Bildes:

graue Pixel (Verstecken)[3]

b) Kann Tine ein 100x100 Pixel großes Bild in einem genau so großem Bild verstecken?

c) Welche Größenverhältnise müssen das geheime und das öffentliche Bild haben, damit das Verfahren funktioniert?

d) Schreibe ein Programm zum Verstecken von Graustufenbildern in Graustufenbildern. Teste dein Programm mit dem vorherigen Programm zum Auslesen geheimer Bilder.

Quellen

X

Fehler melden

X

Suche