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

» Scan Tailor: Часть 2

Автор: Widok
Дата сообщения: 17.02.2010 11:17
Scan Tailor: предыдущая часть

Scan Tailor


Задача программы - пост-обработка сырых сканов книг для последующей сборки в PDF/DJVU,CBR/CBZ и т.д.
Программа обеспечивает большое удобство для использования, большую интерактивность и не меньшую автоматизацию процесса (по сравнению со СканКромсатором).
Кросс-платформенный (Windows,Mac OS, Linux) проект с открытыми исходниками.
Cкриншоты | Скачать


Англоязычный топик по ScanTailor
Ветки:
Scan Tailor Plus (Vadim "DikBSD" Kuznetsov)>>> последняя версия (Отличия от авторской версии)
Scan Tailor Еnhanced (Petr "pejuko" Kovar) >>> последняя версия (Отличия от авторской версии)
Scan Tailor Featured (monday2000) >>> последняя версия (Отличия от авторской версии)
Документация:
Документация (Wiki) | Зоны картинок в ScanTailor | ScanTailor. Быстрое начало | Видеоуроки и скринкасты новых функций СТ от Tulona
Статья: Scan Tailor. Программа для обработки отсканированных книг
Видеоурок: Создание DjVu с помощью Scan Tailor (зеркало)
Использование Scan Tailor совместно с Djvu Imager (сборка djvu методом разделенных сканов)
Как собрать Scan Tailor из исходных кодов под Windows
Почему нельзя сделать сплошную нумерацию вывода

Автор проекта - Tulon. Почему его здесь не видно? .
DikBSD автор ветки ScanTailor Plus история повторяется.
Юзеры! Будьте скромнее!

[more=Дистрибутивы, форки, дополнения]

ScanTailor для Mac

ST Djvu Utils (ST Separator, ST Outliner, ST Skipper, ST Set Content) от StanFreeWare. Описание утилит

Устаревшие (в связи с выходом Scan Tailor Featured) программы:

Цитата:
STA - вариант ScanTailor версии 0.9.7.1 с патчем от anagnost96 Ищите там в таблице "Scan Tailor anagnost96".

ST Split Программа для генерации разделённых сканов из продукции Scan Tailor.

LayerTailor Программа для разделения сканов (после "Смешанный режим) на foreground и background слои с целью последующего раздельного кодирования в djvu. Принцип работы: Все черные пиксели (яркость==0) переносятся в foreground, остальное - в background. Функция layer принимает на входе 3 параметра: исходное имя файла TIFF, имя файла для foreground и имя файла background. Автор: U235.
[/more]
Автор: ndch
Дата сообщения: 17.02.2010 13:37
Игнор-лист для RuBoard под браузеры FireFox, Chrome, Opera
Не нравится кто-то - просто введите его в игнор, чтоб глаза не мозолил, вот и всё.
Скрипт
Автор: VidelSamogO
Дата сообщения: 18.02.2010 01:02
Категорически необходим пункт меню, позволяющий "не определять зоны картинок автоматически" для режима "смешанный". На случай неверного их определения.
Автор: StanFreeWare
Дата сообщения: 18.02.2010 06:51
VidelSamogO
Согласен, но скорее в такой форме. Вряд ли сейчас (с тремя параллельными ветками проекта) ответ Tulon'a станет другим. Хотя мне кажется, что реализация предложения даже упростит внутреннюю структуру ST.
Автор: Dashout
Дата сообщения: 18.02.2010 13:39
Полезная область:
Допустим, в этой стадии вручную найти и привязать полезную область к ИП, привязать к номеру страницы

далее сказать, ОБУЧИСЬ, привяжи оставшиеся страницы по углу; запомни габариты ИП для вывода к масштабу 100% относительно ширины строки
Автор: Tulon
Дата сообщения: 18.02.2010 14:04

Цитата:
далее сказать, ОБУЧИСЬ, привяжи оставшиеся страницы по углу; запомни габариты ИП для вывода к масштабу 100% относительно ширины строки

ОЧЕНЬ абстрактно и как следствие бесполезно. Одно слово "обучись" чего стоит! Кроме того, напоминаю, что фич-реквесты продолжают игнорироваться.
Автор: Dashout
Дата сообщения: 18.02.2010 15:28
уважаемый Tulon, лишние слова
Все что не входит в логику реализации Вашей модели будет по определению

Цитата:
абстрактно и как следствие бесполезно



Цитата:
фич-реквесты продолжают игнорироваться

как угодно




Добавлено:
хотел пояснить - говорю не со зла
в принципе я понимаю эту позицию, возможно в данном случае (один разработчик на такой объем работ) она верная
Остается ждать, когда Вы замкнете на DJVU, отдохнете и, если будет вдохновение, пойдете по второму кругу.

Автор: ndch
Дата сообщения: 18.02.2010 16:29
Dashout
Вы говорите приблизительно об этом
Автор: Dashout
Дата сообщения: 18.02.2010 17:14

Цитата:
об этом

Вы знаете, нет, не совсем
это ручной режим, подобный реализован в PDF-Viewer (Обрезка страниц). На 500 страниц - "устанет рука"!
У СТ есть шик - это автоматизация, причем, интеллектуальная.
Убежден, что этот шик нужно сохранить.
Насколько я понимаю - это возможно. Но, меняется логика обработки страниц и дальнейшего использования результатов.
Автор: ndch
Дата сообщения: 18.02.2010 19:51
Dashout
гораздо универсальнее была бы такая фича:
центрированная по полезной области
рамка контекста
фиксированного размера.

Правильно понимаю что для Вашего случая данной фичи было бы достаточно ?
Автор: Dashout
Дата сообщения: 18.02.2010 20:52
ndch
нет, я имею виду не конкретную операцию, а подход, логику обработки изображения относительно конечной продукции.
Что объявляем конечной продукцией? Тут у каждого свои представления: это и автоматизированный процесс обработки, и корректировка, и т. д. Все, каждый будет прав! - но это все процессы. Где продукция?
По-любому, на данном этапе разработки, конечной продукцией являются обработанные в СТ изображения страниц книги, которые далее переводятся в е-книгу. т.е., читабельная страница (не текст, а именно страница с текстом! в книге все страницы равны).
Если так, то есть противоречие: существует вероятность получения на этапе вывод изображений размером 9,5*13,6 см! (не говорю про DPI, это технический показатель).
Выигрывая на скорости я сжимаю изображение, но далее-то мне его нужно восстановить!? СТ, сжимая на 600 DPI, как-бы оставляет резерв на восстановление...
Что дальше, начиная после СТ увеличивать размер (растягивая картинку) я неизбежно ухудшаю полученное в СТ качество.
Учитываем, что в страницах "плавает" фокус (масштаб) - еще хуже!

Поэтому, мое предложение было ввести маску читабельной страницы сразу в процесс обработки первичного изображения. Предлагал название этой маски - информационная площадь страницы (ИП).
В этом случае, DPI, как и обрабатываемое изображение страницы, становятся переменной величиной.
На выходе задача ставится так: на какой коэффициент увеличить изображение, чтобы ИП (страницы) была равна ИП (маски).
В настоящее время, логика модели (и далее, алгоритмы) не учитывает качество конечной продукции читабельной страницы, поэтому, надо ждать второго круга.
Автор: Tulon
Дата сообщения: 19.02.2010 01:16
Я тут вот о чем подумал. Есть фичи, которые могут в принципе быть полезными, да и реализуются не слишком сложно, но которые я все равно не хочу добавлять. Мое мнение состоит в том, что любая новая галочка в интерфейсе - это удар по простоте использования. Соответственно нужна весьма веская причина для ее добавления. Для энтузиастов же, чем больше фичей, тем лучше - в конце концов они знают, для чего каждая из них нужна. Так вот - а нет ли желающих сделать мод или даже форк ST как раз с целью добавления всевозможных фичей? По типу как существуют всякие там eMule Plus и Dreamule - форки eMule. Меня бы такая ситуация вполне устроила. И энтузиасты получили бы, что хотели, и на меня давление ослабло бы. А так я и творец-создатель, и тех-саппортер, и учитель младших классов (очевидности часто объяснять приходится), и диктатор, которому наплевать на нужды народа. Вполне готов поделиться некоторыми из этих титулов Желающие есть?
Автор: iit512
Дата сообщения: 19.02.2010 02:25

Цитата:
мод или даже форк ST

А может быть, Вы сделаете ST способным принимать плагины? Это было бы идеально.
===
Не фичи:
1) Деспекл. По роду деятельности я аккумулирую различные биологические книги, и в последнее время все больше и больше книг приходит без точек в оглавлениях, формулах и разных других местах. Это значит, что начинающие сканировщики все чаще и чаще пользуются ST, но никто из них не знает об особенностях деспекла. Я пытаюсь с этим бороться, но во многих случаях с автором файла связаться нельзя или уже поздно -- оригинальные сканы стерты. Нельзя ли, пока Вы не наладили деспекл, либо (а) сделать галочку "удалять пятна" по умолчанию не нажатой либо (б) где-то на видном месте поместить предупреждение? Первое лучше, потому что предупреждений, как правило, никто не читает.
2) Разрешение. Несколько раз уже возникали проблемы с файлами, в которых разрешение записано неправильно (и к тому же разное в разных файлах), а ввести его насильно не удается, кнопка "Применить" не активна. Я пытался удаленно помочь человеку, дело кончилось тем, что он просто взял СК. По-моему, надо сделать возможным насильственное введение разрешения во всех случаях. Уж если пользователь нажал галочку "Править разрешение", то он, скорее всего, знает, что делает.
Еще одна неприятность в таком случае -- это на стадии макета обнаружить, что некоторые страницы в разы больше остальных. Начинающего пользователя это просто вводит в ступор.
3) Наклон. ST регулярно "врет" на страницах с таблицами рисунков. Если рисунков много, то редактирование превращается в тихий ужас. К тому же логика программы страдает -- ведь на всех этапах, кроме этого (и полезной области), можно массово применить параметр ко всем или части страниц. Поэтому я думаю, что массовое применение наклона не новая фича, а необходимое дополнение к логике программы.
4) Бинаризация. Существующего движка не хватает для оптимального "зачернения". Особенно это сказывается в режиме "Смешанный", если есть одна-две больших фотографии (не нашел закономерности, но это как-то связано с положением фотографий в текстовом блоке). В этом случае текст, нормально бинаризующийся на остальных страницах, просто пропадает, то есть перестают быть видимыми отдельные слова. Отключение деспекла и доведение движка до 15 решает проблему только в половине случаев. Дело недавно дошло до того, что 12 страниц мне просто пришлось выводить в цветном режиме и руками бинаризовать текстовые области в фотошопе. Я не думаю, что это правильно. Можно ли хотя бы увеличить линейку бинаризации, скажем, до -30 ... +30 (в тех же единицах)?
Автор: woodyfon
Дата сообщения: 19.02.2010 06:03
Tulon

Цитата:
Желающие есть?

Конечно есть. Но моды станут известными только в узком кругу пользователей, которые хотят до конца разобраться со всеми возможностями программы.
Автор: monday2000
Дата сообщения: 19.02.2010 10:19
U235
Разъясните, пожалуйста, Ваш пост http://forum.ru-board.com/topic.cgi?forum=5&topic=27424&start=2100#4 - а то абсолютно ничего не понятно.

Tulon

Цитата:
Устал я от потока негатива, который идет с этого форума.

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

Цитата:
Решение, к которому я стемлюсь, это отдельная программа, которая будет принимать вывод ST, проделывать с ним всякие операции - подавление шума в картинках, увеличение контраста, коррекция уровней, и кодировать все это в DjVu.

Так что же Вы раньше молчали? Это полностью меняет дело - при условии, конечно, что такая программа будет производить вывод по принципу СТА.

Цитата:
Цитата:А остальные DjVu-кодировщики? DEE 5.1, Document Express Editor 5 и 6 - их что, выбрасывать?
Метод раздельных сканов с ними все равно не используется.

Да - но только по вине bolega, не захотевшего сделать вывод субсканов в раздельные папки. В принципе, это возможно.

Цитата:
Либо я сделаю так, что они не будут замечать второго слоя в TIFFах

Думаю, никак Вы это не сделаете.

Альтернативы СТА нет.

Добавлено:
Tulon

Цитата:
Так вот - а нет ли желающих сделать мод или даже форк ST как раз с целью добавления всевозможных фичей?

Это тоже хороший выход. Я как раз недавно предлагал то же самое.

Добавлено:
Я решил тоже связаться с Рамизом Зейналовым, автором варианта алгоритма Dewarping. Вот что он мне ответил:

Цитата:
Моя система справляется и с геометрическимими искажениями, и с неравномерным светом. Есть некоторые проблемы, связанные с user-friendly - много параметров, не совсем очевидных. По-хорошему, это надо дорабатывать.
Скоро моя система будет встроена в СканКромсатор.
Автор: Tulon
Дата сообщения: 19.02.2010 11:12
iit512

Цитата:
А может быть, Вы сделаете ST способным принимать плагины? Это было бы идеально.

Это потребует уйму усилий с моей стороны. Плюс проблемы кросс-платформенности и бинарной совместимости. Плюс ограниченность интерфейса плагинов. Заведомо проиграшный вариант в общем.


Цитата:
(а) сделать галочку "удалять пятна" по умолчанию не нажатой либо (б) где-то на видном месте поместить предупреждение? Первое лучше, потому что предупреждений, как правило, никто не читает.

В следующем релизе либо доведу до ума деспекл, либо отключу его по умолчанию.


Цитата:
надо сделать возможным насильственное введение разрешения во всех случаях

Ввод разрешения, сильно ниже реального, приводит к падениям из-за нехватки памяти. Если же там реальное разрешение ниже 150, то использование СК для таких файлов - наилучший для меня вариант.


Цитата:
массовое применение наклона не новая фича, а необходимое дополнение к логике программы.

Имеет смысл только массовый сброс в ноль - для уже выровнянных сканов. Любой другой угол не имеет смысла применять массово, потому как от страницы к странице он гуляет. Массовый сброс в ноль планируется, но не доходят до него руки.


Цитата:
Можно ли хотя бы увеличить линейку бинаризации, скажем, до -30 ... +30 (в тех же единицах)?

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

woodyfon

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

Остальные меня и не грузят.
Автор: ntsx
Дата сообщения: 19.02.2010 12:22
Tulon


Цитата:
Есть фичи, которые могут в принципе быть полезными, да и реализуются не слишком сложно, но которые я все равно не хочу добавлять. Мое мнение состоит в том, что любая новая галочка в интерфейсе - это удар по простоте использования.


А Вы не рассматриваете вариант разделения интерфейса на "Basic" / "Expert" (в рамках одного проекта).
Автор: ILHS
Дата сообщения: 19.02.2010 12:36
ntsx

Цитата:
А Вы не рассматриваете вариант разделения интерфейса на "Basic" / "Expert" (в рамках одного проекта).

За.
Автор: Tulon
Дата сообщения: 19.02.2010 14:08

Цитата:
А Вы не рассматриваете вариант разделения интерфейса на "Basic" / "Expert" (в рамках одного проекта).

Пользователей оно бы конечно избавило от усложнения интерфейса, но кто избавит меня от усложнения кода?
Автор: ntsx
Дата сообщения: 19.02.2010 16:43
Так синхронизация двух активных веток (в случае форка) будет еще затратнее.
Автор: Tulon
Дата сообщения: 19.02.2010 16:49

Цитата:
Так синхронизация двух активных веток (в случае форка) будет еще затратнее.

Предполагается, что я этим заниматься не буду, ну разве что захочу перенести какую-нибудь фичу в основную ветку.
Автор: iit512
Дата сообщения: 20.02.2010 11:06

Цитата:
В следующем релизе либо доведу до ума деспекл, либо отключу его по умолчанию.

Спасибо!

Цитата:
Ввод разрешения, сильно ниже реального, приводит к падениям из-за нехватки памяти. Если же там реальное разрешение ниже 150, то использование СК для таких файлов - наилучший для меня вариант.

Там реальное было 300, указанное -- 360 и 600.

Цитата:
Массовый сброс в ноль планируется, но не доходят до него руки.

Ждем. Это и вправду очень надо.

Цитата:
Увеличу, когда руки до этого дойдут.

Еще раз спасибо!
Еще одна мелкая неприятность -- если после того, как определена полезная область, вернуться к первому этапу и повернуть скан, то ничего не переделывается, область остается на месте, приходится править наклон и область руками.
Автор: Tulon
Дата сообщения: 20.02.2010 11:59

Цитата:
Там реальное было 300, указанное -- 360 и 600.

В таком случае все должно работать. Попробуйте еще раз, в крайнем случае запишите видеокаст, демонстрирующий проблему.


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

Не воспроизводится. Ни с автоматической рамкой, ни с ручной - никак. Можете опять же сделать видеокаст.
Автор: iit512
Дата сообщения: 20.02.2010 13:37
OK, еще раз столкнусь с этими проблемами -- сделаю.

Добавлено:
OK, еще раз столкнусь с этими проблемами -- сделаю.
Автор: bookreader_new
Дата сообщения: 20.02.2010 22:40
Вчера случайно узнал о программе - опробовал. Общее впечатление - отлично. До этого пользовался кромсатором понемногу. В сравнении с ним интерфейс сделан намного грамотнее. Кромсатор фактически не мог работать в автомате, т.к. алгоритмы следаны очень тупо. СТ вполне нормально работает в автомате. Я его кормил серыми jpeg 300 dpi, грубых ошибок сегментирования не было ни одной на 2000 страниц ... Также мне нравится, что если что-то не так, то можно вернуть предыдущий шаг и поправить конктерный файл.
Иногда СТ захватывает на странице область больше, чем реальный размер текста (когда на краях страниц есть бяки), приходится многократно тыкать widest page, потом переходить на предыщущий этап и уменьшать страницу.
Еще у меня пара вопросов по программе:
1. В процессе работы наблюдал странный глюк: поскольку у меня 4-ядерный проц, а программа 1-поточная, я запустил обработку сразу 4 книг. И при этом в винде началась жуткая тормозня. Изменение приоритета ничего не давало. Окна проводника открываются секунд 30. такое впечатление, что это какой-то глюк в самом фреймворке, из-за которого в виновс пеерволняется какая-нибудь очередь собщений / блокируется gdi или что-то подобное. Что интересно, когда одна из 4 книг обраоталась - глюк прошел, несмотря на то, что я сразу запустил сжималку djvu, т.е. загрузка проца по-прежнему была 100%.
2. Чем / как собирать СТ под виндой? Visual Studio + Qt SDK пойдет? Хочется подробнее посмотреть какие функции основное время кушают, может получится в них AMD Framewave вставить для ускорения.
Автор: Tulon
Дата сообщения: 21.02.2010 09:34
bookreader_new

Цитата:
1. В процессе работы наблюдал странный глюк: поскольку у меня 4-ядерный проц, а программа 1-поточная, я запустил обработку сразу 4 книг. И при этом в винде началась жуткая тормозня. Изменение приоритета ничего не давало. Окна проводника открываются секунд 30. такое впечатление, что это какой-то глюк в самом фреймворке, из-за которого в виновс пеерволняется какая-нибудь очередь собщений / блокируется gdi или что-то подобное. Что интересно, когда одна из 4 книг обраоталась - глюк прошел, несмотря на то, что я сразу запустил сжималку djvu, т.е. загрузка проца по-прежнему была 100%.

Это нехватка памяти. Хотя при простое ST потребляет минимум памяти, но на пиках вполне может скушать и 500 мегов и больше. Также следите за тем, чтобы DPI входных файлов не было занижено - это тоже ведет к увеличению потребления памяти.


Цитата:
Чем / как собирать СТ под виндой? Visual Studio + Qt SDK пойдет? Хочется подробнее посмотреть какие функции основное время кушают, может получится в них AMD Framewave вставить для ускорения.

Подойдет. В архиве с исходниками есть файл packaging/windows/readme.ru.txt - это инструкция по сборке. Однако на радикальное ускорение я бы не надеялся. Нет такого одного места, которое являлось бы источником всех тормозов. Оптимизировать же функции, которые отъедают меньше 10% производительности - дело крайне не благодарное. В общем будущее в вычислениях на GPU - OpenCL в частности.
Автор: LazyKent
Дата сообщения: 21.02.2010 10:24
Tulon
Программа не компилируется с GCC 4.5. Вот фрагмент лога:


Код: [ 10%] Generating ui_OrientationOptionsWidget.h
/usr/src/packages/BUILD/scantailor-0.9.7.2/imageproc/BinaryImage.cpp: In static member function 'static imageproc::BinaryImage::SharedData* imageproc::BinaryImage::SharedData::create(size_t)':
/usr/src/packages/BUILD/scantailor-0.9.7.2/imageproc/BinaryImage.cpp:58:14: error: non-placement deallocation function 'static void imageproc::BinaryImage::SharedData::operator delete(void*, size_t)'
/usr/src/packages/BUILD/scantailor-0.9.7.2/imageproc/BinaryImage.cpp:41:36: error: selected for placement delete
Scanning dependencies of target fix_orientation
[ 11%] Building CXX object filters/fix_orientation/CMakeFiles/fix_orientation.dir/ImageView.cpp.o
make[2]: *** [imageproc/CMakeFiles/imageproc.dir/BinaryImage.cpp.o] Error 1
make[1]: *** [imageproc/CMakeFiles/imageproc.dir/all] Error 2
Автор: Tulon
Дата сообщения: 21.02.2010 11:48

Цитата:
Программа не компилируется с GCC 4.5.

Исправил - уже в Git.
Автор: bookreader_new
Дата сообщения: 21.02.2010 13:08
Tulon

>>>Это нехватка памяти. Хотя при простое ST потребляет минимум памяти, но на пиках вполне может скушать и 500 мегов и больше

На машине памяти 8 гигов, пиковое выделение памяти было примерно по 100 мегов на процесс.
Автор: Tulon
Дата сообщения: 21.02.2010 14:14
Ну тогда затык связан с доступом к диску. Как ни странно, может помочь полное отключение свопа.

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061

Предыдущая тема: CmCkA v4


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