Bilder - Wasserzeichen einfügen und Metadaten entfernen
- Wie lassen sich Bilder verkleinern?
- Wie kann man die Metadaten eines Bildes entfernen?
- Wie kann man ein Wasserzeichen in ein Bild einfügen?
- Lässt sich ein Wasserzeichen auch in mehrere Bilder gleichzeitig einfügen?
Antworten gibts hier :-)
Die ganzen Antworten habe ich mir in einem kleinen Manual zusammengeschrieben, damit ich nicht jedes Mal danach suchen muss. Es ist also mehr eine Aneinanderreihung von Befehlen ohne ausführliche Beschreibung, aber evtl. für den ein oder anderen hilfreich. In den Manpages des jeweiligen Tools sind die einzelnen Funktionen und Optionen recht gut beschrieben.
mat2 - Metadaten in Bildern
# Linux
sudo apt install mat2
# macOS
brew install mat2
Mat2 kann auch über eine Website genutzt werden. Schaue nach der aktuellsten Version hier
mat2 - Metadaten entfernen
Bei der Option --inplace
wird das Original überschrieben.
mat2 --inplace bild1.png
mat2 --inplace bild1.png bild2.png
mat2 --inplace bild*.png
mat2 - Anzeigen alle Metadaten
Nach dem Entfernen der Metadaten kann das überprüft werden.
mat2 -s bild1.jpg
mat2 -s bild1.jpg bild2.jpg
mat2 -g bild*.jpg
Hier ein Beispiel:
benutzer@dev:~/Bilder$ mat2 -s bilddatei-test.jpg
[+] Metadata for bilddatei-test.jpg:
BlueMatrixColumn: 0.14307 0.06061 0.7141
BlueTRC: (Binary data 64 bytes, use -b option to extract)
...
RedMatrixColumn: 0.43607 0.22249 0.01392
RedTRC: (Binary data 64 bytes, use -b option to extract)
RenderingIntent: Perceptual
benutzer@dev:~/Bilder$ mat2 --inplace bilddatei-test.jpg
benutzer@dev:~/Bilder$ mat2 -s bilddatei-test.jpg
No metadata found in bilddatei-test.jpg.
exiftool - Metadaten
exiftool
ist ein sehr mächtiges und umfangreiches Tool mit sehr vielen Einstellungsmöglichkeiten.
# Linux - exiftool
# install tool
sudo apt install libimage-exiftool-perl
#macOS - exiftool
brew install exiftool
Windows exiftool
Projektseite: 👉 https://exiftool.org/
exiftool - Usage
# Show all metadata
exiftool image.jpg
# Remove all metadata from a single image; the original will be saved in the same folder with _original as a backup
exiftool -all= image.jpg
# Overwrite the original file - no backup
exiftool -overwrite_original -all= image.jpg
# Use for all files within a folder
exiftool -recurse -all= images-folder
exiftool -overwrite_original -recurse -all= *
👉 man exiftool
ffmpge - Metadaten von Videos
Videodateien lassen sich mit ffmpeg
manipulieren.
Es wird eine komplett neue Version der Datei erstellt, ohne Metadaten.
ffmpeg -i Input.mp4 -vcodec copy -acodec copy Output.mp4
Eine grafische Oberfläche für ffmpge
ist z.B. AVIDemux.
Bilder manipulieren
Voraussetzung ist die Installation vom imagemagick
# Linux
sudo apt install imagemagick
# Mac OS X
brew install imagemagick
Bilder verkleinern
Bilder verkleinern:
convert bild.jpg -resize 800x600 bild-klein.jpg
convert bild.jpg -resize 50% bild-klein.jpg
- 👉
man convert
Mit mogrify
wird das Original überschrieben.
mogrify -resize 50% *.png # keep image aspect ratio
mogrify -resize 320x240 *.png # keep image aspect ratio
mogrify -resize 320x240! *.png # don't keep image aspect ratio
mogrify -resize x240 *.png # don't keep image aspect ratio
mogrify -resize 320x *.png # don't keep image aspect ratio
- 👉
man mogrify
Bilder - Format ändern
Das Format lässt sich auch mit imagemagick
ändern
convert bild.png bild.jpg
convert bild.jpg -resize 50% bild.png
Gib mir gerne einen Kaffee ☕ aus ❗️
Wenn dir meine Beiträge gefallen und geholfen haben, dann kannst du mir gerne einen Kaffee ☕️ ausgeben.
Wasserzeichen
Wasserzeichen lassen sich mit ImageMagick
auf der CLI in jedes Bild einfügen
Einzelne Bilder
composite -gravity southeast -dissolve 80 -geometry +25+25 "/Users/benutzer/Downloads/screenshots/logo-wasserzeichen.png" bilddatei.png bilddatei-neu.png
dissolve 80
= Transparenz 80%geometry +25+25
= Größe des Logossoutheast
= unten linssouth
= unten Mittesouthwest
= unten rechtsnortheast
= oben linksnorth
= oben Mittenorhtwest
= unten rechts
Batch Verarbeitung
Gehe in das Verzeichnis mit den Originalbildern. Passe ggf. den Befehl an und führe ihn im Order mit den Originalbildern aus.
Die bearbeiteten Bilder werden mit dem Wasserzeichen in das Verzeichnis bilder-mit-wasserzeichen
kopiert.
Die Originalbilder werden nicht überschrieben und bleiben erhalten.
mogrify -path /Users/benutzer/Downloads/screenshots/bilder-mit-wasserzeichen -format png -gravity north -draw "image over 30,30 0,0 '/Users/benutzer/Downloads/screenshots/logo-wasserzeichen.png'" *.png
Metadaten entfernen und Wasserzeichen einfügen
Es lassen sich auch bequem beide Befehle zum Einfügen eines Wasserzeichens und zum Entfernen von Metadaten kombinieren.
mogrify -path /Users/benutzer/Downloads/screenshots/bilder-mit-wasserzeichen -format png -gravity north -draw "image over 30,30 0,0 '/Users/benutzer/Downloads/screenshots/logo-wasserzeichen.png'" *.png && mat2 --inplace /Users/benutzer/Downloads/screenshots/bilder-mit-wasserzeichen/*.png
In einem sehr einfachen Shell Script lässt sich das Ganze schön automatisieren. Einfach eine Datei mit dem Namen watermark-meta-data.sh
in einem beliebigen Verzeichnis erstellen und die Variablen anpassen.
Das Skript berücksichtigt ausschließlich PNG-Dateien! Das ist bei Bedarf anzupassen!
echo "++++++++++++++++++++++++++" >&1
echo "$(date +%Y-%m-%d_%H-%M-%S) - Start ${MAINSCRIPT} on $(hostname)" >&1
echo "++++++++++++++++++++++++++" >&1
echo "" >&1
echo "++++++++++++++++++++++++++" >&1
echo "Original files are located in" >&1
echo "${PICSORIGINAL}" >&1
echo "++++++++++++++++++++++++++" >&1
echo "" >&1
cd ${PICSORIGINAL} >&1
echo "" >&1
echo "List ALL files in ${PICSORIGINAL}" >&1
echo "" >&1
ls -lah ${PICSORIGINAL}/ >&1
echo "" >&1
# Find only images an replace whitespaces by another character "_"
# For this operation the tool "rename" must be installed on the machine
IMAGES=$(find . -type f -exec file {} \; | awk -F: '{ if ($2 ~/[Ii]mage|EPS/) print substr($1,3); }' | rename 's/ /_/g') >&1
# Find only imaged with the new name, after whitespace replacement
IMAGESNEWNAME=$(find . -type f -exec file {} \; | awk -F: '{ if ($2 ~/[Ii]mage|EPS/) print substr($1,3); }') >&1
echo "" >&1
echo "Copy image files to ${WATERMARK}" >&1
echo "" >&1
echo "${IMAGESNEWNAME}" >&1
cp ${IMAGESNEWNAME} ${WATERMARK} >&1
echo "" >&1
###################################
# Watermark
###################################
mogrify -path ${WATERMARK} -gravity north -draw "image over 30,30 0,0 '${LOGO}'" ${IMAGESNEWNAME}
echo "++++++++++++++++++++++++++" >&1
echo "$(date +%Y-%m-%d_%H-%M-%S) - Watermark Added" >&1
echo "++++++++++++++++++++++++++" >&1
echo "" >&1
###################################
# Meta Data Removal Process
###################################
echo "++++++++++++++++++++++++++" >&1
echo "$(date +%Y-%m-%d_%H-%M-%S) - Start to remove meta data" >&1
echo "++++++++++++++++++++++++++" >&1
echo "" >&1
cd ${WATERMARK} >&1
echo "Strip images from meta data" >&1
# Find only images files in ${WATERMARK}
# The first two characters the search result will not get printed by awk command
# This is no deletion of the characters!
# Remove from print = substr($1,3)
IMAGEMETAREMOVE=$(find . -type f -exec file {} \; | awk -F: '{ if ($2 ~/[Ii]mage|EPS/) print substr($1,3); }')
echo "" >&1
# List all images files that shall be stripped
echo "${IMAGEMETAREMOVE}" >&1
mat2 --inplace ${WATERMARK}/${IMAGEMETAREMOVE} >&1
echo "" >&1
echo "++++++++++++++++++++++++++" >&1
echo "$(date +%Y-%m-%d_%H-%M-%S) - Done to remove meta data" >&1
echo "++++++++++++++++++++++++++" >&1
echo "" >&1
echo "++++++++++++++++++++++++++" >&1
echo "$(date +%Y-%m-%d_%H-%M-%S) - Finished" >&1
echo "" >&1
echo "Your striped files are located in" >&1
echo "${WATERMARK}" >&1
echo "" >&1
# Open Finder
open -a finder .
echo "++++++++++++++++++++++++++" >&1
Das Skript noch ausführbar machen und schon kann man relativ einfach Wasserzeichen einfügen und gleichzeitig sämtlich Metadaten entfernen.
chmod +x watermark-meta-data.sh
Gib mir gerne einen Kaffee ☕ aus ❗️
Wenn dir meine Beiträge gefallen und geholfen haben, dann kannst du mir gerne einen Kaffee ☕️ ausgeben.
Follow Me❗️
Source
Photo by Jessica Ruscello on Unsplash