Главное > DjVu

Программа MiniDjVu Plus

(1/193) > >>

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-кодирование). Теперь такая проверка осуществляется практически моментально - тогда как раньше программа просто "зависала" на больших списках открываемых файлов.

- Сделан и добавлен английский перевод хелпа.

Навигация

[0] Главная страница сообщений

[#] Следующая страница

Перейти к полной версии