в помощь тем, кто задается вопросом "EF24 или EF28?" и т.п. или анализ предпочтений
Неоднократно видел в форумах советы вроде: "посмотрите на свои снимки - какими фокусными пользуетесь чаще и сможете определиться с тем, что выбрать". Совет хороший, но не всегда легко реализуемый. Думаю, что многие скорее просто замечают, что на таком то объективе они чаще используют такое-то значение для этого и такое-то для того.
После того, как я наткнулся на один старый thread где кто-то скрипт написал для подобных вычислений, созрел на создание чего-то подобного. Думаю, что это не только мне будет интересно, поэтому делюсь наработками. Итак, целью ставилось сбор статистики по всем снимкам из архива с последующим отображением в числовом виде и в виде графиков. Для простоты реализации и применения скрипты были написаны на perl с использованием доп. библиотеки (подробнее об этом ниже). У меня за год пользования canon 350d накопилось несколько dvd со снимками, поэтому для каждого из них придется запустить скрипт. При этом статистика накапливается. Результат выглядит следующим образом: 18.0mm 428 ************************************************* 21.0mm 41 ***** 22.0mm 67 ******** 24.0mm 49 ****** 25.0mm 71 ******** 27.0mm 71 ******** 28.0mm 88 ********** 30.0mm 52 ****** 31.0mm 62 ******* 33.0mm 45 ****** 34.0mm 65 ******** 35.0mm 35 **** 37.0mm 40 ***** 38.0mm 36 ***** 39.0mm 30 **** 40.0mm 23 *** 41.0mm 41 ***** 42.0mm 35 **** 43.0mm 25 *** 44.0mm 18 *** 45.0mm 29 **** 46.0mm 35 **** 47.0mm 35 **** 48.0mm 21 *** 49.0mm 40 ***** 50.0mm 23 *** 51.0mm 7 * 52.0mm 9 ** 53.0mm 17 ** 54.0mm 36 ***** 55.0mm 613 ************************************************** ******************** Слева столбец фокусных расстояний, правее - количество снимков, еще правее - визуальное представление количества снимков для визуального сравнения. У меня сейчас в распоряжении только EF-S 18-55 3.5-5.6 II и это видно из отчета. Что можно извлечь из отчета: в этом случае, подобно анализу гистограмы, заметно, что мне не хватает как минимум широкоугольника и портретника. Из средних фокусных, мог бы быть фикс EF 28 - заметен пик частот. |
Теперь о том как этим востользоваться
Нужно установить perl интерпретатор (я использую версию ActivePerl 5.8.6.811
http://www.activestate.com/ActivePerl/), библиотеку Image-ExifTool-6.80 (http://www.sno.phy.queensu.ca/~phil/exiftool/) и использовать скрипт exif_stat.pl. Исходный код скрипта: ----------------------- начало --------------------------- #!/bin/perl -w # use: exif_stat.pl [<folder>] [<file extention>] use strict; use File::Find; use Image::ExifTool qw(:Public); my $dir = shift; $dir = '.' unless defined ($dir); my $ext = shift; $ext = 'cr2' unless defined ($ext); $ext = '\.' . $ext . '$'; my %focal_set; my $max_val = 0; my $max_bar = 70; if (open (IN, "exif_rep.txt")) { while (<IN>) { /^([0-9.mm]*)\s*(\d*)/; next unless defined($1) and defined($2); $focal_set{$1} = $2; $max_val = $2 if $max_val < $2; } close (IN); } find ({wanted => \&process, no_chdir => 1}, $dir); open (OUT, ">exif_rep.txt"); foreach (sort (keys %focal_set)) { my $focal = $_; my $value = $focal_set{$_}; my $bar = '*' x ($max_val > $max_bar ? ($value * ($max_bar - 1) / $max_val + 1) : $value); write (OUT); format OUT = @>>>>> @##### @<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< <<<<<<<<<<<<<<<<<<<< $focal, $value, $bar . } close (OUT); sub process { return if -d $File::Find::name; return unless $File::Find::name =~ /$ext/i; print "$File::Find::name\n"; my $info = ImageInfo($File::Find::name); my $focal = $$info{'FocalLength'}; if (defined ($focal)) { $focal_set{$focal}++; $max_val = $focal_set{$focal} if $max_val < $focal_set{$focal}; } else { print "warn: focal length is undefined in $File::Find::name\n"; } } ----------------------- конец ---------------------------- Скопируйте и вставте исходный код в файл exif_stat.pl. Запустите скрипт, в качестве параметра укажите путь откуда рекурсивно делать поиск файлов с заголовками exif. По умолчанию анализируются файлы CR2. (Лично у меня есть в архиве jpeg-и друзей, а также переделаные позже снимки, т.е. дубли, поэтому анализ jpeg-ов я решил не делать.) Если необходимо анализировать др. файлы - укажите вторым параметром расширение. Примеры коммандных строк запуска скрипта: exif_stat.pl - ищет начиная с текущей папки файлы CR2 exif_stat.pl e:\ - ищет начиная с корня E файлы CR2 exif_stat.pl . jpg - ищет начиная с текущей папки файлы jpg Во время работы на экран выводятся обрабатываемые файлы. Результат записывается в файл exif_rep.txt. В следующий запуск (для др. архива) скрипт подхватит статистику из exif_rep.txt, дополнит ее новыми данными и перезапишет отчет. Upd: Статья также доступна здесь: http://byandy.livejournal.com/6515.html. (Получилось избежать ненужного в данном случае форматирования и искажения кода и таблицы.) Вроде бы все. |
по непонятным мне причинам в строке
@>>>>> @##### @<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< < <<<<<<<<<<<<<<<<<<<< среди знаков меньше появляется пробел - его следует удалить. |
Огромное Вам спасибо за проделанную работу!!!
|
Для меня это очень тяжело да я и так могу сказать за год пользования наибольшое колчество снимков это на ФР 50 и 80 ну и есть пару на 28 а все остальное в прмежутках так иногда использовал так же как и 75-300.
Но за все спасибо если вдруг захочеться таки точненько проверить то обязательно попробую ;) |
Пожалуй, ещё не встречал более абстрактной фототемы. Это примерно как "Вы легко узнаете, где у Вас болит. Пользуйтесь прилагаемым чертежом студии для съёмки в Х-лучах. После совмещения Ваших фотографий из 30-ти ракурсов небольшое затемнение на Вашем изображении покажет вероятное место постоянной боли".
Впрочем, насаждение культуры скриптов - дело неплохое. |
Надеюсь, кому-то поможет, хотя конечно же это не панацея и руководстваваться нужно комплексно всем накомленным опытом в вопросе выбора. Успехов! :)
|
Поможет
Цитата:
Если у зума диапазон начинался бы на 24мм (16мм на кропе), то он и был бы самым востребованным на широком угле... |
А пакет-то как установить?
|
andyb
Спасибо за работу. Скрипт нужный. Однако не все будут им пользоваться, по причине установки ненужных им библиотек и т.д. Можете скомпилировать все в один экзэшник, будет совсем хорошо :beer: |
Цитата:
Иными словами, папка lib пакета Image-ExifTool-6.80 содержит то, что должно быть в папке lib интерпретатора perl. |
Юрий
Можно и так сделать, но не знаю пока где екзешник выложить. На всякие rapidshare - долго не пролежит. Если сделаю таки, отпишу сюда. PS. Perl вариант мне еще импонировал тем, что это не бинарный файл. Т.е. никто не будет бояться подхватить какую-нибудь заразу. |
А вот такой программой не пробовали попользоваться?
Есть такая вот программка - пользовался - вроде работает - графики строит.:)
http://www.dpcamera.ru/news/detail.php?ID=4014 |
Ivanov_A
Ай, опять кто-то опередил :) Ну вот и екзешник с графиками. Спасибо за наводку. Кстати, линк там уже устарел, вот новый http://www.cpr.demon.nl/program/exposureplot_112.zip |
Текущее время: 04:36. Часовой пояс GMT +3. |
Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Хостинг предоставлен 100mb.ru
© Copyright 2005 - 2011