Здраствуйте,
kontiky! Рад Вас видеть на этом форуме.
Спасибо за интерес к этой теме. У меня тоже к этой теме огромный интерес.
У меня есть кое-какие соображения по этой теме.
Сразу условимся: "СТ" - это Скан Тейлор, "СК" - это СканКромсатор, "Tulon" - это автор СТ, "bolega" - это автор СК.
Проблема на мой взгляд в разрезании разворотов.
Да. Тут Вы попали прямо в точку. В настоящее время это проблема № 1.
Если вынести собственно разрезание в отдельную операцию при загрузке изображений (как сделано в FineReader)
На мой взгляд, необходимо именно "вынести собственно разрезание в отдельную операцию". Точнее, необходимо сделать отдельную независимую программу, которая будет осуществлять разрезку разворотов (+ отрезание ошмётка смежной страницы - для случая одиночных сканов) - и больше ничего (этой программе не следует делать).
- непонятно, как контролировать (и, возможно, подправлять) результаты определения разворота (а это может потребоваться до собственно разрезки),
Я бы сделал операцию визуального составления задания на пакетную разрезку чисто ручной. Т.е. пользователь вручную пробегает по всем сканам и вручную на каждом развороте позиционирует резак (тем самым постранично формируя задание на пакетную разрезку). Так сейчас можно в СК делать.
И только опционально можно (при желании, но отнюдь не необходимо) сделать автоматическое распознавание линии будущего разреза (как в СТ).
Делать чисто ручную разрезку - не особо напряжно. В СК это занимает от силы 5 минут. Ничего, юзер не переломится - чтобы потратить 5 минут на выставление резака разрезки (на всех разворотах). Зато ручной подход даёт неоценимое преимущество - он даёт
железную гарантию, что всё будет порезано именно так, как надо. Никакая автоматика дать подобную гарантию не в силах (в общем случае). Просто, к примеру, тот же Tulon этого не понимает - находясь в плену ошибочных стереотипов.
ну и нарушается вся стройная схема работы с пакетом - одна операция становиться какой-то особенной.
Увы, это необходимое зло. Так наиболее разумно. Это называется "предварительная унификация". Это резко упрощает жизнь разработчикам тех программ, которые будут обрабатывать уже порезанный "полуфабрикат" - не нужно будет изобретать всякие сложные ухищрения ("левые"-"правые" страницы в СК, виртуальная разрезка в СТ - сложнейшее, излишнее ухищрения программиста, потребляющее уйму времени и сил).
Кроме того - отдельная программа для порезки разворотов вообще нужна сама по себе. Не все, кому она нужна, сканируют в DjVu-PDF. Пример: Те, кто делают OCR в CuneiForm, очень нуждаются в программе для порезки разворотов. Могут быть и иные примеры.
Кроме того, юзер непредсказуем. По самым необъяснимым причинам найдутся те, кто захочет ограничится исключительно одной разрезкой разворотов - и всё. Вы видели множество DjVu-файлов, сделанных в виде сдвоенных разворотов? А вот если бы была простейшая (для понимания чайника) программа разрезки сдвоенных разворотов - то такие сдвоенные DjVu резко пошли бы на убыль.
Также - найдётся немало юзверей, которым хоть кол на голове теши - а они не станут сколь-нибудь сложно обрабатывать сырые сканы. А вот хотя бы просто порезать развороты (обсуждаемой гипотетической программой) они ещё со скрипом согласятся - и сразу потом запхнут порезанное прямо в DjVu (а сейчас пхают даже в непорезанном виде).
Люди жаждут простоты - так нужно им её дать. Представьте, что Вы приходите, и говорите: "вот Вам программа для разрезки разворотов. Простая и удобная. Проще уже некуда (а они как раз такое и жаждут). Этой программой Вы можете порезать сдвоенные развороты - а дальше, что хотите, то и делайте, тут я Вашу свободу никак не ограничиваю (в отличие от Tulon). Можете передать порезанное на обработку в СТ - а кому лень - сразу запихивайте в DjVu (это неправильно, но повторюсь - всяким там женщинам Вы никогда не объясните, как правильно делать DjVu-книги)".
Вот именно так нам и нужно достичь вожделенной максимальной простоты сканобработки - которая и будет залогом и гарантией массового DjVu-книгосканирования. Сейчас такой простоты нет - тот же СТ гораздо сложнее для понимания чайника, чем предлагаемая мною простейшая программа по сканобработке.
После разрезки разворотов дальнейшая последовательность сканобработки достаточно неплохо реализована в СТ (но эту тему мы ещё обсудим подробнее).
На первое время вырисовывается такая схема работы.
1. Сканер - создание сырых сканов.
2. Предлагаемая мною простейшая программа по разрезке разворотов.
3. СТ.
Поэтому - нет ли у Вас интереса создать предлагаемаю мною простейшую программу по разрезке разворотов?