Archiv verlassen und diese Seite im Standarddesign anzeigen : image magick convert kommando
ich blick da nicht ganz durch..
ich hab ein verzeichnis voller gif bilder, und die sind leider farbig, aber ich möchte die möglichst automatisch in ein graustufenbild umwandeln. also sollte wohl nicht so schwierig sein. aber im internet und --help find ich da nichts von wegen greyscale oder so ähnlich....
habt ihr da ein besseres verständnis?
Hi
Also so kannst du in Graustufe konvertieren:
convert -colorspace gray imput.jpg output.jpg
Das ganze in einem Bashskript, sollte dann das erfüllen was du suchst.
MfG carnil
Vieleicht hilft dir dieses bash script weiter, welches ich mal geschreiben hab. Das skalliert alle Bilder (default: JPG, JPEG) im aktuellen Ordner, wobei skallierfaktor (default: 40%) und quallität (default: 75) angegeben werden können.
Die neuen Bilder werden im Unterordner scaled (kann auch angeg. werden) gespeichert, welcher erstellt wird, sofern er nicht vorhanden ist.
Und Bilder die rl bzw. rr vor der endung stehn haben werden um 90° links bzw. rechts rotiert.
#!/bin/bash
scale="40x40%"
quality=75
scaldir="scaled"
exts='[Jj][pP][gG] [Jj][pP][eE][gG]'
function do_scale() {
if ls *$1 1> /dev/null 2> /dev/null; then
for img in *$1; do
printf "%s \"%s\" ... " "$2" "$img"
convert $params $3 "$img" "$scaldir/$img"
if [ $? -eq 0 ]; then
printf "DONE\n"
else
printf "FAILED\n"
fi
done
fi
}
if [ $# -ge 1 ]; then
scale="$1"
if [ $# -ge 2 ]; then
quality="$2"
if [ $# -ge 3 ]; then
scaldir="$3"
if [ $# -ge 4 ]; then
exts="$4"
fi
fi
fi
fi
params=" -scale '$scale' -quality '$quality' "
if [ ! -d "$scaldir" ]; then
mkdir "$scaldir"
fi
printf "\n\tscale: %8s\n\tquality: %8d\n\n" \
"$scale" \
$quality
for ext in $exts; do
do_scale '[^rR][^rRlL]'."$ext" "scale"
do_scale '[rR][lL]'."$ext" "scale and rotate left" "-rotate -90"
do_scale '[rR][rR]'."$ext" "scale and rotate right" "-rotate 90"
done
exit 0
danke, da lässt sich bestimmt was draus machen...
vor allem aus diesem teil hier:
for img in *$1; do
printf "%s \"%s\" ... " "$2" "$img"
convert $params $3 "$img" "$scaldir/$img"
if [ $? -eq 0 ]; then
printf "DONE\n"
else
printf "FAILED\n"
fi
done
ich nehm mal an, dass dieses alle dateien in einem ordner durchgeht...
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.