Дано: сімейний фотоархів на кількох негативних чорно-білих фотоплівках.
Для вирішення проблеми був позичений сканер EPSON Perfection 2400 Photo. Прилад заробив в старій і давно непідтримуваної Ubuntu 8.04 відразу. Виявився досить швидким і якісним.
Далі все просто:
1. Визначтеся, яким боком засовувати негативи. Найпростіше це зробити експериментальним шляхом.
Якщо все кадри однорідні по освітленості, то після попереднього сканування xsane виставляє близькі до оптимальних параметри яскравості, контрастності і гамма-корекції. При різнорідних кадрах доводиться підлаштовувати вручну. При сильно різнорідних - навіть сканувати двічі, хоча подальша обробка показала, що сенсу в цьому не дуже багато.
Чорно-білі негативи є сенс сканувати відразу в чорно-білому режимі - це швидше.
2. Конструкція слайд-модуля така, що витягти «задній» кінець плівки важко, але можливо. Я хотів спробувати сканувати плівку, не розрізаючи, але це призвело до появи вертикальних смуг і спотворень. зрядно згвалтувавши мозок, я здогадався, що це відбувається через те, що при цьому кінець плівки закриває калибровочную область.
Мораль: плівку обов'язково треба різати.
3. Плівку найкраще різати на шматочки рівно по 6 кадрів і засовувати їх завжди однаково, так, щоб кордони кадрів знаходилися навпроти розділових ліній слайд-модуля. Це потрібно, щоб потім автоматично порізати отримані скани.
4. Так як сканів вийшло багато, для їх автоматизованої обробки використовувався пакет imagemagick. Був написаний скрипт:
#! / Bin / sh
c = "- negate -blur 2 -unsharp 3x1 + 1.2 + 0.02 -equalize -normalize -verbose"
convert -crop 1100x1670 + 40 + 73 $ c $ 1 $ 1-cut1.jpg
convert -crop 1100x1670 + 40 + 1850 $ c $ 1 $ 1-cut2.jpg
convert -crop 1100x1670 + 40 + 3650 $ c $ 1 $ 1-cut3.jpg
convert -crop 1100x1670 + 40 + 5420 $ c $ 1 $ 1-cut4.jpg
convert -crop 1100x1670 + 40 + 7220 $ c $ 1 $ 1-cut5.jpg
convert -crop 1100x1670 + 40 + 9005 $ c $ 1 $ 1-cut6.jpg
Цьому скрипту були скормлю скани через
find | grep jpeg | grep -v cut | grep -v "/ 00 /" | xargs -t -I '<>'./dph.sh'<>'
У винде imagemagick теж працює.
Крім обрізки як такої скрипт інвертує негативи, нормалізує і трохи рерушірует фотку. На більшості знімків автоматична обробка показала задовільні результати, з урахуванням віку і якості вихідних плівок.
Тільки не питайте, звідки цифри в скрипті - вони отримані експериментально для звичайної фотоплівки і роздільної здатності 1200 точок на дюйм з невеликим запасом (близько 5% кадру).
Набір фільтрів спочатку був іншим, трохи оптимізований за часом рахунку.