képek kicsinyitése

Fórumok

Jelenleg így oldom meg, de a minőség az nem valami fényes.

convert ${files} -define jpeg:extent=400kb k_${files}
Mi lenne a jó megoldás ha a minőséget is szeretném meghagyni. A kikötés hogy a tárhelyre max 400 kb-os fájlokat lehet feltölteni.
De a képek jönnek mindenféle kamerákról, mindenféle méretben.

Hozzászólások

Nálam ugyan nincs konkréte méret limit, de én a felbontást szoktam "optimalizálni", ami a felhasználástól erősen függ, de pl:

convert -quality 95 -scale 1920x1920

Ééés, még ez előtt kigyomlálom az exif adatokat is, mert abban is lehet kisebb nézőkép, ami esetemben totál felesleges, és csak a méretet növeli.
perl exiftool esetén pl:
$exifTool->SetNewValue(PreviewImage => '');
$exifTool->SetNewValue('ThumbnailImage');

Én ezekkel kísérleteznék, amíg többségében elfogadható lesz a méret.
Ha nagyon hard limit van méretre, akkor ezek után csekkolnák méretet, és butítanám tovább - ha kell.

--
zrubi.hu

A kovetkezo szkriptet hasznalom digitalis fenykepezogeprol szarmazo kepek tomeges lekicsinyitesere (weblapra, thumbnail celjabol), ebbol is inspiralodhatsz:

PICTURE_TOTAL_PIXELS="@19200" # 160x120
PICTURE_QUALITY="75"

TARGET_DIR="/path/to/target/dir"

for pic in "$@"; 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
  if [ -z "$transform" ]; then
    echo "$pic"
  else
    echo "$pic (${transform:1})"
  fi
  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

Az exif infokat teljesen kiszedi a kepbol (thumbnail-nel ugysincs szukseg ra), es atmeretezes elott meg egy vesztesegmentes elforgatast is csinal (fenykepeknel igen hasznos).