-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
df0a175
commit 15a44d3
Showing
3 changed files
with
51 additions
and
15 deletions.
There are no files selected for viewing
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters