Главное > Сканобработка

Программа ST Split

(1/439) > >>

monday2000:
Представляю свою новую программу:

ST Split v1.0

Скачать:

http://www.djvu-soft.narod.ru/soft/st_split_v1_0.rar  (656 КБ)

Исходники:

http://www.djvu-soft.narod.ru/soft/st_split_v1_0_src.rar  (45 КБ)

Программа является аналогом "Сепаратор" от 57an и аналогом LayerTailor от U235.

ST Split - это программа, предназначенная для сопряжения программы Scan Tailor со связкой программ DjVu Imager и DjVu Small.

Благодаря этому, ST Split даёт возможность кодировать продукцию Scan Tailor в DjVu по методу разделённых сканов (c DjVu Imager).

ST Split имеет лицензию "GPL 2 и выше" и полностью открытые исходные коды.

Программа работает как под Win98, так и под Win2000/XP.

ST Split использует бесплатную программную графическую библиотеку FreeImage (под лицензией GPL).

Основная схема работы:

--- Цитировать ---Scan Tailor v0.9.8  -> ST Split v1.0 -> DjVu Small v0.4.3  -> DjVu Imager v2.8
--- Конец цитаты ---

Возможности:

1. Разделение продукции Scan Tailor, полученной в режиме "Смешанный", на пары субсканов (передний субскан + задний субскан). Программа осуществляет это разбиение, базируясь на СТ-принципе резервирования цветов (чисто белый и чисто чёрный цвета имеют номера цветов 255 и 0 соответственно, а все остальные цвета находятся в диапазоне 1..254).

2. Дополнительно, при использовании продукции Scan Tailor, полученной в режиме "Цветной/Серый", генерация передних субсканов в режиме цветности исходных сканов (серый или цветной). Это необходимо для того, чтобы можно было cделать (при необходимости) выравнивание освещённости передних субсканов в программе Book Restorer v4.2.1.

3. Пакетная дерастеризация любых серых или цветных изображений (например, полученных в п.1 задних субсканов).

В текущей версии ST Split применяются (на выбор) 2 алгоритма дерастеризации:

- Гауссово размытие

- Выборочное гауссово размытие (пытается сохранить чёткость чёткоконтурных объектов, размывая только мягкоконтурные объекты).

Оба эти алгоритма позаимствованы из графической программы GIMP.

ВАЖНО: Будьте готовы к тому, что оба этих алгоритма работают крайне медленно. Особенно это касается выборочного гауссового размытия. Рекомендуемое значение радиуса - от 3 до 5-7.

57an:
Было бы классно, если бы не только алгоритмы, но и логику предпросмотра в окошке из Гимпа вставили... Вслепую подбирать радиус крайне опасно.
Чем не понравился наш с U235 вариант именования папок?
Опять начали с английского интерфейса. Потом снова придется уродовать русские слова сокращениями...


monday2000:
57an

--- Цитировать ---Чем не понравился наш с U235 вариант именования папок?
--- Конец цитаты ---
Вы знаете - я Вашу программу вообще ни разу не открывал :P, а как работает программа от U235 - уже не помню - разик как-то глянул, и всё.  ::)
Вы имеете в виду имена "1" и "2"? Такие имена мне показались наиболее простыми - с точки зрения понимания юзером.

--- Цитировать ---Опять начали с английского интерфейса.
--- Конец цитаты ---
А я всегда с него начинаю. Потому что вдруг интерфейс как-то ещё перекроится. Русский добавлю позже.

--- Цитировать ---Потом снова придется уродовать русские слова сокращениями...
--- Конец цитаты ---
А что же делать? Иного приемлемого выхода не вижу.

--- Цитировать ---Было бы классно, если бы не только алгоритмы, но и логику предпросмотра в окошке из Гимпа вставили...
--- Конец цитаты ---
Да-да, я тоже сам об этом вчера подумал - нужен инструмент визуального подбора радиуса. Думаю прикрутить как минимум кнопку вроде "Тест" - нажимаешь её, и самый первый файл в списке загруженных кодируется выбранным алгоритмом, а потом открывается графическим просмотрщиком, ассоциированным с TIF - чтобы можно было посмотреть качество.

Кстати, программа планируется так, чтобы всегда выдавать файлы с расширением "tif" (а не tiff), и приводить всякие экзотические TIF-вариации (типа 32-битного) на выходе к стандартному виду (8 бит - серое, 24 бит - цветное, оба вида в LZW).

Конечно, окошко динамического визуального подбора размытия (как в Фотошопе) было бы ещё круче - но это сложновато - т.к. по-моему, требует, как это называет Tulon, "потокобезопасный" вариант алгоритма. Делать такое - изрядная возня.

Естественно, программа ещё может измениться любым образом в сторону улучшения. Это пока что как бы экспериментальный вариант.

Несмотря на мои усилия, программа получилась какая-то сложноватая. Куча каких-то полей ввода путей к папкам... :) Но я в этом не виноват - а виноват Tulon. Это ему по уму следовало бы встроить функционал моей программы в Scan Tailor (кроме дерастеризации).

К тому же я хотел бы, чтобы программу можно было ещё использовать не только как инструмент для метода разделённых сканов - а ещё и просто как средство пакетного размытия любых не-чёрно-белых сканов - мало ли когда возникнет такая нужда. Неудобно юзать GIMP только для этого - всё-таки проще запустить такую простую программу, и поразмывать ею.

Дальнейшие планы:
- Сделать так, чтобы на выходе всегда выводились имена файлов в виде 0001.tif, 0002.tif, ..., 0010.tif, ...., 0100.tif.
- Сделать опцию вроде "левый базис имён" и "правый базис имён" (выбор по желанию пользователя) - в смысле, из имён СТ чтобы делать 0002.tif, ..., 0010.tif, ...., 0100.tif, беря то ли левую, то ли правую часть СТ-имён за основу.
- Когда-нибудь, в далёком будущем :), попытаюсь вставить размытие от G'MIC http://gmic.sourceforge.net/ и Wavelet denoise - плагин для GIMP http://registry.gimp.org/node/4235 .

Если кто-нибудь знает хороший алгоритм дерастеризации (подавления шума - denoise) с открытыми исходными кодами - прошу мне подсказать, я его попытаюсь добавить в программу. Использовать же коммерческие шумодавы в принципе не хотелось бы - поскольку они коммерческие. Каждая нелегальная программа, используемая в DjVu-книгосканировании (вроде СканКромсатора ;D ), загоняет нас в "тень" - а это крайне нежелательно.

В данной версии использованы алгоритмы:

Фильтр Гаусса http://www.djvu-soft.narod.ru/bookscanlib/013.htm
Выборочное гауссово размывание http://www.djvu-soft.narod.ru/bookscanlib/014.htm

Это мой первый опыт практического применения продукции моего проекта BookScanLib http://www.djvu-soft.narod.ru/bookscanlib/project.htm .

PS Может, нужно как-то ещё улучшить данную программу? Предлагайте идеи.

monday2000:
Пробую применить ST Split v1.0 практически.

Уже наметились кое-какие замечания (самому к себе :) ).

- Очевидно, что Гауссово размытие практически бесполезно для серых иллюстраций компьютерных скриншотов. Особенно таких, где имеется текст, который должен быть различим. Выборочное гауссово размытие - слишком уж долго, я его на практике пока не применяю.

Нужно, конечно, не просто размытие - а какое-то интеллектуальное размытие. Если вообще нужно.

Кстати, эффект снижения размера результирующего DjVu после применения Гауссового размытия оказался ниже :), чем использование опций ДЗФ и "качество заднего фона" в самом DjVu Imager. В общем, пока что мне показалось бессмысленным делать размытие растра. Или просто сканы такие попались? На настоящих иллюстрациях, без текста, гауссово размытие можно будет делать посильней - тогда, быть может, и смысл в нём появится.

- Выяснилось, что программе следует уметь принимать на входе не только в чистом виде "Смешанный" СТ-вывод - а смесь "смешанных" и "чёрно-белых" СТ-выведенных сканов. Дело в том, что СТ иногда некорректно авто-определяет зоны - поэтому проще сразу переключить порой такой скан в СТ из "Смешанного" режима в "Чёрно-белый" - и так и вывести.

В общем, входящие чёрно-белые сканы ST Split будет сразу отправлять в папку передних субсканов.

- Для тех входящих "смешанных" СТ-сканов, у которых нет иллюстрации, ST Split создаёт чисто белый задний субскан. Это излишне - я хочу сделать так, чтобы он не создавался.

- И, самое главное на сегодняшний момент: а так ли уж нужна "возможность №2" в ST Split - а именно, генерация передних субсканов в исходном режиме цветности (серое или цветное)? Меня, конечно, мучает этот вопрос.  :-\

Я попробовал сделать реальную книгу с ST Split. И подготовил реальный пример одного скана с использованием "возможности № 2":

http://ifolder.ru/17618894  (12,04 МБ)

Там внутри один серый скан - выведеный из СТ в режиме "Цветной/Серый". (Вообще-то он без иллюстраций сам по себе - но мог бы их и иметь - так что это не меняет суть дела.)

Плюс, там внутри ещё 2 DjVu-файла: один - полученный традиционным путём в СТ, а второй - прошедший выравнивание освещённости в Book Restorer 4.2.1, и затем бинаризованный в СТ (на максимально-"Жирнее" пороге бинаризации стадии "Вывод"). (ещё этот скан прошёл выпрямление искривленных строк в BR, но это не важно в данном контексте).

Для тех, кому не хочется качать 12 МБ, я приготовил этот же пример - только без исходного TIF'а - а только с 2-мя DjVu-файлами - "хорошим" и "плохим" (которые были получены из этого TIF'а):

http://ifolder.ru/17619660  (44 КБ)

Так вот, этот пример ИМХО чётко показывает: возможность № 2 в ST Split имеет смысл. Качество заметно лучше. Левая кромка текста:



оказалась "пересвеченной" после СТ - это хорошо видно на DjVu-файле из моего примера. А та же кромка после выравнивания освещённости в Book Restorer 4.2.1 (и последующей бинаризации) - выглядит не хуже основной области текста (это тоже видно на другом DjVu-файле из моего примера - так что сравните сами, и наглядно убедитесь).

Конечно, то качество, с которым СТ (в чистом виде - т.е. без BR-выравнивания освещённости) сделал эту страницу, можно назвать удовлетворительным. Но - всегда хотелось бы лучшего, и мой пример показывает: лучшее - возможно. Просто СТ сейчас лишает пользователя возможности получить качество - а я, при помощи своего ST Split, возвращаю пользователям возможность получить настоящее качество.

Конечно, практическое использование "возможности-2" - дело очень муторное. Многие не захотят возиться. К тому же, тут обнаружились некоторые серьёзные подводные камни. Оказалось, что результат выравнивания освещённости в Book Restorer 4.2.1 необходимо проверять вручную (на каждом скане) (прямо внутри самого BR) - т.к. некоторые сканы получаются настолько малоконтрастными, что при последующей бинаризации из них "не вытянешь" текст. В Book Restorer 4.2.1 есть ползунок Sensivity of the processing при выравнивании освещённости:



Если после выравнивания освещённости в BR контраст получился чересчур низким - то нужно отменить выравнивание освещённости для данного "плохого" скана, затем сдвинуть этот ползунок максимально вправо - и повторить выравнивание освещённости.

Также оказалось, что для сканов, прошедших выравнивание освещённости в Book Restorer 4.2.1, порог бинаризации в СТ оказался в некоторых случаях недостаточным - хотелось бы ещё бОльшие значения "Жирнее". Так что, попробую ещё и бинаризировывать в Book Restorer 4.2.1 (сканы, прошедшие там выравнивание освещённости).

Надеюсь, мой пример достаточно наглядно показывает, что "возможность №2" в ST Split имеет право на жизнь.

А также, мой пример наглядно демонстрирует убожество СТ, который не даёт пользователю (специально?) получить желаемое КАЧЕСТВО обработки сканов - потому что в СТ отсутствует опция генерации передних субсканов в исходном режиме цветности (серое или цветное). Дескать, это пользователю "не надо", "и так хватит".

monday2000:
Новая подверсия:

ST Split v1.1

Скачать:

http://www.djvu-soft.narod.ru/soft/st_split_v1_1.rar  (659 КБ)

Исходники:

http://www.djvu-soft.narod.ru/soft/st_split_v1_1_src.rar  (46 КБ)

Что нового:

- Добавлена кнопка "Test". При её нажатии дерастеризуется самый первый скан в списке загруженных и тут же открывается во графическом просмотрщике, ассоциированном с TIF. Кнопка "Test" сделана для облегчения визуального подбора пользователем параметров пакетного дерастрирования.

- Добавлена опция "Name transformation" (включена по умолчанию). Она имеет подопции Left (по умолчанию) и Right. Эта опция управляет форматом имён выводных файлов: если Name transformation включена, то в качестве имён выводных файлов берётся левая (подопция Left) или правая (подопция Rigth) половинка имени соответствующего входящего СТ-файла (относительно символа подчёркивания в СТ-имени файла). Пример: СТ-имена вида 0001_0001.tiff, 0002_0002.tiff, 0003_0003.tiff, ... преобразуются в имена вида 0001.tif, 0002.tif, 0003.tif, ... .

- Надпись над списком загруженных файлов теперь изменяется в зависимости от того, какие сканы туда загружены: "To split:" - загружены сканы, подлежащие разбиению на субсканы, "To derasterize" - загружены сканы, подлежащие дерастеризации.

- Теперь допускается загружать на разбиение смесь "Смешанного" и "Чёрно-белого" СТ-вывода. При этом черно-белые сканы будут целиком попадать в папку передних субсканов.

- Для серых и цветных сканов ("Смешанный" СТ-вывод), не имеющих иллюстраций, задний субскан теперь не создаётся.

- Программа выдаёт на выходе файлы с расширением "tif" (а не "tiff", как у СТ) и приводит файлы к стандартному режиму: чёрно-белые - CCIT Fax G4 1 бит, серые - LZW 8 бит, цветные - LZW 24 бит.

Навигация

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

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

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