Zum Inhalt

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.

Donation via PayPalDonation via LiberaPay

Donation via Bitcoin
Bitcoin Address: bc1qfuz93hw2fhdvfuxf6mlxlk8zdadvnktppkzqzj

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 Logos
  • southeast = unten lins
  • south = unten Mitte
  • southwest = unten rechts
  • northeast = oben links
  • north = oben Mitte
  • norhtwest = 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.

Donation via PayPalDonation via LiberaPay

Donation via Bitcoin
Bitcoin Address: bc1qfuz93hw2fhdvfuxf6mlxlk8zdadvnktppkzqzj

Source

Photo by Jessica Ruscello on Unsplash