image_sort.py 1.49 KB
Newer Older
Arne Gerdes's avatar
Arne Gerdes committed
1 2 3
import glob
from shutil import copyfile

4 5
emotions = ["neutral", "anger", "contempt", "disgust", "fear", "happy", "sadness", "surprise"]  # Emotionen - Reihenfolge wichtig!
participants = glob.glob("basis_data/source_emotion/*")  # Eine Liste mit den Dateiordnern aller Teilnehmer
Arne Gerdes's avatar
Arne Gerdes committed
6 7

for x in participants:
8 9 10 11 12
    number = "%s" % x[-4:]  # Teilnehmernummer
    for sessions in glob.glob("%s/*" % x):
        for files in glob.glob("%s/*" % sessions):
            current_session = files[31:-30] # Sessionnummer
            file = open(files, 'r') # Öffne die zur aktuellen Emotion korrelierende .txt Datei
Arne Gerdes's avatar
Arne Gerdes committed
13 14

            emotion = int(
15
                float(file.readline()))  # In der Datei steht die aktuell betrachtete Emotion, kodiert als float-Wert
Arne Gerdes's avatar
Arne Gerdes committed
16

17 18 19 20
            source_emotions = glob.glob("basis_data/source_images/%s/%s/*.png" % (number, current_session))
            source_emotions.sort()
            sourcefile_emotion = source_emotions[-1]  # Das letzte Bild einer Sequenz ist die ausgeprägte Emotion
            sourcefile_neutral = source_emotions[0]  # Das erste Bild ist ein neutraler Ausdruck
Arne Gerdes's avatar
Arne Gerdes committed
21

22 23 24
            # Erstelle neue Pfade zum einsortieren
            dest_neut = "basis_data/sorted_set/neutral/%s" % sourcefile_neutral[36:] # für den neutralen Ausdruck
            dest_emot = "basis_data/sorted_set/%s/%s" % (emotions[emotion], sourcefile_emotion[36:]) # und die Emotion
Arne Gerdes's avatar
Arne Gerdes committed
25

26 27 28
            # Kopiere Dateien
            copyfile(sourcefile_neutral, dest_neut)
            copyfile(sourcefile_emotion, dest_emot)