Перейти к содержанию
Посмотреть в приложении

A better way to browse. Learn more.

Форум Академгородка, Новосибирск

A full-screen app on your home screen with push notifications, badges and more.

Чтобы установить это приложение на iOS и iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
Чтобы установить это приложение на Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

пакетная обработка фотографий

Опубликовано

Бывает, что иногда возникает задача обработать большое количество фотографий. Например, уменьшить размер, развернуть в соответствии с информацией из EXIF итп. А вторая проблема - если на компьютере стоит Linux.

 

Может быть, кому-то интересна такая тема и есть желание поделиться рецептами применения таких средств как ImageMagick? У меня есть несколько мною написанный скриптов для выполнения всяких базовых операций типа массового уменьшения размеров или формирования www-альбомов (страница в превьюшками и EXIF-ом). Если кто-нибудь заинтересуется, можно будет описать всякие тонкости работы с ImageMagick и PerlMagick

Рекомендуемые сообщения

Опубликовано

Я для автовращения и переименования всех файлов (чтобы имя начиналось с даты), а также для сохранения в целости EXIF, использую jhead (Image Magic при необходимости поворота картинки им вызывается автоматически). Точнее, вот такую мега-софтину на его основе:

#!/usr/bin/perl

for($i=0; $i<@ARGV; $i++){
 $fn=$ARGV[$i];
 if ($fn =~ /^\d/){
   print "Skipping \"$fn\"...\n";
 }else{
   print "Processing $fn...\n";
   system("jhead -exonly -ci ~/jpeg-comment.txt -autorot \"-n%Y-%02m-%02d %02H%02M%02S %f\" \"$ARGV[$i]\"");
 }
}

Примечание: в ~/jpeg-comment.txt лежит мой копирайт.

 

Пережатие с более низким качеством JPEG:

#!/usr/bin/perl

if(@ARGV<2){
 print "USAGE: chquality quality files\n";
 exit;
}

$quality=$ARGV[0];

print "Quality: $quality\n";

for($i=1; $i<@ARGV; $i++){
 $n=$ARGV[$i];
 $sz=`stat -c %s "$n"`;
 print "Processing $n, size: $sz";
 system("jhead -cmd \"mogrify -quality $quality &i\" \"$n\"");
 $sz=`stat -c %s "$n"`;
 print "Size after converting: $sz";
}

print "\nDone!\n\n";

 

Ну и самый большой скрипт https://academ.club/html/emoticons/smile.gif - масштабирует с шарпингом кучу файлов, качество и максимальные размеры передаются в командной строке, заодно удаляется шлак из заголовков (т.к. в Web-версиях он не нужен):

#!/usr/bin/perl

if(@ARGV<4){
 print "USAGE: forweb quality sizeX sizeY files\n";
 exit;
}

$quality=$ARGV[0]+0;
$sizeX=$ARGV[1]+0;
$sizeY=$ARGV[2]+0;

print "Quality: $quality; Size: $sizeX*$sizeY\n";

if($quality<50 || $quality>100){
 print "Bad quality value!\n";
 exit;
}

if($sizeX<1){
 print "Bad SizeX!\n";
 exit;
}

if($sizeY<1){
 print "Bad SizeY!\n";
 exit;
}

for($i=3; $i<@ARGV; $i++){
 $n=$ARGV[$i];
 $command="jhead -de -dt \"-n%f-small\" -cmd \"mogrify ".
   "-size ".$sizeX."x".$sizeY." ".
   "-resize ".$sizeX."x".$sizeY." ".
   "-sharpen 1x1 -quality $quality &i\" \"$n\""; 
 print "$command\n";
 system($command);
}

print "\nDone!\n\n";    

Собсно, все пакетные задачи с файлами, которые мне были нужно было решать за последние пару лет, решаются этими скриптиками.

Кроме того, последнее время я гоняю C1 (увы, непосредственно под Линуксом не работает), он мне сразу пишет 3 версии каждой фотографии:

1) Полный размер, high quality JPEG, Adobe RGB

2) Полный размер, medium quality JPEG, sRGB

3) 33.33% размер, medium quality JPEG, sRGB

С учетом того, что в C1 куча опций и можно полностью довести большинство фото до ума, редактировать обычно вообще ничего не приходится, только натравливаю на файлы самый первый скриптик, чтобы расставил даты и прописал копирайт.

 

Хозяйке на заметку - скрипты легко привешиваются в контекстное меню смотрелок https://academ.club/html/emoticons/smile.gif Типа такого:

Reduce JPEG quality to 90%

konsole --noclose -e ~/bin/chquality 90 %F

 

Выделяем кучу файлов, жмем правую кнопочку, "Reduce JPEG quality to 90%" - и все... https://academ.club/html/emoticons/smile.gif

  • 1 месяц спустя...
Опубликовано

Думаю, если у других такие же проблемы, то поделюсь своими рецептами:

 

(из man-ов)

 

exifautotran - Transforms Exif files so that Orientation becomes 1

 

exiftran - transform digital camera jpeg images

exiftran is a command line utility to transform digital image jpeg images. It can do lossless rotations like jpegtran, but unlike jpegtran it cares about the EXIF data: It can rotate images automatically by checking the exif orientation tag, it updates the exif informaton if needed (image dimension, orientation), it also rotates the exif thumbnail. It can process multiple images at once.

 

jpegtran - lossless transformation of JPEG files

jpegtran performs various useful transformations of JPEG files. It can translate the coded representation from one variant of JPEG to another, for example from baseline JPEG to progressive JPEG or vice versa. It can also perform some rearrangements of the image data, for example turning an image from landscape to portrait format by rotation.

 

jpegtran works by rearranging the compressed data (DCT coefficients), without ever fully decoding the image. Therefore, its transformations are lossless: there is no image degradation at all, which would not be true if you used djpeg followed by cjpeg to accomplish the same conversion. But by the same token, jpegtran cannot perform lossy operations such as changing the image quality.

 

  • 10 месяцев спустя...
Опубликовано

Помогите и мне тоже https://academ.club/html/emoticons/smile.gif

Нужно обработать довольно много фоток одинаковым образом: уменьшить и поставить одинаковую надпись(копирайт типа). Система windows, как это сделать побыстрее? Можно и в фотошопе https://academ.club/html/emoticons/smile.gif

Опубликовано

QUOTE (Galk @ Dec 31 2006, 22:33)
Помогите и мне тоже https://academ.club/html/emoticons/smile.gif
Нужно обработать довольно много фоток одинаковым образом: уменьшить и поставить одинаковую надпись(копирайт типа). Система windows, как это сделать побыстрее? Можно и в фотошопе https://academ.club/html/emoticons/smile.gif

Для этого лучше отдельную тему создать - как в Фотошопе пользоваться Действиями (Actions). Можете про Actions поискать Гуглем или поискать в уроках Фотошопа на store (сам я не в курсе, чего там есть).

Опубликовано

Ну я вообще не знал, что для этого нужно использовать https://academ.club/html/emoticons/smile.gif

С Actions получилось всё что нужно, спасибо.

Опубликовано

QUOTE (Galk @ Dec 31 2006, 23:33)
Помогите и мне тоже https://academ.club/html/emoticons/smile.gif
Нужно обработать довольно много фоток одинаковым образом: уменьшить и поставить одинаковую надпись(копирайт типа). Система windows, как это сделать побыстрее? Можно и в фотошопе https://academ.club/html/emoticons/smile.gif

можно и без фотошопа

 

поставьте небольшой IrfanView, вьювер изображений

у него есть режим пакетной обработки файлов с богатым выбором опций как форматирования, так и преобразования и коррекции изображения, а также и нанесения надписей в любом месте картинки

просто выделяете мышом нужные файлы, задаете опции преобразования и жмете пуск! просто и наглядно

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

Аккаунт

Навигация

Поиск

Поиск

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.