cohn_kanade.py 1.96 KB
Newer Older
1 2 3 4
"""
Diese Klasse sortiert die source_images anhand der source_emotions in die Ordner des sorted_set ein
"""

Arne Gerdes's avatar
Arne Gerdes committed
5 6 7
import glob
from shutil import copyfile

8 9 10 11 12 13 14 15 16
"""
Array der Emotionen
Gibt die Reihenfolge der Emotionen an (Labels von 0-7)
"""
emotions = ["neutral", "anger", "contempt", "disgust", "fear", "happy", "sadness", "surprise"]

"""
Liste mit den Dateiordnern aller Teilnehmer 
"""
17
participants = glob.glob("../resources/img_data/source_emotion/*")
Arne Gerdes's avatar
Arne Gerdes committed
18 19

for x in participants:
20 21 22 23 24

    """
    Teilnehmernummer 
    """
    number = "%s" % x[-4:]
25 26
    for sessions in glob.glob("%s/*" % x):
        for files in glob.glob("%s/*" % sessions):
27 28 29
            """
            Sessionnummer
            """
tihmels's avatar
tihmels committed
30
            current_session = files[39:-30]
Arne Gerdes's avatar
Arne Gerdes committed
31

32 33 34 35 36 37
            """
            Öffnet die zur aktuellen Emotion korrelierende .txt Datei
            """
            file = open(files, 'r')

            """
tihmels's avatar
tihmels committed
38
            In der Datei steht die aktuell betrachtete Emotion, kodiert als float-Wert 
39 40
            """
            emotion = int(float(file.readline()))
Arne Gerdes's avatar
Arne Gerdes committed
41

42
            source_emotions = glob.glob("../resources/img_data/source_images/%s/%s/*.png" % (number, current_session))
43
            source_emotions.sort()
Arne Gerdes's avatar
Arne Gerdes committed
44

45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
            """
            Das letzte Bild einer Sequenz ist eine ausgeprägte Emotion
            """
            sourcefile_emotion = source_emotions[-1]

            """
            Das erste Bild ist ein neutraler Ausdruck
            """
            sourcefile_neutral = source_emotions[0]

            """
            Erstellt neue Pfade zum einsortieren
            
            Für den neutralen Ausdruck 
            Für die Emotion 
            """
61 62
            dest_neut = "../resources/img_data/sorted_set/neutral/%s" % sourcefile_neutral[44:]
            dest_emot = "../resources/img_data/sorted_set/%s/%s" % (emotions[emotion], sourcefile_emotion[44:])
Arne Gerdes's avatar
Arne Gerdes committed
63

64
            """Kopiert Dateien"""
65
            copyfile(sourcefile_neutral, dest_neut)
66
            copyfile(sourcefile_emotion, dest_emot)