Главное > DjVu
Программа MiniDjVu Plus
monday2000:
Представляю свою новую программу:
MiniDjVu Plus v1.0
Скачать:
http://www.djvu-soft.narod.ru/soft/minidjvu_plus_v1_0.rar (941 КБ)
Исходники:
http://www.djvu-soft.narod.ru/soft/minidjvu_plus_v1_0_src.rar (81 КБ)
Описание:
MiniDjVu Plus - это экспериментальная программа, предназначенная для (пакетного) кодирования/декодирования в/из DjVu.
MiniDjVu Plus имеет лицензию "GPL 2 и выше" и полностью открытые исходные коды.
Программа работает как под Win98, так и под Win2000/XP.
MiniDjVu Plus использует бесплатную программную графическую библиотеку FreeImage (под лицензией GPL).
Возможности
1. Кодирование в DjVu (пакетное и одиночное) чёрно-белых (1-битных) растровых графических файлов (TIF, BMP, JPG, ....).
2. Кодирование в DjVu (пакетное и одиночное) серых и цветных (8- и 24-битных) растровых графических файлов (TIF, BMP, JPG, ....) (в режиме PhotoDjVu).
3. Декодирование DjVu (в растровые графические файлы - TIF, BMP, JPG, ....).
ВНИМАНИЕ:
MiniDjVu Plus является графической оболочкой к экспериментальной консольной программе minidjvu v0.8 http://minidjvu.sf.net/ (в лице fi_minidjvu). Использовать minidjvu v0.8 (MiniDjVu Plus) всерьёз для реального чёрно-белого DjVu-кодирования КРАЙНЕ не рекомендуется!!! (Для этого существуют коммерческие DjVu-кодировщики.)
MiniDjVu Plus является лишь средством для общественного тестирования (силами всех желающих) возможностей minidjvu v0.8.
Т.е. minidjvu v0.8 (в лице MiniDjVu Plus) - это "игрушечный" чёрно-белый DjVu-кодировщик.
Однако (в отличие от чёрно-белого DjVu-кодирования) кодирование в DjVu серых и цветных растровых графических файлов (в режиме PhotoDjVu), и декодирование DjVu поддерживаются программой абсолютно полноценно и неотличимо по качеству от соответствующих коммерческих аналогов.
Подробности:
Файл MiniDjVu Plus.exe - это просто GUI, управляющий соответствующими консольными утилитами.
Пакет содержит 3 основные рабочие утилиты:
- fi_minidjvu.exe - консольная утилита для (пакетного) кодирования чёрно-белых графических файлов в форматах bmp, jpeg, jpg, gif, tiff, tif, pnm, ppm, pgm, pbm. Версия: 1.1. Представляет из себя утилиту miniDjVu v0.8 http://minidjvu.sf.net/ с добавленной поддержкой FreeImage.
- fi_c44.exe - консольная утилита для (пакетного) кодирования серых и цветных графических файлов (в тех же форматах) в режиме Photo DjVu. Версия: 1.1. Представляет из себя утилиту c44 http://djvu.sourceforge.net/ с добавленной поддержкой FreeImage.
- fi_ddjvu.exe - консольная утилита для декодирования любых DjVu-файлов: одно- и многостраничных; содержащих чёрно-белые, серые и цветные изображения (при декодировании автоматически создаются файлы соответствующей битовой разрядности). Версия: 1.1. Представляет из себя утилиту ddjvu http://djvu.sourceforge.net/ с добавленной поддержкой FreeImage.
MiniDjVu Plus имеет 3 режима работы, соответствующие этим консольным утилитам:
- BW -> DjVu (управление консольной утилитой fi_minidjvu.exe)
- Photo -> DjVu (управление консольной утилитой fi_c44.exe)
- Decode DjVu (управление консольной утилитой fi_ddjvu.exe)
В любом из режимов работы пользователь визуально формирует параметры (де)кодирования, которые MiniDjVu Plus подаёт затем через командную строку на вход соответствующей консольной утилиты. При этом сформированная командная строка отображается в процессе (де)кодирования в лог-окне.
Примечание
MiniDjVu Plus (включая fi_minidjvu) является полностью и абсолютно легальной программой во всех отношениях (что является её главным преимуществом). Её лицензионный статус - "свободно-бесплатная программа с открытыми исходными кодами".
Смысл создания программы MiniDjVu Plus состоит в том, чтобы дать всем желающим удобный визуальный программный инструмент для сравнения возможностей бесплатного DjVu-кодировщика minidjvu v0.8 с возможностями коммерческих DjVu-кодировщиков.
Название "MiniDjVu Plus" было выбрано так, чтобы оно обязательно включало в себя слово "miniDjVu" - с целью отдать дань уважения Илье Межирову, создавшему консольную утилиту "miniDjVu" http://minidjvu.sf.net/, являющуюся "сердцем" и основным смыслом создания MiniDjVu Plus.
monday2000:
Консольная утилита из MiniDjVu Plus v1.0:
fi_minidjvu v1.1
Скачать:
http://www.djvu-soft.narod.ru/soft/fi_minidjvu_v1_1.rar (471 КБ)
Исходники:
http://www.djvu-soft.narod.ru/soft/fi_minidjvu_v1_1_src.rar (87 КБ)
Новое:
- Добавлена опция -filelist.
Позволяет подавать список кодируемых файлов на вход fi_minidjvu в виде текстового файла, содержащего список кодируемых файлов. Ведь длина командной строки - величина ограниченная, и на её ёмкость не следует слишком рассчиывать.
- Добавлена опция -showpage.
При её включении в консоль при кодировании в реальном времени выводится признак начала кодирования очередного файла (при создании многостраничного DjVu). Эта опция предназначена для организации постраничной индикации кодирования в GUI, управляющем fi_minidjvu.
monday2000:
Некоторые подробности относительно программы MiniDjVu Plus v1.0:
1. При открытии графических файлов для DjVu-кодирования производится автоматическая проверка их битовой разрядности. Загружаются только те файлы (из числа открываемых), битовая разрядность которых соответствует текущей выбранной операции DjVu-кодирования (при BW -> DjVu загружаются только 1-битные файлы, а при Photo -> DjVu загружаются только 8- и 24-битные файлы).
В настоящее время это приводит к заметному "торможению" при открытии графических файлов - поскольку приходится загружать-выгружать в память каждый открываемый файл - только лишь для того, чтобы посмотреть, какая у него битовая разрядность. Просто в библиотеке FreeImage нет функции вроде "загрузить только заголовок" графического файла (чтобы посмотреть там битовую разрядность).
2. При кодировании в DjVu серых и цветных растровых графических файлов (в режиме PhotoDjVu) каждый файл в списке загруженных кодируется отдельно утилитой fi_c44.exe - и лишь в конце полученные одностраничные PhotoDjVu-файлы (в папке tmp в каталоге программы) собираются в единый результирующий многостраничный PhotoDjVu-файл стандартной DjVuLibre-утилитой djvm.exe.
Так что, если кому-то нужна просто россыпь полученных одностраничных PhotoDjVu-файлов - а не склеенный из них многостраничный DjVu-файл - то он может взять эту россыпь из папки tmp в каталоге с программой.
3. Одновременное декодирование нескольких DjVu-файлов не поддерживается (в этом нет большого смысла).
4. Утилита fi_minidjvu v1.1 в составе MiniDjVu Plus v1.0 кодирует в DjVu несколько своеобразно: она кодирует файлы группами, причём размер группы равен размеру словаря разделённых символов. По умолчанию размер словаря равен 10-ти - так что fi_minidjvu v1.1 загружает с диска 10 файлов, кодирует их в DjVu, выгружает на диск во временный файл, затем загружает с диска следующие 10 файлов, и т.д.
5. В утилите fi_ddjvu.exe в составе MiniDjVu Plus v1.0 отключена возможность создания PDF-файлов (имеющаяся в исходном ddjvu.exe). Это не получилось "перебить" под FreeImage.
fi_ddjvu.exe (и, соответственно, MiniDjVu Plus v1.0) умеет создавать многостраничные файлы на выходе. Форматы такие: tif, tiff, rle. Причём rle - это такой, который понимают утилиты cjb2 и csepdjvu.
6. Что-то странное творится при использовании опции DPI у режима BW -> DjVu: при варьировании этой опции получаются какие-то совершенно "дикие" DjVu-файлы - с многочисленными ошибками "инь" (transposed letters). Что-то тут не так. Так что я специально поместил опцию DPI у режима BW -> DjVu в группу опций "Quality" (хотя в норме, казалось бы, какое отношение DPI может иметь к качеству получаемого DjVu).
В общем, режимами MiniDjVu Plus v1.0:
- Photo -> DjVu (управление консольной утилитой fi_c44.exe)
- Decode DjVu (управление консольной утилитой fi_ddjvu.exe)
можно пользоваться всерьёз - в реальной жизни. Они ничем не хуже, чем Photo-кодирование посредством documenttodjvu (DjVu Small) или декодирование посредством djvudecode (DjVu Small).
И только режим
- BW -> DjVu (управление консольной утилитой fi_minidjvu.exe)
является "игрушечным" и экспериментальным (которым не следует пользоваться в реальной жизни). Взамен следует использовать чёрно-белое кодирование посредством documenttodjvu (DjVu Small) - и качество заметно лучше (буквы получаются не столь "зазубренные"), и размер меньше (в общем случае, на 13-15%).
monday2000:
Я сделал MiniDjVu Plus v1.0 по нескольким причинам:
1. Я давно уже обещал Алексею Крюкову, создавшему minidjvu v0.8, сделать GUI к нему. Это даже было одним из условий создания minidjvu v0.8 Алексеем.
2. Поскольку Tulon заявил о своём желании всерьёз использовать minidjvu и прикрутить его к Scan Tailor, то я немного сдвинул свои планы и поспешил сделать GUI раньше, чем планировал.
Посредством MiniDjVu Plus v1.0 я хочу показать абсолютную недопустимость использования minidjvu в реальной жизни, для реального DjVu-кодирования - minidjvu просто "не тянет" по качеству. И теперь каждый может закодировать один и тот же чёрно-белый скан сначала посредством DjVu Small, в затем посредством MiniDjVu Plus v1.0 - и увидеть разницу.
3. Tulon всё кричал, как он страшно занят, но при этом планировал сделать своё GUI к minidjvu. Вот я заодно и посодействую Tulon - высвобожу ему время, потребное для создания своего GUI к minidjvu - чтобы у него было больше времени заняться улучшением СТ. ;D
4. Всё это не значит, что я якобы плохо отношусь к minidjvu. Нет, minidjvu - это замечательный "прорывной" проект, и какой молодец (и большое ему спасибо) Илья Межиров, что создал minidjvu.
Быть может, MiniDjVu Plus v1.0 кого-то сподвигнет на то, чтобы заняться сугубо математически-алгоритмическим усовершенствованием minidjvu. Ведь MiniDjVu Plus v1.0 как бы даёт возможность "пощупать руками" minidjvu - в удобной визуальной форме. Больше не надо колдобиться с неудобной командной строкой, чтобы понять, что такое minidjvu в плане качества. С MiniDjVu Plus v1.0 становится удобным проводить сотни экспериментальных кодирований в DjVu. Это тоже одна из причин создания MiniDjVu Plus v1.0.
Я считаю, что Илья совершенно верно выбрал направление "главного удара" - попытаться создать эквивалентную замену коммерческим "чёрно-белым" DjVu-кодировщикам (JB2-кодировщикам). Для нас это гораздо важнее, чем научиться делать автосегментацию (подобно documenttodjvu). Автосегментацию мы уже во многом подменяем СТ-зонами + DjVu Imager. Найдутся и многие иные похожие варианты если что.
Просто Илья не смог с первой попытки довести дело до конца - и minidjvu всё же пока ощутимо хуже коммерческих аналогов.
Будем надеяться, что найдётся некий "Илья Межиров-2", который доведёт minidjvu до ума.
monday2000:
Новая подверсия:
MiniDjVu Plus v1.1
Скачать:
http://www.djvu-soft.narod.ru/soft/minidjvu_plus_v1_1.rar (892 КБ)
Исходники:
http://www.djvu-soft.narod.ru/soft/minidjvu_plus_v1_1_src.rar (88 КБ)
Что нового:
- Стандартный файл FreeImage.dll заменён на модифицированный одноимённый файл, обладающий возможностью "частичной загрузки изображения", описанной подробно здесь: http://www.djvu-scan.ru/forum/index.php?topic=56.0
Это дало возможность радикально ускорить встроенную проверку битовой разрядности, всегда автоматически осуществляемую при открытии графических файлов (на DjVu-кодирование). Теперь такая проверка осуществляется практически моментально - тогда как раньше программа просто "зависала" на больших списках открываемых файлов.
- Сделан и добавлен английский перевод хелпа.
Навигация
Перейти к полной версии