Иногда требуется создать компактную djvu-книжку из уже отсканированных страниц. Как правило, сканы сохраняются в jpg, что не самый лучший вариант.
Этапы минимизации можно выделить следующие:
1. Перевод страниц в ч/б изображение.
2. Удаление шумов и обрезка ненужных краёв.
3. Сжатие картинок в djvu формат.
4. Создание книги.
Мне требуется создание лишь чёрно-белой книжки, но и для цветных изображений технология похожа.
1. Сначала нужно запустить для всех файлов imagemagick сначала для перевода в ч/б формат, обрезки, затем для удаления шума. Сделать это можно одной командой:
for i in `ls *.jpg`; do convert -crop 3200x2400+200+40 -monochrome \
-median 1 $i $i.pbm; done
Таким образом получаем серию pbm несжатых изображений. Теперь осталось сжать их в дежавю, делается это утилитой cjb2:
for i in `ls *.pbm`; do cjb2 -dpi 300 -lossy $i $i.djvu; done
dpi - разрешение Вашего сканера, как правило это 300. -lossy уменьшает размер файла за счёт подстановки похожих букв. Иногда может случиться так, что алгоритм сжатия посчитает букы "и" и "н" похожими и сделает что-то среднее. В таком случае лучше флаг lossy убрать.
Затем нужно соединить все раздельные файлы в один:
djvm -c out.djvu *.djvu
Размер такого файла будет очень небольшой. Удаление шума и лишних краёв может сэкономить 50% места.