Sziasztok.
Az imagemagick egyik programkájával szeretnék rengeteg képanyagot feldolgozni. Eddig egyedül az auto-orient kapcsolója nem akart működni akkor sem, ha önmagában alkalmaztam közvetlenül a convert után írva.
Lényegében az exif adatok alapján választja meg, mit kell elforgatnia és mennyire. Régebben meg is tette, most viszont valamiért nem.
az exifadatokat exiftool-lal szoktam ellenőrizni. Tudom, ha mondjuk a Mirage programot rászabadítom egy képre, hogy forgassa át ő, akkor törli az exifek jó részét. Ez kicsit bosszantó. Ha megoldhatnám converttel ezt, akkor rózsaillatú lenne minden napom.
Példa a scriptemre:
$ cat vizjel.sh
for name in ./*.JPG; do
echo "Working on "$name" ..."
convert -auto-orient -modulate 50 "$name" "${name/.jpg/-tempp}"
convert -resize 640x480 "${name/.jpg/-tempp}" "${name/.jpg/-temp}"
convert -size 1000x40 xc:none -gravity center \
-font Anaktoria -pointsize 18 \
-stroke black -strokewidth 2 -annotate 0 'photo bzs © hopp' \
-background none -shadow 100x3+0+0 +repage \
-stroke none -fill white -annotate 0 'photo bzs ©hopp' \
${name/.jpg/-temp} +swap -gravity south -geometry +0-3 \
-composite ${name}_web.jpg
rm -f ${name/.jpg/-temp}
rm -f ${name/.jpg/-tempp}
done
# vegul datum szerint konyvtarakba rendezzuk a cuccot:
exiftool -d %Y/%m/%d/ "-Directory
- 1867 megtekintés
Hozzászólások
Ez most tényleg bonyolult kérdés, vagy csak csúnyán fogalmztam?
Valóban nem találokrámegoldást sehol.
- A hozzászóláshoz be kell jelentkezni
haha, pontosan ez tortent velem is! valszeg egy update elkurta.
kicsit rakeresve talaltam egy hibajegyet egy nem tul regi verziobol, ahol erre panaszkodtak, valszeg annak a javitasat sikerult eltolni.
Ami mukodott, az a jpegtran a jhead csomagbol. amugy is javallott, lossless tud jpeg-et fizikailag forgatni (tehat nem exif tag-gel, hanem tenylegesen).
- A hozzászóláshoz be kell jelentkezni
nekema convert zért jött be, mert kiolvasta az exifből, kell-e forgatni, aztán megcsinálta.
Forgatóprogramok vannak ugyan,de ahhozmeg előbb egy exiftoolt kell indítanom,ami kiolvassa hogy mi van a forgatással...
Kérdés:
lel lehet tölteni még valahonnan egyműködő verziót? vagy a működőforráskódot..
- A hozzászóláshoz be kell jelentkezni
:)
- A hozzászóláshoz be kell jelentkezni
hehe.
kihagy a klaviatúrám, rossz már a szemem, a monitort a napfény miatt alig látom, azért ilyen szép, liberális az írásom. Örülök, hogy tetszik
- A hozzászóláshoz be kell jelentkezni
Csak a lezáratlan kódblokkot zártam le.
:)
- A hozzászóláshoz be kell jelentkezni
kafa.
- A hozzászóláshoz be kell jelentkezni
Nekem is van egy automatikus képfeldolgozó szkriptem, ami átméretezi és elforgatja a képeket (webre feltöltéshez használtam). Kell neki
jpegexiforient, jpegtran, convert
, workaround-ként fel tudod használni. A lényege a következő:
for pic in "$dir"/*.jpg; do
[ -f "$pic" ] || continue
target_pic="$target_dir/${pic##*/}"
orientation="$(jpegexiforient "$pic")"
case "$orientation" in
# taken from exifautotran
1) transform="";;
2) transform="-flip horizontal";;
3) transform="-rotate 180";;
4) transform="-flip vertical";;
5) transform="-transpose";;
6) transform="-rotate 90";;
7) transform="-transverse";;
8) transform="-rotate 270";;
*) transform="";;
esac
jpegtran -copy none $transform "$pic" | "$convert" -resize "$PICTURE_TOTAL_PIXELS" -quality "$PICTURE_QUALITY" - "$target_pic"
if [ -n "$transform" ]; then
jpegexiforient -1 "$target_pic"
fi
touch -r "$pic" "$target_pic"
done
- A hozzászóláshoz be kell jelentkezni
sajnos nekem nem forgatta be,pedig az exiftool szerint van rotate-mező:
"
Rotation : 270
"
Cserébe, mintha szétgyalultam volna Mirage-zsal, az összes exifadatot törölte, ami hasznos volt.
- A hozzászóláshoz be kell jelentkezni
És mit ad vissza a jpegexiforient?
tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE
- A hozzászóláshoz be kell jelentkezni
semmit. Üres sor a kimenet.
Időközben találtam egy működőalternatívát:
mogrify -auto-orient -quality 90% kep.JPG
ha a 90-et 100-ra emelem,akép mérete nő, nem tudom miért, interpolál, vagy valami változik.
--------
módosítottam az eredeti scriptemet:
convert -modulate 50 "$name" "${name/.jpg/-tempp}"
mogrify -auto-orient -quality 90% "${name/.jpg/-tempp}" "${name/.jpg/-temp}"
ezeket szúrtam be a megfelelő helyre, így 2 sor változott.
Beforgat, képet javít, fájlméretet csökkent,vízjelez, könyvtárvba rendez dátum szerint. Épphogy kávét nem főz. Majd később... Az exifek is megmaradnak.
Már csak az a kérdés, tényleg nem brutalizál-e el valamitez az új mognify...
- A hozzászóláshoz be kell jelentkezni