Очень часто попадаются интересные книги в формате djvu. Но к
сожалению качество некоторых книг не очень хорошее. К основным дефектам
можно отнести:
- серый фон на страницах;
- некоторые страницы перевернуты на 90-180 град;
- страницы идут попарно - разворотами, такие неудобно читать на небольшом экране нетбука.
Перед началом работы убедитесь, что установлены пакеты:
libtiff-tools, djvulibre-bin и imagemagick.
Итак имеем файл книги inputfile.djvu. Примерно такого качества:
Преобразуем его сначала в многостраничный tiff:
Сжатие без компрессии (размер файла может достичь до нескольких Гб! в зависимости от количества страниц и качества книги)
ddjvu -v -format=tiff inputfile.djvu output.tiff
Сжатие с компрессией (размер файла до 500 Мб)
ddjvu -v -format=tiff -quality=80 inputfile.djvu output.tiff
Если книга небольшая, до 200 стр., то параметр качества -quality=80 можно не указывать, при этом tiff получиться без компрессии, а значит, с меньшей потерей качества при преобразовании. У меня с книгой более 500 стр не получилось разрезать с помощью tiffsplit созданный без компрессии 2 Гб-ый tiff.
Теперь преобразуем многостраничный тиф в множество одностраничных - каждую страницу в отдельный файл:
tiffsplit inputfile.tiff outputdir/Еще одно преобразование, на этот раз из tiff в png. Для чего? Объясняю чуть ниже.
for f in *; do convert $f png/$f.png; doneНа следующем этапе нам понадобиться Scan Tailor - программа для подготовки электронных книг. В Ubuntu 9.10 она есть в репозитории. Для пользователей других дистрибутивов: ищите в своих репозиториях, если нет, то Scan Tailor легко собирается из исходников, предварительно почитайте, что нужно установить по зависимостям. Есть версия для Windows.
sudo apt-get install scantailorВот теперь нам и понадобятся png файлы, так как tiff Scan Tailor не читает.
Запускаем Scan Tailor, добавляем все png файлы в проект и проходим по нужным пунктам оптимизации. Поскольку программа локализована, не вижу смысла подробно останавливаться на всех пунктах оптимизации. Scan Tailor позволяет: исправлять ориентацию страниц, разрезать развороты отсканированных страниц, корректировать угол наклона страниц, выделять полезную область страниц, при этом очищая поля, поменять разрешение документа, выбрать способ компресии для изображения: черно-белое, цветное-оттенки серого, смешанное. Наиболее важный и интересный пункт это "Разрезка страниц". Насколько я знаю, есть еще одна программа для обработки отсканированных изображений под nix системы, позволяющая разрезать развороты книг - unpaper. Однако добиться ее корректной работы у меня не получилось (страницы не резались, если кто то работает с unpaper оставьте в коментах рабочие опции при разрезании разворотов страниц). Наилучший, самый чистый результат получается при выборе в пункте "Вывод" режима "Черно-белый". Однако этот способ коррекции не подходит, если в книге есть фотографии, тут нужно подбирать режим: "Цветной-серый" либо "Смешанный".
После завершения работы результаты складываются в папку "out".
В консоли переходим в папку out и запускаем скрипт сборки djvu файла.
На выходе получаем такой результат (файл output.djvu):
Разница в качестве исходного и обработанного файла заметна невооруженным глазом.
Источник:http://surrender-zen-way.blogspot.com/2010/02/djvu.html