Ru-Board.club
← Вернуться в раздел «Программы»

» Scan Tailor

Автор: woodyfon
Дата сообщения: 12.01.2010 11:37
Тут много было вопросов и пожеланий по поводу руководству. Но они все в основном касались руководство пользователя. Интересует руководство разработчика , в котором можно было узнать какие алгоритмы используются, какие алгоритм, касаюшиеся обработке ведущий проекта хочет подправить и т. д.
P.S. Я все книги делаю в ST, серые книги в основном, за макс 5 часов неприрывной работы. Обязан я делать какие-то пометки на книгах по лицензии GNU GPL. Просто откровенно не разбираюсь в английском и сути, а хотелось не нарушать условия лицензии. Все-таки автор и разработчик молодца.
Автор: monday2000
Дата сообщения: 12.01.2010 13:02
Я придумал вариант, как можно наиболее просто решить проблему "сторонней доработки":

Можно просто модифицировать патченную версию СТ от anagnost96 - добавив туда ещё один - 4-ый режим вывода - "Только текст (серый)". Имеется в виду, чтобы в этом режиме выводился только текст, но до бинаризации - в режиме greyscale.

И тогда можно будет в сторонних редакторах как угодно обрабатывать этот "только текст в режиме серого"- например, выравнивать освещённость, выпрямлять искривленные строки, и всё что угодно. А в конце - просто бинаризовать этот серый "только текст" (в СК или в BR - да в чём угодно) - и получатся у нас готовые т.н. "пары субсканов" (вкупе с серыми картинками) - которые можно будет дежавючить по методу разделённых сканов.

Это был бы ИМХО просто спасительный (да ещё и простой) выход из назревшей тяжёлой проблемы.
anagnost96
Что скажете, могли бы Вы так доработать свой патч? (А Tulon попросим его билд сделать - больше ведь некого). Вроде бы относительно достижимая задача.

По-хорошему, таким должен бы стать сам СТ - а не его сторонние модификации.
Автор: anagnost96
Дата сообщения: 12.01.2010 13:12
monday2000


Цитата:
Что скажете, могли бы Вы так доработать свой патч?


Tulon скажет точнее, но, насколько я понимаю, там сейчас код написан таким образом, что никакого "серого текста до бинаризации" просто не существует: бинаризация делается одновременно с маскировкой картинок. Так что реализация Вашей идеи представляется не совсем тривиальной задачей. К тому же на этом пути возникает очевидная проблема: ну, допустим, серый текст мы выведем, а что делать с теми областями, где были картинки? Неужели выводить белые дыры на сером фоне?
Автор: monday2000
Дата сообщения: 12.01.2010 14:12
anagnost96

Цитата:
Неужели выводить белые дыры на сером фоне?

Разумеется, да. Ведь это же будет "полуфабрикат". Я в СК так делал - и ничего. И после окончательной бинаризации эти белые дыры "сольются" с белым фоном текста, а после вклейки на их место картинок посредством DjVu Imager они (дыры) вообще закроются (картинками).
Автор: Tulon
Дата сообщения: 12.01.2010 21:27
monday2000

Цитата:
Нет, не подходит - картинки портятся. Выравнивание освещённости в BR нужно делать только над текстом - не трогая картинки на том же скане.

Я не понимаю, что значит "картинки портятся"? Кто их портит в режиме Серый / Цветной? Выравнивание освещения? Нут так отключите его. Кстати исключать картинки из выравнивания освещения не стоит. При достаточно светлом цвете бумаги это прокатит, а иначе резкое изменение фона в районе картинки режет глаза. Является ли желание убрать картинки перед выравниванием освещения в BR вашей инициативой, или BR плохо обрабатывает такие случаи? Кстати обратите внимание, что в ST, автоопределение картинок требует уже выровненного освещения. Иначе тень определится как картинка.

woodyfon

Цитата:
Интересует руководство разработчика , в котором можно было узнать какие алгоритмы используются, какие алгоритм, касаюшиеся обработке ведущий проекта хочет подправить и т. д.

Планомерно описывать все внутренние аспекты ST - это титанический труд и крайне неприятное для меня занятие. Если вас интересует что-то конкретное - спрашивайте, но писать еще одну Войну и Мир - это не ко мне. Кстати код, пригодный к повторному использованию - в основном алгоритмы обработки изображений все-же имеют кое-какую документацию (прямо в исходниках).


Цитата:
P.S. Я все книги делаю в ST, серые книги в основном, за макс 5 часов неприрывной работы. Обязан я делать какие-то пометки на книгах по лицензии GNU GPL. Просто откровенно не разбираюсь в английском и сути, а хотелось не нарушать условия лицензии. Все-таки автор и разработчик молодца.

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

anagnost96

Цитата:
Tulon скажет точнее, но, насколько я понимаю, там сейчас код написан таким образом, что никакого "серого текста до бинаризации" просто не существует: бинаризация делается одновременно с маскировкой картинок.

Нет не так. В режиме Смешанный бинаризация делается после определения картинок. Более того, при бинаризации картинки не учитывются. Так что качество бинаризации в этом режиме может быть выше, чем в ЧБ.


Автор: Mandor Sawall
Дата сообщения: 13.01.2010 08:47
Tulon

Цитата:

Цитата: И еще – как вы относитесь к просьбу добавить настройку для записи ч/б TIFF в CCITT4-формат? Выключена по дефолт, конечно…

Когда чего-то просите, всегда пишите зачем. Зачем я стану добавлять опцию, если не знаю, зачем она кому-либо может быть нужна.
Автор: monday2000
Дата сообщения: 13.01.2010 09:18
Tulon

Цитата:
Я не понимаю, что значит "картинки портятся"?

Это значит, что в Book Restorer 4.1, если сделать выравнивание освещённости над сканом, содержащим полутоновую картинку, то после этой операции в Book Restorer 4.1 эта полутоновая картинка необратимо "портится" - т.е. на ней-то тоже выравнивается освещённость - и получается блёклая невыразительная гадость, из которой уже никак потом не сделаешь обратно нормальную полутоновую картинку.
Tulon
Почему Вы не делаете патч от anagnost96 в своей основной версии СТ?
anagnost96
Сможете ли Вы теперь сделать вывод "только текст в режиме серого"? Очень нужно.
Автор: StanFreeWare
Дата сообщения: 13.01.2010 10:02
В чистом виде патч от angnost96 все-таки недостаточно удобен, требует даже не двух - для текста и изображений, а зачастую и четырех, и шести прогонов - для исправления ошибок определения зон, которые заметны только на одном из режимов. Если уж делать, то "по-взрослому" - с одновременным выводом и текста и изображений (и, если угодно, серого текста с дырками от картинок) в один проход. И лучше все-таки в раздельные папки, а не в многостраничный tif (который все равно в подавляющем большинстве случаев придется раскладывать на составляющие вручную для последующей обработки).
Автор: woodyfon
Дата сообщения: 13.01.2010 10:08
Tulon, нет полного описания делать не нужно, хотя не мешало бы, просто достаточно точного названия того или иного алгоритма и этого. Исчерпывающую информацию будет не сложно найти. Пока интересует алгоритм авторазрезки скана на две страницы и компенсация наклона.
Автор: monday2000
Дата сообщения: 13.01.2010 10:13
StanFreeWare

Цитата:
Если уж делать, то "по-взрослому"

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

Цитата:
И лучше все-таки в раздельные папки, а не в многостраничный tif

Это была бы вообще просто песня.

Добавлено:
Это всё вообще-то нужно, как воздух.

Добавлено:
Причём, "только текст в режиме серого" можно было бы выводить в свою отдельную папку, а не в папку с "только текст", и по дополнительному запросу.

Например, сделать бы так: в папке "out" сделать папку "text", куда выводить "только текст" и папку "images", куда выводить "только изображения". А ещё, по дополнительному запросу пользователя, создавать в папке "out" папку "text_grey" - и туда выводить "только текст в режиме серого".

Допустим, я выбрал в программе гипотетическую опцию "Раздельно текст и изображения" и сделал вывод. Пусть бы при этом заполнились папки "text" и "images". Далее я смотрю и вижу: ага, качество бинаризованного текста мне не нравится. Тогда я нажимаю некую доп. кнопку "Вывести серые тексты" - и пусть при этом создаётся папка "text_grey" и туда выводится "только текст в режиме серого" (а уже созданная папка "text" с бинаризованными текстами пусть будет - она не мешает).


Добавлено:
В случае же, когда полутоновых картинок нет ни одной - всё равно пусть создаётся папка "text" внутри "out" - но уже ради однообразия со случаем наличия полутоновых картинок.

Да, забыл сказать: выводя "только изображения", надо бы пропускать вывод чисто белых листов. Сейчас они выводятся. А вот чисто белые "только текст" пусть выводятся (как и сейчас).
Автор: alpopo
Дата сообщения: 13.01.2010 11:13
К вопросу порога ч/б.Посылаю пример для Tulon. На правом развороте внизу вроде +15 немного не хватает? http://www.onlinedisk.ru/file/318831/
Автор: U235
Дата сообщения: 13.01.2010 12:10
alpopo
Низкое разрешение сканирования ~150 dpi + сильные JPEG артефакты.
Исправить такое малореально, даже меняя порог в большем диапазоне.
Автор: alpopo
Дата сообщения: 13.01.2010 19:51
U235я пытаюсь с разных сканов, плохих и хороших, сделать ровные и читаемые книжки. В данном конкретном случае с пользовательской точки зрения при положении регулятора +0 - много пробелов, при положении +15 их гораздо меньше, а при +20 вроде бы для данного случая было бы и вообще хорошо,ведь на сером скане визуально я буквы различаю. Я послал пример, где вроде бы диапазона немного не хватает - с практической точки зрения (как говорится пример из жизни).Если с теоретической точки зрения этот скан к увеличению порога до +20 не имеет отношения, меня вполне устроил бы ответ - ваш пример не из той оперы. Вас благодарю за внимание и разъяснение.
Автор: anagnost96
Дата сообщения: 13.01.2010 23:41
Tulon


Цитата:
Вы же вроде написали патч для расширения диапазона? Или не вы? Если вы, то надо было выложить три скана: оригинал, результат без расширения диапазона и с расширением.


Хм. Я полагал бессмысленным выкладывать результаты обработки, которые, во-первых, легко воспроизводимы и, во-вторых, сами по себе мало о чем говорят, т. к. в данном случае смотреть надо не только на два крайних значения, но и на промежуточные между ними. Но если надо -- значит надо: вот в архиве по ссылке исходный скан и вывод СТ при установке порога в 12 и 48:

http://www.thessalonica.org.ru/downloads/threshold.zip .
Автор: monday2000
Дата сообщения: 14.01.2010 08:05
anagnost96
На Вас одна надежда - в плане доп. модификации Вашего патча (Tulon ведь занят). Не могли бы Вы пока что просто туда добавить вывод "только текст (серое)"?
Автор: monday2000
Дата сообщения: 14.01.2010 18:40
Я сделал небольшую вспомогательную программку для генерации вывода, который получался бы при гипотетическом "Только текст (в режиме серого)" - для Scan Tailor, модифицированного anagnost96.

Программка простейше-примитивная, называется "ST GreyText v1.0".

Подробности см. тут: http://www.djvu-scan.ru/forum/index.php?topic=19 .

Надеюсь, вся эта функциональность (в немного улучшенном виде согласно предыдущим постам) со временем попадёт в основной Scan Tailor (чем скорее, тем лучше).
Автор: Kiev78
Дата сообщения: 14.01.2010 21:12
Кто-то сканирует книги по одной странице (не разворотами)?
Как вы поворачиваете парные (или непарные) страницы? Неужели вручную по одной?
Или есть какие-то утилиты, которые делают это автоматом? Скачал IrfanView, думал он то в режиме batch processing сможет - ан нет! В СканКромсаторе тоже этого не нашел. Кто как решает эту проблему? Как с этим делом в этой программке?
Автор: U235
Дата сообщения: 14.01.2010 22:05
Kiev78
В Total Commandere Поиск:
Код: *0.*;*2.*;*4.*;*6.*;*8.*
Автор: StanFreeWare
Дата сообщения: 15.01.2010 03:25
Kiev78
Программки в театре выдают.
В этой же программе с этим делом дела обстоят очень хорошо.
В СК, возможно, делается так.
FastStone Image Viewer по F3 пакетно делает очень многое, в том числе поворот.
Автор: Olive77
Дата сообщения: 15.01.2010 08:53

Цитата:
Как вы поворачиваете парные (или непарные) страницы? Неужели вручную по одной?

VBA (нужен установленный Excel) + IrfanView
если интересует, могу выложить в более подходящем топике
http://forum.ru-board.com/topic.cgi?forum=93&bm=1&topic=3172&start=380#lt.
Автор: monday2000
Дата сообщения: 15.01.2010 09:12
Kiev78

Цитата:
Как вы поворачиваете парные (или непарные) страницы? Неужели вручную по одной?

Разумеется, нет. Это наиболее просто делается так:

1. Нажимаете "Мой компьютер" и там добираетесь до папки со сканами (ну как обычно).

2. Мышкой сужаете ширину этого окна так, чтобы там помещалось только 2 столбца сканов. При необходимости пересортировываете их.

3. Мышкой выделяете один из столбцов и перетаскиваете его в другую папку. Там поворачиваете оптом.

4. Возвращаете этот столбец в исходную папку.

Это я сам придумал.

Как это делается в СК - сейчас смотрел-смотрел, да так и не нашёл. Может, там это не сделать?

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

СТ, разумеется, нужно "разбить" хотя бы на 2 программы: 1 программа - нынешние стадии 1-3, а 2 программа - нынешние стадии 4-6.

Кончится это всё тем, что кто-то сделает программу, выполняющую стадии 1-3 - в ней все и будут работать (вместо использования СТ на стадиях 1-3) - а после перегружать результат в СТ (ради его стадий 4-6) и докрамсывать до конца.
Автор: StanFreeWare
Дата сообщения: 15.01.2010 09:40
monday2000
А не хотите ли сами сделать нечто подобное - всего-то нужно патчить XML-файл проекта СТ, чтобы размер полезной области был равен размеру скана, поля были равны нулю, а вывод был в режиме цветной/серый (или черно-белый, на выбор) с dpi, равному dpi оригинала (в принципе, кроме полей все можно делать и из-под ST). Естественно, все на галочках. Я думаю, такому программисту, как Вы, это вполне под силу. И свою нишу такая утилитка могла бы найти, например для обменами документами между конторами (вместо факса).
Автор: monday2000
Дата сообщения: 15.01.2010 10:17
StanFreeWare
Да ну это изврат ИМХО - лучше сразу пусть кто-нибудь сделает по-человечески.
Автор: woodyfon
Дата сообщения: 15.01.2010 10:31
Kiev78, сканируйте в пакетном режиме Irfan View, нумерной индекс должен совпадать с номером страницы. Например, имени Scan037 будет отвечать страница 37, а Scan050 соответственно 50. Если четные/нечетные страницы сканировать по одной системе (не изменяя начальной ориентации) то в ST есть опция поворота сканов. Назывется "Применить к каждой второй странице". То есть поворот всех четных страниц(если выбираете второй скан), если первый - поворот будет осуществлен нечетных страниц. Возможно, я вас не понял. Дайте знать. Придумаем еще что-нибудь.
Автор: monday2000
Дата сообщения: 15.01.2010 10:31
StanFreeWare
А пока что проще стадии 1-2 делать в СК - и перегружать результат в СТ ради стадий 3-6.
Автор: Tulon
Дата сообщения: 15.01.2010 12:19
monday2000
В чем приемущество делать разворот и разрезку половинок в СК?

anagnost96
В вашем примере расширение диапазона действительно помогает. Значит будем расширять. Какой диапазон будет оптимальным с вашей точки зрения?
Автор: StanFreeWare
Дата сообщения: 15.01.2010 12:48
monday2000
Постом ранее говорите, что не нашли поворот в СК, и тут же рекомендуете его для данной функции. Тем более, что хотелось бы остаться по-возможности в рамках одной программы сканообработки - СТ.
По поводу патча проекта - не такой уж и изврат - допустим, я хочу просто бинаризировать страницы алгоритмом СТ (ну, и, может, только повернуть предварительно) отсканированные на работе документы для отправки по почте вместо факса. Без лишних телодвижений. Подсовываю проект патчу, потом прогоняю пропатченный проект в СТ - получаю нужный результат.
Автор: monday2000
Дата сообщения: 15.01.2010 12:48
Tulon

Цитата:
В чем приемущество делать разворот и разрезку половинок в СК?

В том, что после этого не надо проходить через стадии "Полезная область", и т.д.- а можно сразу сохранить на диск порезанные сканы. Именно в этом - но это важнейшая возможность. Смысл в том, что это позволяет сразу отбросить ошметки соседней страницы из обработки (если 1-страничный скан).

Цитата:
Какой диапазон будет оптимальным с вашей точки зрения?

Ну конечно же, полный, т.е. от 0 до 255 - т.к. мало ли какие могут возникнуть потребности - разве мыслимо сейчас умозрительно предугадать, какой именно диапазон в точности?

Добавлено:
StanFreeWare

Цитата:
Постом ранее говорите, что не нашли поворот в СК, и тут же рекомендуете его для данной функции.

Имеется в виду, что СК только для разрезки страниц. Поворот каждой второй - вручную по способу http://forum.ru-board.com/topic.cgi?forum=5&topic=27424&start=1840#15 (всё же лучше, чем в СТ - т.к. не надо проходить через дальнейшие стадии СТ). Повороты единичных сканов - в Irfan View.

Короче, СТ-стадии 1 и 2 - "Исправление ориентации" и "Разрезка страниц" - следует делать где угодно и как угодно, но только не в самом СТ (т.к. СТ навязывает проход всех дальнейших за этим стадий).


Цитата:
хотелось бы остаться по-возможности в рамках одной программы сканообработки - СТ.

И мне хотелось бы. Но самое разумное - это разделить СТ на 2 независимые программы, СТ-стадии 1-2, и СТ-стадии 3-6. Тут СТ повторяет ошибку СК, но даже СК не заставляет всегда проходить через ВСЕ стадии обработки (что есть очевидная неправильность).

Цитата:
Подсовываю проект патчу, потом прогоняю пропатченный проект в СТ - получаю нужный результат.

Вот лучше пусть уж сам Tulon, наконец, осознает, что надо разделить СТ на 2 независимые программы, и сделает это. ИМХО это наиболее оптимальное для всех (и для Tulon, и для нас) и для интересов дела решение (в т.ч. стратегически наиболее верное решение).

Если уж так сильно не хочется иметь именно 2 программы - то можно просто в рамках 1 программы сделать вызов этих 2 разных программ (как раз в виде столь любимого Tulon мастера Nero).

Добавлено:
В конце концов, кто сказал, что разрезать сдвоенные развороты надо именно для целей сканобработки? У людей могут быть самые причудливые задачи - зачем им нужно разрезать пополам группу сканов - и вовсе не для целей последующей сканобработки.
Автор: StanFreeWare
Дата сообщения: 15.01.2010 13:10
monday2000
Гораздо разумнее (и реализуемее) было бы оставаться в рамках монолитной программы, но добавить возможность минимального изменения результатов предыдущей обработки. Для этого достаточно добавить кнопку "применить к" на 2м этапе для возможности задания нулевого поворота для всех сканов и кнопку выбора "весь скан" с вариантом применения ко всем страницам на 4м.
Автор: Tulon
Дата сообщения: 15.01.2010 13:22
monday2000

Цитата:
В том, что после этого не надо проходить через стадии "Полезная область", и т.д.- а можно сразу сохранить на диск порезанные сканы. Именно в этом - но это важнейшая возможность. Смысл в том, что это позволяет сразу отбросить ошметки соседней страницы из обработки (если 1-страничный скан).

Вы же все равно собираетесь стадии 3-6 делать в ST, и соответственно все равно придется проходить и полезную область и все остальное.


Цитата:
В конце концов, кто сказал, что разрезать сдвоенные развороты надо именно для целей сканобработки? У людей могут быть самые причудливые задачи - зачем им нужно разрезать пополам группу сканов - и вовсе не для целей последующей сканобработки.

Потому что ST - это не ящик с инструментами на все случаи жизни. Это в идеале автомат, которым смогут пользоваться даже домохозяйки.

StanFreeWare

Цитата:
Гораздо разумнее (и реализуемее) было бы оставаться в рамках монолитной программы, но добавить возможность минимального изменения результатов предыдущей обработки. Для этого достаточно добавить кнопку "применить к" на 2м этапе для возможности задания нулевого поворота для всех сканов и кнопку выбора "весь скан" с вариантом применения ко всем страницам на 4м.

Применение нулевого угла ко всем страницам - это приемлемо, хотя и низкоприоритетно. "Весь скан как полезная область" - а зачем в таком случае вы их вообще в ST грузите?

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172

Предыдущая тема: Невозможно установить Acronis True Image Home v10.0.4940


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.