Як оцифрувати фотоплівку в домашніх умовах. Як сканувати плівкові негативи звичайним сканером Комп'ютерні програми для сканування та обробки негативів

Звичайні сканери не призначені для сканування слайдів та негативів через недостатню кількість підсвічування. Однак є хитрість, яка дозволить це робити за допомогою невеликої кількості картону. Збудувавши хитру конструкцію можна перенаправити світловий потік і досягти потрібного результату.

Якщо у Вашому архіві завалялися старі негативи, які хотілося б перевести у цифровий формат, Ви маєте можливість відсканувати їх. Але просте сканування для цього не підійде. Для того щоб все вийшло, потрібне потужне джерело світла, яке має перебувати за негативом або багатофункціональний сканер.

Звичайно, можна купити спеціальний сканер для плівок, але якщо у Вас вже є звичайний планшетний пристрій, цілком можна обійтися ним. Для сканування плівки або слайда можна використовувати звичайний картонний відбивач. Він захоплюватиме світло, що випромінюється сканером і відображатиме його зі зворотного боку слайда. Такий відбивач дасть змогу сканувати полону та слайди як звичайні документи.

Для виготовлення відбивача нам знадобляться такі матеріали:
Аркуш щільного картону формату A4 зі стороною срібного кольору
Олівець
Ножиці
Скотч
Лінійка

Інструкція




Крок 1: На аркуші картону, де немає срібного забарвлення, надрукуйте або намалюйте наступний шаблон.




Крок 2: Виріжте шаблон і зігніть таким чином, щоб срібна сторона була звернена усередину.




Крок 3: З'єднайте шаблон у трикутник. Він має нагадувати клин. При цьому одна сторона залишиться відкритою. Блискуча частина обов'язково має бути всередині.




Крок 4: Далі потрібно склеїти кути відбивача. Після висихання клею пристрій готовий до використання.




Приступимо до використання нашого відбивача. На скло сканера покладіть плівку або слайд. Зверху помістіть відбивач. Щоб досягти хорошого результату, вирівняйте одну сторону слайда з центром відбивача. Кришку сканера закривати не потрібно. Можна приступати до сканування. Якщо в результаті на знімку вийде нерівномірне освітлення, можна спробувати покласти тонкий лист цигаркового паперу між негативом і відбивачем. Папір розсіє світловий потік і не дасть сканер захоплювати простір за плівкою.

Досягши задовільного результату, потрібно обрізати зображення по контуру слайда, так як сканер сканує все скло, а нам потрібен лише маленький кадр. Обрізання можна зробити в будь-якому графічному редакторі. Для отримання чіткішого зображення потрібно виконувати сканування з високою роздільною здатністю. Рекомендовано використовувати 1200 DPI.




Після сканування потрібно провести невеликі фотоманіпуляції із зображенням. Якщо Ви сканували негатив, то доведеться інвертувати кольори. Це можна здійснити навіть у Microsoft Paint, так що тут труднощів виникнути не повинно. Також можна провести невелику обробку знімка у будь-якому графічному редакторі. Рекомендується підвищити яскравість чи контрастність.

Якщо під час сканування на негатив потрапив пил, його можна прибрати м'яким пензликом для об'єктива або косметичною щіточкою. Щоб видалити плями або подряпини можна скористатися інструментом кисть, що лікує. Для цього можна використовувати безкоштовні програми, такі як GIMP чи Paint.net. Вони доступні для вільного завантаження та їх легко знайти в інтернеті.




Цей знімок демонструє (зліва направо): пряме сканування, інвертоване сканування та остаточне зображення після видалення подряпин та пилу. Вся робота зайняла трохи більше 10 хвилин.

Загалом ідея відсканувати та впорядкувати старі фотографії, звичайно ж, виношувалась давно, на такий обсяг робіт зі сканування старих фотоплівок (більше сотні) та фотографій (тисячі) зважитися непросто. Взагалі ще з дитинства хотів, щоб у мене були оцифровані старі фотографії прапрабабусь-прадідусів, і ось нарешті через 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)

Решта було або надто дорого, від 10 000, або, навпаки, нічого не вміло. На жаль, 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 та Mac-OSX", як написано у них на сайті.
Редагувати я вирішив у GIMP , GNU Image Manipulation Program, аналог фотошопу, але Opensource. Тому можливість редагувати фото для софтини каталогізації окремо не була потрібна, а ось у самій каталогізації підкупили кілька речей.

По-перше, DigiKam редагує EXIF, що мені треба.

По-друге, всі фото одразу на екрані, підписуємо у віконці поряд і одразу переходимо до наступної – швидко, просто та зручно.

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

Крім того, читаючи відгуки, мене потішила думка, що окрім просто EXIF ​​софтинка вміє вести каталог, причому нічого нікуди не копіюючи, на відміну від багатьох інших, а просто обробляючи все на місці. Це було величезним плюсом - я не шукав цю можливість спочатку, але вона виявилася як не доречною. І що мені сподобалося - крім занесення інформації в EXIF, вона пише її в свою базу і потім фото зручно сортувати і шукати за мітками, тегами, описами і т.п. І навіть якщо рано чи пізно софт зникне і база теж - то копія даних залишиться в EXIF, що, власне, мені і треба.

Деякі цікаві думки з каталогізації описані в статті «Досвід створення каталогу та індексації сімейного фотоархіву. Індексація та оцифрування фотоплівок» . Так ось, всі або майже всі ці дані також можна тримати в EXIF ​​і при необхідності експортувати в будь-який формат, як нам буде зручно.
Додатковим плюсом DigiKam є те, що можна як обкладинку альбому можна вибрати будь-яке фото, а думка мати як обкладинку фото самого паперового альбому мені сподобалася, за що дякую автору.

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

Викладаємо на сайт

Отже, вирішено основні завдання - сканування та каталогізація. Тепер настав час похвалитись перед родичами, показати знайомим фото. Природно, шляхом викладення фото на сайт. Нещодавно я вже робив софтинку для цієї справи: склав потрібні фото в
каталог, запустив – і готово, зробився альбом. Про це я писав на хабрі минулого разу, «Simple automation: фотоальбом». Тепер, використовуючи 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: Ось випадково знайшов ще на хабрі про сканування негативів - дивуюся, як раніше не помітив Хай тут буде до купи.

Теги:

Додати теги

Загалом ідея відсканувати та впорядкувати старі фотографії, звичайно ж, виношувалась давно, на такий обсяг робіт зі сканування старих фотоплівок (більше сотні) та фотографій (тисячі) зважитися непросто. Взагалі ще з дитинства хотів, щоб у мене були оцифровані старі фотографії прапрабабусь-прадідусів, і ось нарешті через 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)

Решта було або надто дорого, від 10 000, або, навпаки, нічого не вміло. На жаль, 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 та 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
Додати теги