Skip to content

Commit

Permalink
projekt 2 doku + daten
Browse files Browse the repository at this point in the history
  • Loading branch information
martin-raden committed Apr 2, 2024
1 parent df0a175 commit 15a44d3
Show file tree
Hide file tree
Showing 3 changed files with 51 additions and 15 deletions.
Binary file added Projekte/ImageLibrary/Bilddaten.tar.gz
Binary file not shown.
60 changes: 48 additions & 12 deletions Projekte/ImageLibrary/README.md
Original file line number Diff line number Diff line change
@@ -1,24 +1,60 @@

# Projekt - Bilddatenverarbeitung
# Projekt - Bilddateiverarbeitung

Bilddateien sind eine der häufigsten Dateiformate, die im Internet geteilt werden.
Auch in vielen Arbeits- und Forschungsbereichen fallen Bilddateien an, die aufbereitet und geteilt werden müssen.
Hierbei stammen diese häufig aus unterschiedlichen Quellen und sind in unterschiedlichen Formaten gespeichert.
Zudem enthalten Bilddateien oft Metadaten, die Informationen über das Bild und den Autor enthalten.
Derartige Informationen sind i.d.R. im [EXIF-Format](https://de.wikipedia.org/wiki/Exchangeable_Image_File_Format) direkt in der Bilddatei mitgespeichert.


## Aufgabe

- Bilddaten aufarbeiten
- check Dateiformat via `identify` (`imagemagick` package) und benenne Dateiendung entsprechend um (lower case)
- EXIF daten via `exiftool` [tutorial](https://www.baeldung.com/linux/exif-data-read-change)
- früheste Modifikationszeit (`Date`) auslesen; [Hinweis](https://unix.stackexchange.com/questions/84381/how-to-compare-two-dates-in-a-shell)
- Dateinamen nach festem Muster mit Zeitdaten umbenennen
- Personalisierte Information (`Artist`,`XPAuthor`,`GPSInfo`) entfernen
- Thumbnail fester Größe via `convert` (`imagemagick` package) in unterordner erstellen
Ziel des Projektes ist es, eine gegeben Sammlung von Bildern aufzubereiten und in einer HTML-Datei mit Hilfe von Thumbnails und Metadaten zu präsentieren.


## Schritte

(1) Laden sie sich via `wget` die folgende Archivdatei mit Bilddateien herunter und packen sie diese mit Hilfe eines Kommandozeilenprogramms in einem Ordner ihrer Wahl aus.
Diser Ordner wird im Folgenden als `Rohsammlung` bezeichnet.

(2) Erstellen sie ein Bash-Skript, das folgende Schritte zur Bilddateiaufarbeitung durchführt:

Jedes Bild aus der `Rohsammlung` soll dabei in einen Unterordner `Bildsammlung` kopiert und anschliessend wie folgt verarbeitet werden.

- Dateiformat via `identify` prüfen (`imagemagick` package) und Dateiendung entsprechend umbenennen (lower case)
- EXIF Daten via `exiftool` bearbeiten [tutorial](https://www.baeldung.com/linux/exif-data-read-change)
- Personalisierte Information (`Artist`, `XPAuthor`, `GPSInfo`, `Software`) entfernen
- früheste Modifikationszeit/-datum auslesen ([Hinweis](https://unix.stackexchange.com/questions/84381/how-to-compare-two-dates-in-a-shell))
- Dateinamen nach festem Muster mit Zeitdaten umbenennen: `YYYYMMDD_HHMMSS.[Dateiendung]`
- Thumbnail fester Größe via `convert` (`imagemagick` package) erstellen:
- Dateityp `JPEG`
- Dateinamenmuster `YYYYMMDD_HHMMSS.small.jpg` (gleicher Ordner wie Originaldatei, d.h. `Bildsammlung`)
- maximale Auflösung pro Dimension 100 Pixel (Seitenverhältnis beibehalten)

- HTML Datei erstellen
(3) Erstellen sie ein weiteres Bash-Skript, das folgende Schritte zur HTML-Präsentation durchführt:

- HTML Datei `index.html` erstellen mit folgenden Elementen
- Überschrift
- tabelle aller Bilddateien
- Tabelle aller `Bildsammlung`-Bilddateien (ja, ja, HTML-Tabellen sind nicht mehr zeitgemäß, aber hier passend)
- Thumbnail + Dateiname anzeigen
- beides gemeinsam mit Komplettbild verlinken
- aus EXIF Information Dateigröße und Bildauflösung anzeigen
- Autoreninformationen
- Datum/Zeitpunkt der Erstellung
- eigene Autoreninformationen
- Datum/Zeitpunkt der Erstellung der HTML-Datei

(4) Dokumentation

- Erstellen sie eine `README.txt` Datei, die ihr Projekt und die erstellten Skripte beschreibt
- Listen sie darin *alle* verwendeten Konsolenprogramme, um die Abhängigkeiten ihrer Skripte zu dokumentieren
- Ergänzen sie ihre zwei Skriptdateien mit hinreichenden Kommentaren, um die Funktionsweise und Arbeitsschritte zu erklären


## Hinweise

Alle Schritte sollen hierbei in Bash-Skripten durchgeführt werden.
Verwenden sie keine manuellen Schritte, um die Daten zu extrahieren bzw. anzupassen.
Ihre Skripte müssen auf einem fremden System lauffähig sein und das gleiche Ergebnis produzieren.


Diese Aufgabenbeschreibung wurde mit Unterstützung von GitHub Copilot erstellt.
6 changes: 3 additions & 3 deletions Projekte/PDF2CSV/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -58,15 +58,15 @@ Hierbei ist zu beachten:

(5) Dokumentation

- Erstellen sie eine `README.txt` Datei, die ihr Projekt und das erstellte Skript beschreibt
- Erstellen sie eine `README.txt` Datei, die ihr Projekt und die erstellten Skripte beschreibt
- Listen sie darin *alle* verwendeten Konsolenprogramme, um die Abhängigkeiten ihrer Skripte zu dokumentieren
- Ergänzen sie ihre zwei Skriptdateien mit hinreichenden Kommentaren, um die Funktionsweise und Arbeitsschritte zu erklären

## Hinweise

Alle Schritte sollen hierbei in einem Bash-Skript durchgeführt werden.
Alle Schritte sollen hierbei in Bash-Skripten durchgeführt werden.
Verwenden sie keine manuellen Schritte, um die Daten zu extrahieren bzw. anzupassen.
Ihr Skript muss auf einem fremden System lauffähig sein und das gleiche Ergebnis produzieren.
Ihre Skripte müssen auf einem fremden System lauffähig sein und das gleiche Ergebnis produzieren.


Diese Aufgabenbeschreibung wurde mit Unterstützung von GitHub Copilot erstellt.

0 comments on commit 15a44d3

Please sign in to comment.