вівторок, 4 грудня 2007 р.

Оброблюємо фотокопії документів з допомогою ImageMagick

Останнім часом я став помічати, що все рідше і рідше користуюся сканером (про копіювальні апарати взагалі мовчу). А й справді, майже завжди зі мною цифровий фотоапарат, чи то солідний Fuji чи то компактний Canon, тому у будь який момент я можу зняти копію з будь якого паперу, що потрапив до рук. Крім того, з допомогою фотокамери перезняти документ виходить швидше ніж сканером. Але є одна проблема - картинка виходить не такою красивою. Але з допомогою ImageMagick зображення можна легко відкорегувати таким чином щоб вони виглядали так як мовби їх зроблено з допомогою сканера.

Ну, ось наприклад у нас є знімок сторінки з методички. Я зробив його з допомогою Fuji s6500fd без спалаху, при звичайному кімнатному освітленні на ISO400.



Темнувато, правда? Та і як бачимо, аркуш по своїй площі освітлений не однаково. Це стандартна проблема з якою стикаєшся при фотографуванні текстових документів, особливо з близької відстані. Але проблема вирішується досить просто, для цього достатньо дати команду по типу наступної:
mogrify -format tif -monochrome -compress group4 -resize 1252x1800 -normalize -threshold 30% *.jpg

Тут опція -format задає формат вихідного файлу (у даному випадку найкращим вибором буде tif), опція -monochrome конвертує зображення у чорно-білий варіант, -compress задає тип компресії, -resize використовується для зміни розмірів, -normalize дозволяє повернутися до повного диапазону кольорів, -threshold дозволяє задати поріг яскравості після якого пікселі стануть білими. Найбільш цікавим є саме остання опція, її значення задається експериментально, в залежності від експозиції початкового зображення (якщо зображення темне, то значення потрібно зменшити, в іншому випадку навпаки).

Результат виконання даної команди буде таким:



Звісно, ж якщо у папці буде лежати декілька файлів з зображеннями, то всі вони будуть зконвертовані наступним чином. Для зручності, щоб не тримати у пам'яті опції команди mogrify я порекомендував би створити сценарій для Nautilus, як це робиться я вже описував раніше.

Оригінальна англомовна сторінка яка підказала мені розв'язок даної проблеми знаходиться тут:
http://staff.washington.edu/corey/camscan/
А тут можна знайти вичерпну інформацію по всім опціям ImageMagick:
http://www.imagemagick.org/script/command-line-options.php

1 коментар:

  1. Дуже дякую за цей пост! Збережено купу часу і моїх нервів :)

    ВідповістиВидалити