Сканируем старые фотоплёнки (негативы) в домашних условиях. Как сканировать пленочные негативы обыкновенным сканером

Перевод пленочных материалов и слайдов в цифровой формат не утрачивает актуальности и сегодня, когда, казалось бы, все уже давно обработано и размещено на виртуальных носителях. Старые архивы, фотоальбомы и негативы требуют или специальных условий хранения, или окончательного перевоплощения в компьютерные файлы. В этой связи возникает вопрос: "Как оцифровать фотопленку в домашних условиях и с минимальными затратами?" Сразу надо отметить, что подручными средствами ограничиться не получится, особенно если результат должен быть качественным. Профессиональное оборудование, которое используется для оцифровки в лабораториях и студиях, конечно, не потребуется, но к приобретению соответствующего сканера надо подготовиться. На худой конец можно обойтись и зеркальной фотокамерой, правда в этом случае возрастает ответственность уже ручной работы.

Технологический процесс оцифровки

Чтобы понимать, как в принципе работают методы перевода пленочных кадров в форматы компьютерных изображений, необходимо разобрать технологию этого преображения. По большому счету оцифровка фотопленок предусматривает разбиение каждого кадра на пиксели - мелкие элементы, из которых складывается уже другая, компьютерная картинка. Формируемое в ходе сохраняет данные о цветовой гамме снимка и других фотографических свойствах в цифровом файле.

Сканер для оцифровки - какой выбрать?

На данный момент с точки зрения оцифровки сканеру нет достойной альтернативы. Есть две разновидности таких и модели, снабженные слайд-модулем. К преимуществам планшетных слайд-модулей относится возможность оцифровки и пленочных материалов, и готовых фотографий. Если требуется оцифровка фотопленок в домашних условиях, то слайд-модуль будет оптимальным решением. Он недорого обойдется, предоставит функциональный минимум для рабочего процесса и займет немного лишнего пространства.

Фильм-сканер можно отнести к оборудованию, близкому к профессиональным моделям. Он позволяет получать качественные оцифрованные изображения с удобством для пользователя. Этот вариант подойдет, если нужно обрабатывать и регулярно появляющиеся новые кадры, и старую фотопленку. Оцифровать снимки на любительском уровне помогают многие сканеры, но если требуется получить высококачественный профессиональный результат, то потребуются барабанные фото-сканеры и мини-лаборатории.

Оптимальное разрешение

Здесь важно руководствоваться простым правилом: как известно, 300dpi является стандартом для печати - соответственно, сканер должен как минимум поддерживать этот параметр. Вообще, современная фототехника и сканирующие устройства способны поддерживать и 4800dpi - другое дело, что такой формат просто себя не оправдает в работе со старой пленкой. Например, многие интересуются, как оцифровать фотопленку в домашних условиях, чтобы каждый элемент был максимально детализирован. На практике из готового кадра невозможно выбрать больше, чем он предоставляет. В качестве оптимального разрешения можно брать формат, вдвое превышающий аналогичные возможности пленки. Например, 900dpi может подойти практически ко всем старым фотоматериалам. Даже если разрешение заметно превысит все границы и пределы негатива, всегда можно обрезать лишнее - главное, что потери в качестве не будет.

Процесс оцифровки

На сканере процедура элементарна и не требует от пользователя почти никакого участия. Конечно, перед первой обработкой придется загрузить необходимые драйвера и софт для работы оборудования - далее устанавливаются настройки, и запускается сканирование. Важно отметить, что пленочный сканер для оцифровки фотопленок в зависимости от модели может обладать целой гаммой полезных опций, которые позволят увеличить качество готовых изображений. В их числе:

  • понижение зернистости;
  • удаление пыли и масляных следов;
  • восстановление оттенков;
  • увеличение шумоподавления и резкости;
  • автоэкспозиция;
  • гистограмма для настройки тоновых кривых.

В современных версиях Epson также предусмотрена технология Digital ICE, с помощью которой аппарат самостоятельно выполняет очистку рабочих и обрабатываемых поверхностей, а также удаляет царапины.

В каком файле сохранять?

Главная ошибка начинающих фотолюбителей, для которых оцифровка фотопленок в домашних условиях ассоциируется с обычной конвертацией файлов, является неправильный формат сохранения изображения. Не рекомендуется использовать на выходе JPEG, поскольку это приведет к существенным потерям в сжатии. Оптимальным вариантом станет TIFF. Здесь вновь актуален следующий принцип: лучше сразу сделать объемные, но качественные исходники, чем в дальнейшем мучиться с неудовлетворительным разрешением и т. д. Действительно, TIFF - довольно громоздкий формат, но эти неудобства с лихвой окупит достойная печать в будущем.

Проблема оцифровки негативов

У большинства полиграфистов отрицательное отношение к задачам сканирования негативов. Обусловлено это отнюдь не коррекцией цветопередачи, доводкой контрастов и т. д. Нередко встречается вопрос о том, как оцифровать фотопленку в домашних условиях и без выраженных «шумов». Так вот негативы в этом плане считаются наиболее проблемными.

Если производится оцифровка слайдов, то «шум» попадает в тень, где его довольно сложно обнаружить. При обработке негатива происходит то же самое, и кажется, что все изъяны ушли в естественно темные участки. Разочарование приходит, когда сканер для оцифровки фотопленок обращает негатив в позитив - после этой операции весь «шум» переносится на свет. Об этом следует помнить и максимально использовать возможности автокорреции, направленной на подавление «шума».

Оцифровка негативов зеркальной камерой

Многие считают, что этот способ работы с негативами для любителей является оптимальным. На камеру снимается негатив, после чего производится его обращение и обработка. Технически процедура выглядит следующим образом: фотокамера прочно фиксируется перед рабочей площадкой, устанавливается светодиодная лампа (с фильтрами при необходимости), и настраивается экспозиция. Такая оцифровка фотопленок может быть потоковой, но только при условии, что у кадров одинаковые условия освещения. В остальных случаях для каждого кадра к примеру, подбирается индивидуально. Собственно, персональной доработки и настроек по каждому снимку можно рассматривать как плюс: во-первых, это свобода творчества, во-вторых, отрабатываются с фотоматериалами.

Заключение

На последней стадии остается лишь определиться с системой каталогизации файлов. В целом же вопрос о том, как оцифровать фотопленку в домашних условиях и получить качественные изображения на выходе, предполагает элементарный ответ. Для этого нужно иметь соответствующий сканер или зеркальную камеру - в первом случае большая часть рабочего процесса возлагается на оборудование, а во втором - на пользователя, который на свое усмотрение регулирует настройки оцифровки и условия ее выполнения. То есть все мнения о том, что сканирование и перевод в «цифру» убивает все достоинства фотографии, несостоятельны. Есть масса инструментов, методов, параметров и регулировочных тонкостей, которые позволяют создать из старого негатива настоящее произведение искусства.

Превращать пленочные фотоархивы в цифровые или оцифровывать отдельные негативы / позитивы лучше с помощью специальных пленочных сканеров. Но если стОящих подобной процедуры снимков не так уж и много и цель не создание выставочных, а лишь возвращение к жизни (на экран компьютера или телевизора) памятных фотографий, то сканировать можно и с помощью цифровой камеры. Конструкция

Описываемая в статье система оцифровки была сделана из камеры Canon PowerShot G9 , переходника для крепления насадок и светофильтров, системы крепления светофильтров и самодельного «слайд-модуля». Комплекты, подобные Cokin , выпускаются и под камеры, для которых не предусмотрена возможность установки насадок на объектив (они крепятся к штативному гнезду), что позволяет превратить в пленочный сканер даже такие камеры.

Так как система «камера-сканер» компактна, она удобна для «выездной» работы. Мне хотелось «укомплектовать» ее так, чтобы слайд-фильм из старых пленок можно было сделать с помощью легкого ноутбука или нетбука. То есть, снимать в JPEG и почти не обрабатывать.

На фотографии в начале статьи изображена «камера - сканер». Идея проста - приспособление для макросъемки пленки. Задачи, которые надо решить, чтобы результат был хорошим:
обеспечить точное и жесткое крепление пленки в плоскости фокусировки, перпендикулярной оптической оси объектива;
равномерно подсветить пленку;
обработать цифровые снимки, преобразовать негативы в позитивы.

Своими руками нужно сделать не много: держатель для пленки и жесткую рамку, в которой этот держатель будет «скользить» («слайд-модуль»). Рамка устанавливается в держатель фильтров Cokin . Детали можно изготовить и из плотного черного картона, но он не обеспечит необходимой жесткости. Поэтому использовался черный пластик.


Держатель пленки (материал - пластик от папки-скоросшивателя).



Держатель пленки установлен в рамку. Рамка изготовлена из двух почти одинаковых деталей (пластин с кадровым окном, материал - пластик толщиной ~ 1 мм), склеенных вместе так, чтобы держатель пленки (вместе с пленкой) мог перемещаться внутри этой рамки. Для этого в местах склейки между пластинами прокладываются тонкие полоски пластика (2-3 полоски из того же материала, из которого сделан держатель пленки).

Размеры держателя пленки и рамки подобраны так, чтобы держатель пленки мог перемещаться в двух перпендикулярных направлениях в плоскости фокусировки. Это позволяет, при необходимости, помещать в центр кадра разные области пленки, что может пригодится при установке баланса белого и экспозиции по увеличенному участку снимка на пленке.


Если нужно оцифровать не пленку в отрезке, а в рамке, то закрепить ее можно с помощью канцелярской резинки:



«Сканер» в разобранном виде.



«Сканер» в сборе.

Подсветка

Подсветить пленку для пересъемки можно разными способами. Если есть просмотровой столик - с его помощью. Можно прикрепить молочный пластик к окну или установить его между лампой и камерой. Другая альтернатива - использовать вспышку, освещающую белую стену - отраженным светом будет подсвечена пленка. Если вспышка камеры находится слишком близко к объективу, как у Canon G9 , можно снимать с внешней вспышкой.

Настройки камеры

На фотографии в начале статьи «слайд-сканер» установлен не правильно - непосредственно на просмотровой столик. При пересъемке расстояние между поверхностью источника света и пленкой должно быть достаточно большим, чтобы матирование и дефекты поверхности источника света не были заметны на фотографии. Диафрагму нужно подобрать такой, чтобы глубины резкости хватало для неровной пленки, но и не на столько малой, чтобы на снимке были заметны детали поверхности источника света.

Как правило, у компактных камер наибольший масштаб съемки возможен при минимальном фокусном расстоянии. При этом, возможно, изображение будет искажено. Лучше уменьшить масштаб съемки и снимать на более длинных фокусных расстояниях. В этом случае придется увеличивать дистанцию между камерой и пленкой до той, при которой возможна фокусировка. В своей конструкции я использовал для удлинения конструкции оправы от светофильтров.

Фокусировка - автоматическая, макрорежим. Если у камеры есть стабилизатор, его обязательно надо отключить (он работает относительно неподвижного объекта съемки, а если этот объект закрепить на объектив, то стабилизатор будет выполнять обратное действие - «сотрясать» камеру).

Экспозиция - автоматическая, матричный замер. По гистограмме или снимку можно судить об ошибке и вносить поправки. Если динамического диапазона камеры не хватает для пленки, можно снимать в режиме эксповилки и «складывать» конечное изображение из нескольких файлов.

Баланс белого - автоматический. Какая разница камере, что снимать реальный объект или его изображение на пленке, даже негативной? Если автобаланс хорошо работает для реальных сюжетов, то и с пленкой он справится. Ошибка в настройке баланса белого может привести к потере деталей в одном из цветных каналов, что видно по следующей иллюстрации (красный канал, верхний фрагмент). Это не критично при съемке в RAW, но для JPEG «восстановить» света или тени будет невозможно.


Гистограммы для каналов RGB снимков цветного негатива, полученные при разных установках баланса белого в камере. Верхний снимок - баланс белого ручной, по источнику освещения. Средний - автобаланс белого. Нижний - баланс белого ручной по увеличенному фрагменту пленки, на которой снята серая карта (при ручной установке баланса белого фокусировка не обязательна, поэтому можно увеличивать фрагмент).

Разрешение


Фрагмент 1:1, черно-белый негатив.

Разрешающая способность «сканера» определяется разрешающей способностью камеры и точностью фокусировки. Характерная для цифровой камеры величина разрешения ~0,7 линии на пиксель. Для камеры с 12 Мп матрицей и длинной стороной в 4000 пикселей получим разрешение 2800 линий на длинную сторону кадра. Длинная сторона кадра для 35 мм пленки, примерно, 1,5 дюйма и разрешение «сканера» составит ~1800 линий/дюйм. С Canon G9 практически можно получить ~1700 линий на дюйм. Так как макрорежим этой камеры не очень эффективен, на снимке поле кадра пленки занимает, примерно, 3/4 (по длинной стороне) и практическое разрешение оказывается меньше ~ 1300 линий / дюйм. Этого вполне достаточно для слайд-шоу и печати до, примерно, 13×18 см.Обработка

Идеальный вариант, если в камере можно применить к изображению инверсию (негатив-позитив) и кадрирование. Угадав или правильно настроив баланс белого, можно после инверсии получать готовую фотографию. К сожалению, у Canon G9 функции «негатив» нет.



Результат применения кривой инверсии при пересъемке негатива. Слева при применении «простой» кривой. Справа - обработка «сложной» кривой с разным показателями гаммы для каналов RGB.



Фрагмент 1:1. Заметны «битые пиксели».

Работа с кривыми в CHDK для камеры Canon G9 пока не доведена до того уровня, который бы позволил получать хороший результат без существенных затрат времени и сил. Более того, при «применении кривых» в Canon PowerShot G9 до сих пор мне не удалось решить проблему «битых пикселей».

В общем-то идея отсканировать и упорядочить старые фотографии, конечно же, вынашивалась давно, на такой объем работ по сканированию старых фотопленок (больше сотни) и фотографий (тысячи) решиться непросто. Вообще еще с детства хотел, чтобы у меня были оцифрованные старые фотографии прапрабабушек-прадедушек, и вот наконец спустя 20 лет решил сподвигнуться на это дело.

Сканер

Первое, в чем был вопрос - естественно сканер. В свое время, лет 7 назад, пытался оцифровывать негативы и решил запасти пленочный сканер. Денег особо не было, выбрал что подешевле, им оказался Miktotek Filmscan 35 .


По сравнению с монстрами сканирования, стоил он копейки, но и результат выдавал устрашающий. Я использовал к нему Silverfast как наиболее продвинутый софт в то время (может и сейчас). Не знаю, почему, но иногда мне при разных проходах это чудо выдавало то синюю, то зеленую фотку, то зависало все, это было непредсказуемо и очень грустно, над каждым кадром приходилось корпеть по 10-15 минут, выправляя гистограммы и осуществляя прочие танцы с бубном. Вобщем этот процесс отбил у меня охоту сканировать пленки на несколько лет, сканер так где-то и валяется.

Сейчас, обдумав все за и против, было решено следующее.
Было несколько моментов, которые надо было учесть:

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

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

Итак, пленочные сканеры отпали по двум причинам:
во-первых, предыдущий опыт показал, что за дешево нормальный такой агрегат не купить, а то, что дешево - ой, такой ад второй раз я не вынесу.
Во-вторых, покупать отдельно сканер для фоток и отдельно для пленки - тоже как-то дороговато и нецелесообразно.
Тем более, сказал я себе, если попадется что хорошее - отнесу в профессиональную лабораторию, уж на десяток кадров можно и разориться.

Посмотрев, что есть в продаже из того, что умеет сканировать кроме бумаги еще и пленку, выяснилось, что выбор невелик: или опять же заоблачные цены, или всего пара-тройка вариантов. Перерыв все работающие сразу после праздника магазины оказалось, что есть следующие приемлемые варианты:

  • Epson Perfection V330 Photo (A4, 4800 x 9600 dpi, USB 2.0, CCD,Film Adapter)
  • Epson Perfection V370, Photo (A4, 4800x9600 т/д, CCD, USB 2.0)
  • Canon CanoScan LiDE 700F (A4 9600х9600dpi 48bit CIS Слайд-адаптер USB2.0)
  • Canon CanoScan 5600F (A4 4800х9600dpi 48bit Слайд-адаптер USB2.0)

Остальное было или слишком дорого, от 10000, или, наоборот, ничего не умело. К сожалению, CanoScan 5600F отпал по причине отсутствия в данный момент в продаже, хотя по описанию очень неплох. Остальные оказались, по отзывам, примерно одинаковыми, но решающую роль сыграл тот факт, что для Epson"ов были драйвера для Linux, а поскольку хотелось бы работать не только под виндой, то в конце концов выиграл Epson Perfection V330 Photo. Нигде не смог узнать, чем же 330 модель отличается от 370, но поскольку линуксячьи драйверы упоминались только для 330, то остановился на нем, так сказать, «во избежание».

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

В отзывах по поводу сканера местами упоминается проблема с появлением полос при сканировании пленок - но я такого пока не наблюдал. Тем не менее на мой взгляд вот кое-что полезное по этому поводу, найденное в одном из отзывов на яндекс-маркете: «Спустя два года могу отчитаться об итоге расследования: в рамке сканера есть калибровочное окошко, где устанавливается баланс белого. Если туда попадают пылинки - получаются „битые пиксели“, которые при прогоне каретки дают полосы. Это, скорее всего, конструктивный дефект новой светодиодной подсветки (но кто же в этом сознается...). Итак господа, если у вас есть такой сканер,
удаляйте пыль.»

С каким разрешением сканировать - этот вопрос был не последним. Сканер выдает максимум 4800х9600, но при попытке выставить такое при скане фото 9х13см система стала материться на масштаб, пришлось уменьшать.

Критерий выбора разрешения простой: если считать, что печатать можно со стандартным разрешением 300dpi, то чтобы получить такое же изображение, надо иметь минимум 300dpi. Учитывая, что фото старые, то смысла сильно завышать эту цифру нет - все равно физическое разрешение не позволит получить качество из ничего. Опять же, вряд ли кто-то когда-то захочет печатать плакат с изображение прадеда на формате А1 или даже А4. Если кто и напишет книжку - то вряд ли будет картинка больше чем на лист. Вобщем решил, что для совсем старых сойдет двукратное превышение, для более качественных и более поздних - трехкратное, т.е. 600dpi и 900dpi соответственно. Далее выбрал то, что было наиболее близко из того, что выдала софтина, что шла со сканером.

Для негативов решил использовать максимум - не зря же покупал с таким разрешением… Скорее всего это перебор 4800х4800dpi, но всегда можно потом урезать, но главное, что потом уже не придется пересканировать с другими параметрами и можно спать спокойно.

Сканы сохраняются, естественно, ни в коем случае не в jpeg, дабы избежать потерь на сжатие. Все - только tiff. Вроде, конечно, место кушает побольше, но зато раз отсканировать - и потом проблем не знать: что хочу, то и делаю. К этому я тоже пришел не сразу, но практика показывает, что если сэкономить сейчас - потом буду жалеть и возвращаться к этому вопросу, а так, если все по-максимуму - то потом и сожалеть не о чем.

Каталогизация

Естественно, после оцифровки надо все это дело как-то разгребать. Основной задачей было подписывание пра-пра-родственников, ибо я хотел сохранить историю семьи на будущее, а без грамотных комментариев там никто никогда не разберется.

Вариант сразу обрабатывать фотки и выкладывать на сайт не подходил по двум причинам: во-первых, надо обработать все и сразу, а это время, да и родители в этом ничего не понимают; во-вторых, технологии меняются, и кто б знал, как через пару десятков лет будет выглядеть сайт, если вообще он будет как-то существовать.

Использование умной программы-каталогизатора не подходила по той же существенной причине - нет никакой гарантии, что через несколько десятков лет эта софтина будет жива и соотвественно никто не поймет, что, где и как хранится в ее умном уникальном формате.

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

Родители сказали, что вообще хотят как в ворде - вот фотка, вот подпись - и все понятно. От такого предложения волосы встали дыбом, ибо опять же - сегодня ворд есть - завтра его нет.

Еще один вариант - хранить подписи в EXIF. Тут смущало то, что при обработке картинок многие софтинки EXIF просто игнорируют, в результате потерять драгоценные подписи может оказаться невосполнимым.

В общем, проанализировав всю ситуацию, принял решение: скнируем фото, подписываем его в виде EXIF и потом все эти картинки с подписями делаем read-only, дабы не было никакого соблазна что-то менять, и таким образом гарантируем сохранность информации. Хочется менять - делай копию - и вперед. Ну и бэкапы конечно. И вообще, в конце концов на то мы и программисты, дабы набросать небольшой скриптик, чтоб весь EXIF можно было на всякий случай экспортнуть в текстовый файлик, «во избежание»:)

Для работы с EXIF в линуксе есть куча инструментов командной строки, но это неприемлемо для удобной работы с большим количеством картинок. Тем не менее, вот что есть: exif , exiftool , exiv2 , погуглив, можно найти более подробную информацию. Далее я использовал exiftool для пакетной обработки, но об этом позже.

Смотрим, что есть из GUI. Поизучав, что нам предлагает OpenSource сообщество, как-то остановился на DigiKam - «digiKam is an advanced digital photo management application for Linux, Windows, and Mac-OSX», как написано у них на сайте.
Редактировать я решил в GIMP , GNU Image Manipulation Program, аналог фотошопа, но opensource. Поэтому возможность редактировать фото для софтины каталогизации отдельно не требовалась, а вот в самой каталогизации подкупили несколько вещей.

Во-первых, DigiKam редактирует EXIF, что мне и надо.

Во-вторых, все фото сразу на экране, подписываем в окошке рядом и сразу переходим к следующей - быстро, просто и удобно.

В-третьих, было замечено, что в самой EXIF есть несколько похожих тэгов для комментирования: Comment , UserComment , ImageComment , так вот, DigiKam пишет сразу во все, так что вероятность, что эту информацию прочитает другой софт, достаточно велика.

Кроме того, читая отзывы, меня порадовала мысль, что кроме просто EXIF софтинка умеет вести каталог, причем ничего никуда не копируя, в отличие от многих других, а просто обрабатывая все на месте. Это было огромным плюсом - я не искал эту возможность изначально, но она оказалась как нельза кстати. И что мне понравилось - кроме занесения инфы в EXIF, она пишет ее в свою базу и потом фото удобно сортировать и искать по меткам, тэгам, описаниям и т.п. И даже если в какой-то момент софт исчезнет и база тоже - то копия данных останется в EXIF, что, собственно, мне и надо.

Некоторые интересные мысли по каталогизации описаны в уже упоминавшейся статье . Так вот, все или почти все эти данные тоже можно держать в EXIF и при необходимости экспортить в любой формат, как нам будет удобно.
Дополнительным плюсом DigiKam является то, что можно в качестве обложки альбома можно выбрать любое фото, а мысль иметь в качестве обложки фото самого бумажного альбома мне понравилась, за что спасибо автору.

Еще один неочевидный момент, с которым я столкнулся при работе с DigiKam: если нет прав на запись в фото-файл, то софтина молча пишет только в свою базу, никак не давая понять, что есть проблемы. Я долго пытался разобраться, почему подпись в проге есть, а в файле - нет, тем более, что в настройках установлена опция «сохранять в файле». Так вот, имейте это в виду - проверяйте права доступа, а то можете потом долго материться.

Выкладываем на сайт

Итак, решены основные задачи - сканирование и каталогизация. Теперь настало время похвалиться перед родственниками, показать знакомым фото. Естественно путем выкладывания фото на сайт. Не так давно я уже делал софтинку для этого дела: сложил нужные фото в
каталог, запустил - и готово, сделался альбом. Об этом я писал на хабре в прошлый раз, . Теперь же, используя DigiKam, я решил, что прямо в EXIF-тэгах можно помечать фото, надо его помещать в фотоальбом или нет, поскольку при сканировании были всякие картинки, которые на сайт выкладывать не стоит. Да и комментарии теперь можно брать из EXIF.

Вроде бы все хорошо, да не очень.

На сайте все обрабатывается в PHP, и там есть, как мне казалось, замечательная функция для работы с EXIF, read_exif_data() , но как показала практика, эта недофункция показывает только часть данных, абсолютно умалчивая про остальное. Перерыл все что мог - и мечта о легкой жизни канула в лету, пришлось вытаскивать EXIF из файлов на этапе генерирования альбома, благо инструменты командной строки имеют место быть.

В итоге переписал скрипт, вспомнив язвительный комментарий к предыдущей своей статье «Генератор php-файлов на Perl… Месье знает толк...», посмеялся про себя, что все же был прав, что полностью не положился на PHP - вот она мне подставила бы сейчас ножку, а так пара минут - и проблема решена.

Итак, при обработке фото в DigiKam помечаем фото флажком (он там называется PickLabel). Флажок пишется в файл в EXIF. Когда процессим все файлы из каталога - вытаскиваем флажок с помощью exiftool:

$flagPickLabel = `exiftool -b -PickLabel "$fname_in"`;

Ну и далее в зависимости от флажка - если стоит - то процессим, если нет - пропускаем. Все задается в командной строчке, дабы было удобно. На самом деле тут можно обрабатывать много всего, это уже на вкус и цвет кому что надо.

Ссылка на исходники, если вдруг кому-то понадобится внимательно посмотреть или даже применить: photo_album-r143.tar.gz . Как пользоваться - упомянуто в предыдущей статье, не буду повторяться.

На этом спасибо за внимание, а если кому пригодилось - то безмерно рад.
Критика приветствуется.

UPD : Вот случайно нашел еще на хабре - удивляюсь, как раньше не заметил. Пусть будет тут до кучи.

Теги:

  • фотоархив
  • каталогизация фото
  • сканирование
  • DigiKam
  • EXIF
  • exiftool
Добавить метки

Поделиться