Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » Scan Tailor

Модерирует : gyra, Maz

Widok (17-02-2010 12:17): Лимит страниц. Продолжаем здесь.  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107

   

Tulon

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Scan Tailor

 
Скриншот:

В разработке находится новая альтернатива СканКромсатору. Разработчик - ваш покорный слуга.
Задача программы - пост-обработка сырых сканов с целью их последующей сборки в PDF или DJVU.
 
Уже есть на что посмотреть, и возможно присоединиться к проекту. Проект с открытыми исходниками и кросс-платформенный (Windows + Linux).
 
По сравнению со СканКромсатором планируется большее удобство использования, большая интерактивность, но при этом не меньшая автоматизация процесса.
 
Сайт проекта: http://scantailor.sf.net     Скриншоты
 
Топик программы на форуме Натахаус       Англоязычный топик по ScanTailor

Документация
 
Документация (Wiki)              Зоны картинок в ScanTailor
 
Статья: Scan Tailor. Программа для обработки отсканированных книг
 
Видеоурок: Создание DjVu с помощью Scan Tailor (зеркало)
 
Методика использования STA совместно с Djvu Imager

Дистрибутивы
 
Версия СТ с функцией выпрямления искривленных строк (dewarp от Rob)
 
Патч от anagnost96 Вариант ScanTailor с этим патчем (STA)  Зеркало
 
ScanTailor для Mac
 
Последние изменения в дереве исходников - для сильно любопытных и владеющих английским.
Там же можно подписаться на rss/atom - для нетерпеливых.
 

Дополнительно
 
ST GreyText v1.0 Программа для генерации вывода как бы "Только текст (в режиме серого)" - для Scan Tailor от anagnost96.
 
LayerTailor Программа для разделения сканов (после "Смешанный режим) на foreground и background слои с целью последующего раздельного кодирования в djvu. Принцип работы: Все черные пиксели (яркость==0) переносятся в foreground, остальное - в background. Функция layer принимает на входе 3 параметра: исходное имя файла TIFF, имя файла для foreground и имя файла background. Автор: U235.
 
Предложения к anagnost96 по поводу улучшения его модификации СТ
Сравнение выпрямления искривленных строк в СТ и в BR

Статья О возможности альтернативы СканКромсатору     Полезные ссылки по теме топика
ArtScan - ещё одна программа для сканобработки.

Всего записей: 718 | Зарегистр. 07-05-2008 | Отправлено: 21:37 15-06-2008 | Исправлено: ndch, 22:37 12-02-2010
denver 22

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Это было обосновано плохой поддержкой формата TIFF в Qt.  Он их всегда сохраняет в RGB режиме, а кроме того не прописывает в них DPI

Для очистки сканов от крупного мусора пользовал Photoshop. С переходом на Линукс попробывать GIMP. Так он после сохранения обработанного TIFF-скана изменил его размер с 800Кб на 5 Мб. Причина в том, что ты написал? Если нет, то можете что-то посоветовать в этом случае? Не хочу из-за стирался целый Фотошоп на Линукс ставить.
P.S. Классно, что Scan Tailor будет под Linux нативным. Да ещё под моим любимым окружением KDE!

Всего записей: 602 | Зарегистр. 28-07-2005 | Отправлено: 23:13 18-10-2008
Tulon

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Gimp не использует Qt, так что проблема не в этом.  TIFF между прочим контейнерный формат, поддерживающий несколько методов сжатия.  Gimp при сохранении (по крайней мере при Save As) позволяет выбирать метод сжатия.  Если не считать метода JPEG, то наилучший результат дадут:
Для черно-белых изображений: CCITT Group 4 fax
Для остальных: Deflate (в русской версии его обозвали "Уменьшить").
Ну и естественно надо проверять режим (Изображение -> Режим), чтобы не было такого, что серое изображение сохряняется в цветном режиме.

Всего записей: 718 | Зарегистр. 07-05-2008 | Отправлено: 23:55 18-10-2008
U235

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
bolega

Цитата:
Там используются вещественные вычисления, если все это дело перевести на fixed point

а какой смысл в fixed point? Насколько я понимаю, при  регуляризации желательно не вносить дополнительных ошибок, в данном случае - ошибок квантования. SSE1/2/3... вроде бы неплохо работает и с float.

Всего записей: 983 | Зарегистр. 14-12-2005 | Отправлено: 02:10 19-10-2008
monday2000

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
U235

Цитата:
а какой смысл в fixed point?  

Это для быстроты. Целочисленные алгоритмы всегда быстрее алгоритмов с вещественными числами.

Всего записей: 2841 | Зарегистр. 13-01-2005 | Отправлено: 09:29 21-10-2008
U235

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
а) fixed point это не целое число.
б) например, на задачах с плохо обусловленными матрицами чем больше точность - тем лучше, иначе решение вообще можно не получить.

Всего записей: 983 | Зарегистр. 14-12-2005 | Отправлено: 12:16 21-10-2008 | Исправлено: U235, 12:17 21-10-2008
bolega

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
U235

Цитата:
fixed point это не целое число.

Оно описывает не целое число, но с точки зрения CPU - целое.
 

Цитата:
например, на задачах с плохо обусловленными матрицами чем больше точность - тем лучше

Никто не спорит, но повторюсь еще, речь идет об алгоритме с оптимальным соотношением скорость/точность, иначе алгоритм будет бесполезен для обработки массы сканов. Мы ведь не траекторию ракеты считаем.
Во-вторых, для данного алгоритма особая точность не нужна, сам предмет обработки - довольно шумлив и локально стохастичен, поэтому некоторое загрубление пойдет только на пользу (я проверял). Не будете же Вы настаивать считать с помощью 10-байтных float? А точность у 4-float и fixed point кажется одинаковая.
SSE согласен будет лучше, но там программировать тяжелее (для меня по крайней мере). С другой стороны, выигрыш SSE2 перед MMX не будет больше 20%.

Всего записей: 4572 | Зарегистр. 09-09-2002 | Отправлено: 14:43 21-10-2008
zzzpack

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ghosty

Цитата:
Цитата:Хотелось бы еще увидеть, что удалось получить с помощью CK.  
 
Что-то вроде этого:  
http://rapidshare.com/files/141800166/out.rar.html  
 

 
Скажите пожалуйста, как это у Вас получилось? У меня не получается воспроизвести такой результат в Кромсаторе. Что это за настройки?
 
Добавление.
А! Сам нашел Вашу "сборку Кромсатора". Круто.
Жаль, что ее было так сложно найти.

Всего записей: 1 | Зарегистр. 09-10-2007 | Отправлено: 17:58 28-10-2008 | Исправлено: zzzpack, 00:39 31-10-2008
monday2000

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
"сборку Кромсатора"

Может, это и хорошее дело, но пока что это некая "вещь в себе". Например, в самой этой сборке внутри рар-архива нет даже инструкции по использованию - она есть только на Руборде. И ещё хотелось бы больше пояснений о смысле и эффекте применяемых опций профилей СК.

Всего записей: 2841 | Зарегистр. 13-01-2005 | Отправлено: 09:45 31-10-2008
monday2000

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Tulon
 
Я тут сделал кое-какую старую мелочёвку:
 
1. Подправил реализацию алгоритма Deskew:
http://www.djvu-soft.narod.ru/bookscanlib/008.htm
Теперь он работает для любой глубины цвета и функция поворота там вставлена более приличная, чем была.
 
2. Выложил реализацию СканКромсаторного Normal Despeckle:
http://www.djvu-soft.narod.ru/bookscanlib/010.htm
 
Может, пригодится для чего-нибудь.

Всего записей: 2841 | Зарегистр. 13-01-2005 | Отправлено: 23:37 03-11-2008
iroln



Newbie
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Попробовал собрать программу из исходников под Windows.
Ничего не получилось. На стадии компиляции выдаёт целую кучу ошибок, что где-то что-то не продекларировано.

Всего записей: 17 | Зарегистр. 04-02-2007 | Отправлено: 21:05 04-11-2008
Tulon

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
iroln

Цитата:
Попробовал собрать программу из исходников под Windows.
Ничего не получилось. На стадии компиляции выдаёт целую кучу ошибок, что где-то что-то не продекларировано.

Очень похвально что попытались собрать.  Мы тут с еще одним товарищем разбирались с процессом сборки, и действительно обнаружились проблемы.  Все проблемы теперь исправлены,  Возьмите версию из SVN и читайте файл packaging/windows/readme.ru.txt
 
monday2000

Цитата:
1. Подправил реализацию алгоритма Deskew:
http://www.djvu-soft.narod.ru/bookscanlib/008.htm
Теперь он работает для любой глубины цвета и функция поворота там вставлена более приличная, чем была.
 
2. Выложил реализацию СканКромсаторного Normal Despeckle:
http://www.djvu-soft.narod.ru/bookscanlib/010.htm

Ну нынешний Deskew в СТ вроде всех устраивает, а Despekle посмотрю.
 
Теперь насчет текущего положения дел.  Я сейчас в Англии, ищу работу.  Вроде как все идет к тому, что найду.  Сейчас времени особенно нет заниматься СТ.  Впрочем кое-что я уже сделал за время моего пребывания тут.  Работаю над гибридным алгоритмом выравнивания освещения.  Первый этап - то, что мне предложил U235 (морфологическое выделение фона, если кому интересно - расскажу подробности).  Второй этап - генерация полиномиальной поверхности на основе того, что выдал первый этап, не принимая во внимание области явного foreground'а.  Идея с полиномиальными поверхностями взята отсюда:
http://www.comp.nus.edu.sg/~tancl/Papers/ICDAR07/lu-binarization.pdf
Оба этапа уже реализованы и работают, остались мелочи.

Всего записей: 718 | Зарегистр. 07-05-2008 | Отправлено: 21:35 04-11-2008
iroln



Newbie
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Tulon

Цитата:
Все проблемы теперь исправлены,  Возьмите версию из SVN и читайте файл packaging/windows/readme.ru.txt  

 
Спасибо, всё собралось без ошибок.  
 
Вопрос: Патчить библиотеку libtiff обязательно?
Ведь после пропатчивания этой библиотеки нужно будет пересобрать проект заново, т.к. все библиотеки линкуются статически.
 
И ещё вопрос: Вы используете библиотеку Boost. Альтернативы не нашлось? Уж больно она сложна, хотя, не отрицаю, что она очень функциональна.
 
По поводу самой программы.  
Алгоритмы обработки на первый взгляд работают очень даже неплохо!
 
Интерфейс очень неудобный и не продуманный. Интерфейсу нужно уделить особое внимание на самой ранней стадии проекта, продумать все детали, нарисовать эскизы и прототипы, провести тестирование среди пользователей, иначе потом переделывать всё будет каторгой, так как программа обещает быть не простой. Читал на вашем сайте о том, что предложение убрать окно с выбором действий над проектом было отстранено. На мой взгляд - это неверно. Данное окно в программе совершенно не нужно, оно лишь усложняет алгоритм работы с программой и вынуждает пользователя производить слишком много запутывающих действий. Почему бы не сделать так, как например это сделано в Photoshop? Лучше продумать архитектуру сейчас, потом это сделать будет невозможно. Создание качественного интерфейса временами занимает до 70% времени при работе над проектом. К этому нужно отнестись серьёзно, если хотите, чтобы люди пользовались программой.  
 
Также считаю, что проекту необходим форум. Без форума никуда...
 
Я сам работаю математиком-программистом в одной компании и как раз занимаюсь алгоритмами обработки изображений, но несколько в другой области, хотя близко. Пользовательскими интерфейсами стал интересоваться и заниматься недавно. Qt4 я также стал изучать сравнительно недавно, нужно ещё много всего изучить, прежде чем от меня может быть какая-то польза.
 
В компании, в которой я работаю, работает моя знакомая - дизайнер ПО. Она, возможно, согласилась бы поработать над интерфейсом данного проекта, но пока наверняка не уверен. У меня сейчас времени не хватает катастрофически.  
 
Этот проект мне интересен, потому что я так же занимаюсь сканом и созданием электронных книг когда есть свободное время.

Всего записей: 17 | Зарегистр. 04-02-2007 | Отправлено: 00:44 05-11-2008 | Исправлено: iroln, 01:06 05-11-2008
Tulon

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Вопрос: Патчить библиотеку libtiff обязательно?
Ведь после пропатчивания этой библиотеки нужно будет пересобрать проект заново, т.к. все библиотеки линкуются статически.

Тут можно только повторить, что на этот счет написано в readme:
Если не собираетесь распространять свои билды и не собираетесь открывать файлы от ненадежных источников, тогда можете не патчить.  В общем с непатченым libtiff, можно создать такой tiff файл, который при его открытии выполнит произвольный код на вашей системе.
 

Цитата:
И ещё вопрос: Вы используете библиотеку Boost. Альтернативы не нашлось? Уж больно она сложна, хотя, не отрицаю, что она очень функциональна.

Тут надо говорить об отдельных компонентах этой библиотеки, которые я использую.  А это:
* multi_index - сложная, но очень мощьная вещь, реально облегчающая задачу.  Аналогов нет, можно только руками заменить один такой контейнер несколькими, а потом синхронизировать их, да еще и получить падение производительности.
* lambda - умеренная сложность, позволяет сократить код.  Альтернатива - много ручного кода и изменения API в худшую сторону.  Если сейчас имеем что-то вроде:
void получитьСписокТакихТоВещей(Функтор f), то без лямбды либо придется для каждого вызова такой штуки создавать отдельный класс-помошник, либо изменять функцию, чтобы она возвращала этот список в каком-либо заранее предопределенном контейнере, что снижает гибкость.
* bind - используется только в одном месте.  Альтернатив хватает, но они одного порядка сложности с ним, и вообще - зачем тянуть еще одну зависимость, когда такая штука есть в boost.
* По мелочам - всякие там BOOST_FOREACH и lexical_cast - просто удобно, раз уж все равно boost использую.
 

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

Хм, а я как раз на интерфейс упор и делал.  Что кроме окна при старте вам не нравится?  Кстати как оно в Фотошопе сделано я не знаю, и даже проверить не могу - настольный комп дома остался, а тут у меня с собой старенький ноутбук Apple, которые еще PowerPC были.  Соответственно на нем Linux и OSX, а Windows сюда просто не встанет.  Фотошоп для OSX предлагать не надо.
 

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

О, да вы как раз такой человек, который нужен проекту.  Я в математике ноль, в обработке изображений - уже не ноль, но начинал почти с нуля.  Специализируюсь на бэк-эндах: networking, multithreading - это мои сильные стороны.  Ну и общие архитектурные вопросы - это тоже по моей части.  Так что если будет время - милости просим.
 

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

Было бы неплохо конечно.
 

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

Ну там и кроме Qt работы хватает.  Например фильтр Select Content работает не очень уверенно.
 
Добавлено:

Цитата:
Также считаю, что проекту необходим форум. Без форума никуда...

Пока используем этот, потом посмотрим.  Вроде SourceForge собирается предложить или даже уже предлагает нормальную платформу форумов, а не то, что у них называлось форумом до сих пор.  Или какой другой вариант.

Всего записей: 718 | Зарегистр. 07-05-2008 | Отправлено: 01:36 05-11-2008
iroln



Newbie
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Tulon
Хотел сказать, что вы вообще молодец, сделали уже большую работу, это очень здорово!
 

Цитата:
Хм, а я как раз на интерфейс упор и делал.  Что кроме окна при старте вам не нравится?  Кстати как оно в Фотошопе сделано я не знаю, и даже проверить не могу - настольный комп дома остался, а тут у меня с собой старенький ноутбук Apple, которые еще PowerPC были.  Соответственно на нем Linux и OSX, а Windows сюда просто не встанет.  Фотошоп для OSX предлагать не надо.  

Фотошоп по умолчанию запускается "пустым", а далее через меню "Файл" производятся действия по импорту-экспорту файлов и проектов. Так же вызвать диалог открытия файла можно по двойному щелчку мышкой по рабочему полю в окне программы.
 
В вашем маленьком начальном окне нет смысла. Это лишний элемент интерфейса. По сути дела это примитивный менеджер проектов. Если вы хотите использовать менеджер проектов, то не лучше ли будет его интегрировать в основное окно приложения? Для примера, посмотрите как сделано в CodeBlocks:
http://pic.ipicture.ru/uploads/081105/HRxGjTs4nw.png
 
Работу с проектом также нужно реализовать из меню программы, как это сделано в большинстве современных приложений. Дело в том, что "интуитивность" понятие обманчивое и неопределённое. Пользователь обычно хорошо ориентируется в том, что для него привычно, а не интуитивно. Поэтому в большинстве программ интерфейс имеет общие черты.
 
Окно импорта файлов в проект тоже нужно переработать.  
Хорошо было бы помнить директорию для проектов по-умолчанию.
В окне необходимо добавить поле для задания имени проекта.
Расположение объектов в окне тоже нужно продумать, чтобы визуальный поток не прерывался. Количество действий пользователя нужно сократить до минимума, если вы делаете погружение в одном окне.
Вообще обычно такие вещи делаются в виде пошагового мастера или карты последовательности:
http://pic.ipicture.ru/uploads/081105/UsUOwuGeJg.png
 
В главном окне наибольшее пространство нужно отвести под область с текущей страницей. Страница должна доминировать над другими элементами интерфейса. Страница - это центральная сцена. Ведь основная задача этой страницы продемонстрировать пользователю логически связанное содержимое, которое меняется шаг за шагом от его действий по обработке.
Сейчас ощущается нехватка места для страницы. Страница словно зажата между двумя массивными панелями.  
Также необходимо реализовать масштабирование страницы в курсор а не по центру, что значительно удобнее (так например сделано в CAD системах и многих вьюверах графики). Панели инструментов и ленты предпросмотра лучше поменять местами и максимально ужать, на сколько это возможно. Панель инструментов нужно проработать отдельно, тут не быстрый процесс. Нужно продумать последовательность действий пользователя. Вообще, чтобы легче было делать такие вещи можно обратиться к паттернам проектирования интерфейсов. В интернете есть много литературы на эту тему (больше на английском языке). В данном случае, мне кажется, нужно реализовать что-то вроде пошагового мастера, иначе пользователь просто запутается как в СК. В данный момент я например даже не знаю, какие основные действия должна выполнять программа и в какой последовательности, что мне нужно делать, а что нет на данном этапе. Данная программа не графический редактор, здесь пользователю не должно выделяться пространство для творчества и импровизации. Чем определённее будет последовательность действий - тем для пользователя быстрее и проще. Пользователя нужно проводить по интерфейсу шаг за шагом, начиная от создания проекта и до получения окончательного результата, позволяя делать на каждом шаге чётко заданные действия и если есть необходимость возвращаться к предыдущему шагу. Ведь главное - это скорость и автоматизация работы. В FR например именно такой алгоритм работы с программой.
 

Цитата:
О, да вы как раз такой человек, который нужен проекту.  Я в математике ноль, в обработке изображений - уже не ноль, но начинал почти с нуля.  Специализируюсь на бэк-эндах: networking, multithreading - это мои сильные стороны.  Ну и общие архитектурные вопросы - это тоже по моей части.  Так что если будет время - милости просим.  

Ну я вообще занимаюсь фильтрацией и поиском зон и объектов интереса на рентгеновских полутоновых изображениях. Естественно я отлично владею всеми средствами MATLAB и знаю математические основы морфологии и обработки изображений, основные алгоритмы и методы фильтрации, сегментации, описания и т.д., но это не значит, что я могу реализовать любой алгоритм за час. Возни в этой области всегда предостаточно. Пока я ограничен во времени, толку от меня мало.
 

Цитата:
Ну там и кроме Qt работы хватает.  Например фильтр Select Content работает не очень уверенно.

Что конкретно требуется от этого фильтра? Что на входе, что на выходе, каковы априорные данные, спецификация?

Всего записей: 17 | Зарегистр. 04-02-2007 | Отправлено: 02:56 05-11-2008 | Исправлено: iroln, 03:03 05-11-2008
Arcand

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Tulon

Цитата:
Работаю над гибридным алгоритмом выравнивания освещения.  Первый этап - то, что мне предложил U235 (морфологическое выделение фона, если кому интересно - расскажу подробности).  Второй этап - генерация полиномиальной поверхности на основе того, что выдал первый этап, не принимая во внимание области явного foreground'а

Интересно, можно подробней про все это?

Всего записей: 2496 | Зарегистр. 28-05-2004 | Отправлено: 05:34 05-11-2008
monday2000

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Tulon

Цитата:
Я сейчас в Англии, ищу работу.  

По телевизору показывали, что там сейчас жуткий кризис и всех "белых воротничков" увольняют пачками - типа банковских клерков.
iroln
Спасибо, что откликнулись на мой призыв:

Цитата:
Я написал трём мне известным программистам, которые ранее проявляли интерес к этой тематике. Может быть, хоть кто-то откликнется.

iroln
Не хотите ли заняться написанием консольных алгоритмов - как я в http://www.djvu-soft.narod.ru/bookscanlib/project.htm ? Но только ради бога не на Матлабе - а на какой-то более низкоуровневой графической библиотеке типа ImageMagick или FreeImage (чтобы этот код было реально применить в своей программе). Дело нужнейшее и полезнейшее. Вот сейчас, например, нужен алгоритм Smart Blur (как в Фотошопе).
 
Добавлено:
Tulon

Цитата:
Antialiasing - это свойство операции, а не сама операция, так что операция сглаживания - это либо blurring либо smoothing.

Интересно, что это за алгоритм такой - smoothing? Это не Blur?

Всего записей: 2841 | Зарегистр. 13-01-2005 | Отправлено: 12:59 05-11-2008
dma200899

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Сейчас ощущается нехватка места для страницы. Страница словно зажата между двумя массивными панелями.  
 

 
Реально кодил книги в СТ.
 С правой полосой все нормально - она не для красоты, а с нее контролируется макет.
Если ее уменьшить, то как раз видно ничего не будет. Оставшаяся по центру страница также достаточна для работы. Если надо что детальнее разглядеть - колесиком мышки она и увеличивается.
Все нормально.
 
Что абсолютно ненормально -  
- необходимость руками встать на каждую страницу в оутпуте, т.к. если я руками все page layout поправил, то если я встал на оутпут и нажал батч, то СТ доблестно перекорежит все поправленное. Для книги в 800 стр. - большая потеря времени.
Как варианты:
1) сделать батч для оутпута
2) сделать выбор - батч всех стадий; батч текущей стадии,
 
 
Или, если я понял что неправильно выставил поля и хочу для всех страниц выставить в "page layout" опцию: правое поле = 10 мм. Но при этом все остальные настройки (верх, низ, левое поле) оставить те, что уже есть (разные). Так, если применять на все страницы, то установятся все 4 поля на все страницы. Мне же надо только правое.
 
Глюк в   "Fix orientation - Apply - Every other page in range".  
Все равно поворачивает все, как если бы выбрать "every page in range".
 
Такой кнопки "применить к четным/нечетным" не хватает для page align.
Хорошо бы также "применить к выбранным" + механизм выбора страниц - четные/нечетные, диапазон номеров.
 
 
 
 

Всего записей: 126 | Зарегистр. 29-06-2008 | Отправлено: 02:53 06-11-2008
Tulon

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Добрался наконец до интернета, сейчас буду всем отвечать.
 
iroln

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

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

Цитата:
Хорошо было бы помнить директорию для проектов по-умолчанию.  

Для открытия проектов это уже сделано (открывает директорию последнего сохраненного).  Для сохранения - не уверен.  Будет время - доберусь и до этого.
 

Цитата:
В окне необходимо добавить поле для задания имени проекта.  

Вот тут я не совсем уверен.  Будет ли это также именем файла?  Если да, то что делать с диалогом Save As?  Забивать имя файла по умолчанию?  А изменять его разрешать?  А если не разрешать, то как?  А если человек перейдет в другую директорию, не изчезнет ли это дефолтное имя?
 

Цитата:
Вообще обычно такие вещи делаются в виде пошагового мастера или карты последовательности:
http://pic.ipicture.ru/uploads/081105/UsUOwuGeJg.png  

Это вы про окно создания нового проекта или про главное окно?  Насчет окна создания проекта - я даже не знаю, где там дополнительные шаги могут быть.  Ну разве что опциональный диалог Fix DPI сделать вторым шагом.
Ну а главное окно и так фактически представляет из себя многоэтапный мастер.  Кнопок Prev / Next там правда нет, потому как переходов на произвольный этап получается больше, чем на предыдущий / следующий.  Например перешли мы сразу на Select Content, запустили пакетную обработку, и увидели, что где-то страницы не так разрезались.  Возвращаемя на Split Pages (а между ними Deskew) и правим это там.
 

Цитата:
Также необходимо реализовать масштабирование страницы в курсор а не по центру, что значительно удобнее

Идея хорошая, надо будет реализовать.
 

Цитата:
Панели инструментов и ленты предпросмотра лучше поменять местами и максимально ужать, на сколько это возможно.

Тут все не просто.  Например кажется, что на ленте предпросмотра полно неиспользованного места слева-справа.  Если у вас не развороты, то в принципе так и есть.  Но даже этого программа достоверно не знает.  Толи это одна страница, толи это развернутый на 90 градусов разворот, который вы захотите развернуть обратно.  Если скажем у вас все таки разворот, то даже на этапах после разрезания этот разворот может отображаться в развернутом виде на ленте предпросмотра.  Попробуйте например не пройдя полностью этап Split Pages прыгнуть сразу на Select Content.  В общем если принимать в расчет наличие разворотов в ленте предпросмотра, то сужать ее некуда.
 

Цитата:
Цитата:
Ну там и кроме Qt работы хватает.  Например фильтр Select Content работает не очень уверенно.
 
Что конкретно требуется от этого фильтра? Что на входе, что на выходе, каковы априорные данные, спецификация?  

Вход: исходное изображение (может быть любой цветности), обрабатываемая зона (в виде многоугольника), угол поворота для выравнивания текста по горизонтали.  Все эти аттрибуты кроме самого изображения хранятся в объекте ImageTransformation.  Вывод: прямоугольник, ограничивающий облать контента, в координатах после преобразования.  Сейчас реализация примерно такая: делаем афинное преобразование, потом бинаризацию.  Убираем мусор с краев.  Убираем совсем мелкие соединенные компоненты.  У остальных анализируем форму.  Если компонент не сильно извивается, значит это скорее всего мусор.  Вертикальные и горизонтальные линии приходится обрабатывать отдельно.  Степень извиваемости узнаем путом нахождения углублений и дыр, и потом сравниваем сколько пикселей составляют сам компонент, а сколько - углубления и дыры в нем.  Еще один критерий - удаленность соединенного компонента от других компонентов.
Проблемы: мусор по краям не всегда удаляется полностью.  Бывает остается загнутый уголок страницы или какой другой фрагмент.  Особо тяжелы случаи, когда на входе - черно-белое неочищенное изображение.  Вторая проблема, даже более серьезная - бинаризация в условиях теней от корешка книги.  Я как раз сейчас над этим работаю.
 
Добавлено:
Arcand
 

Цитата:
Цитата: Работаю над гибридным алгоритмом выравнивания освещения.
Интересно, можно подробней про все это?

Ну хорошо.  Идея выравнивания освещения заключается в том, чтобы выделить фон изображения, то есть убрать оттуда весь контент и залить эти места цветом бумаги, и потом пересчитать исходное изображение по этой формуле:
new_gray_level = orig * 255 / background
Имейте в виду, что цвет 0 - черный, а 255 - белый.
В общем, там, где фоновое изображение совпадает с исходным - мы получаем белый цвет.  Чем больше разница между фоном и исходным изображением, тем более темный цвет мы получаем, но не в линейной зависимости, а таким образом, что темные объекты на темном фоне усиливаются больше.
 
Теперь о том, как выделить фон:
Самый простой способ: серая морфологическая реконструкция от краев.
Морфологическую реконструкция (она же seed fill) проще объяснить на примере.  Сразу скажу, что описывать буду реконструкцию с распространением черного а не белого (последний вариант встречается чаще).  Так вот, реконструкция принимает исходное изображение плюс изображение-затравку.  В результате получаем изображение, где часть пикселей становятся светлее чем были в оригинале, потому что не было темного пути, соединяющего их с темными областями затравки.  В данном случае затравка - черная рамка шириной в один пиксель по краю.  В результате светлые поля книги не позволяют черному цвету от краев распространиться до полезного контента.
 
Вот примерно так.  Точное математическое определение можно найти в нете.
 
Добавлено:
monday2000

Цитата:
Цитата:
Я сейчас в Англии, ищу работу.  
 
По телевизору показывали, что там сейчас жуткий кризис и всех "белых воротничков" увольняют пачками - типа банковских клерков.  

В Литве (я оттуда) все еще хуже.  Здесь хоть нормальные вакансии есть.  Там - только web development.
 
 
Добавлено:

Цитата:
Интересно, что это за алгоритм такой - smoothing? Это не Blur?

Я не знаю принципов наименования.  Одни фильтры называют smoothing filter, другие - blurring.
 
Добавлено:
dma200899
 

Цитата:
Реально кодил книги в СТ.  

Круто!  Ссылкой на результат не поделишся?
 

Цитата:
Что абсолютно ненормально -  
- необходимость руками встать на каждую страницу в оутпуте, т.к. если я руками все page layout поправил, то если я встал на оутпут и нажал батч, то СТ доблестно перекорежит все поправленное. Для книги в 800 стр. - большая потеря времени.
Как варианты:
1) сделать батч для оутпута
2) сделать выбор - батч всех стадий; батч текущей стадии,  

Ну, в случае правильного использования СТ, корежиться ничего не должно.  То есть он переделает все файлы, но переделка ведь будет с теми же параметрами - так что это не проблема.  В случае с Page Layout - переделка всего и вся - это как раз нормальное явление, поскольку изменение полей одной страницы может повлиять на поля других.  А вообще действительно не хорошо, что нельзя продолжить пакетную обработку с заданного места.  Этот пункт уже есть в TODO.
По поводу "сделать выбор - батч всех стадий; батч текущей стадии":
Выполнение текущей стадии предполагает выполнение всех предыдущих.  Например как делать Select Content, когда еще не разрезаны страницы?  И да, вы можете на любой стадии делать пакетную обработку.  При этом делается данная стадия и все предыдущие, но не последующие.
 

Цитата:
Или, если я понял что неправильно выставил поля и хочу для всех страниц выставить в "page layout" опцию: правое поле = 10 мм. Но при этом все остальные настройки (верх, низ, левое поле) оставить те, что уже есть (разные). Так, если применять на все страницы, то установятся все 4 поля на все страницы. Мне же надо только правое.  

Да, нехватает гибкости тут.  Надо думать, как выразить частичный Apply в крафическом интерфейсе.
Цитата:
Глюк в   "Fix orientation - Apply - Every other page in range".  
Все равно поворачивает все, как если бы выбрать "every page in range".  

 

Цитата:
Глюк в   "Fix orientation - Apply - Every other page in range".  
Все равно поворачивает все, как если бы выбрать "every page in range".

Опа - а у меня все нормально работает.
 

Цитата:
Такой кнопки "применить к четным/нечетным" не хватает для page align.
Хорошо бы также "применить к выбранным" + механизм выбора страниц - четные/нечетные, диапазон номеров.  

В идеале я представляю это себе как наличие произвольных групп страниц, и чтобы в диалогах Apply был вариант "применить к группе", и естественно выбор группы.  А уж создание группы - тут вам предложат и четное-нечетное, и от и до, хоть по отдельным страницам кликай для включения / исключения из группы.
Тут надо продумывать интерфейс для создания групп, да и вообще - задача не маленькая.  Впрочем это явно пункт для TODO.  Может кто его за меня напишет, а я на сайте размещу;  не все же мне одному делать

Всего записей: 718 | Зарегистр. 07-05-2008 | Отправлено: 16:49 06-11-2008 | Исправлено: Tulon, 16:52 06-11-2008
dma200899

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

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

 
Еще раз объясняю как происходит.
 
Насколько я понимаю, Ваш замысел был таков. Встать на оутпут, нажать Батч. Потом визуально найти отдельные ошибки и их руками поправить. В каждом случае для одной страницы вставать на оутпут и заменять ее тем самым на отредактировнный вариант.
 
Так вот, реальная работа получается не так.
Если правки в случае сложной весртки на этапе page layout много  (часть стр налево, часть направо, часть вверх, часть с полями, часть без полей, так как рисунки вылезают на край страницы и т.д.), то мне после того как все поправлено на оутпуте нужно батчем  
все страницы и переделать по тем параметрам которые РУКАМИ поставлены на пейж лейоут.
Но если на оутпуте нажать батч, то СТ снова начнет всё-всё считать в режиме авто и я получаю тот самый вариант, от которого и уходил.
Т.е. при батче нужны не все предшествующие этапы, а только один данный текущий этап, а предшественники считать как уже сделанные. Как минмум это нужно для output.
Мне удобнее 5 раз батч нажать (для каждого шага), чем 800 страниц руками клавишей page down  два часа перещелкивать, чтобы макет сохранить.
 
Я за это время сериал Ликвидация успел посмотреть.
 
Да, если правится 1-10 страниц можно встать руками. Если это 800 страниц, где размер полей или выключка поправлена - нужен батч (без предшествующих шагов).
 

Цитата:
Например как делать Select Content, когда еще не разрезаны страницы?  

 
Если я не разрезал, то селект контент определит неправильно. Я это увижу и пойду назад на селект контент.
 
 
Кроме того - файлы с черной зоной вокруг текста select контент определяет слишком криво: в 70% была ошибка. Если их прогнать через кромсатор - 99% верно. Может сделать отдельный шаг на crop (как в БукРесторере) - обрезка черноты прежде чем контент искать ?
 
Добавлено:

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

 
Еще раз объясняю как происходит.
 
Насколько я понимаю, Ваш замысел был таков. Встать на оутпут, нажать Батч. Потом визуально найти отдельные ошибки и их руками поправить. В каждом случае для одной страницы вставать на оутпут и заменять ее тем самым на отредактировнный вариант.
 
Так вот, реальная работа получается не так.
Если правки в случае сложной весртки на этапе page layout много  (часть стр налево, часть направо, часть вверх, часть с полями, часть без полей, так как рисунки вылезают на край страницы и т.д.), то мне после того как все поправлено на оутпуте нужно батчем  
все страницы и переделать по тем параметрам которые РУКАМИ поставлены на пейж лейоут.
Но если на оутпуте нажать батч, то СТ снова начнет всё-всё считать в режиме авто и я получаю тот самый вариант, от которого и уходил.
Т.е. при батче нужны не все предшествующие этапы, а только один данный текущий этап, а предшественники считать как уже сделанные. Как минмум это нужно для output.
Мне удобнее 5 раз батч нажать (для каждого шага), чем 800 страниц руками клавишей page down  два часа перещелкивать, чтобы макет сохранить.
 
Я за это время сериал Ликвидация успел посмотреть.
 
Да, если правится 1-10 страниц можно встать руками. Если это 800 страниц, где размер полей или выключка поправлена - нужен батч (без предшествующих шагов).
 

Цитата:
Например как делать Select Content, когда еще не разрезаны страницы?  

 
Если я не разрезал, то селект контент определит неправильно. Я это увижу и пойду назад на селект контент.
 
 
Кроме того - файлы с черной зоной вокруг текста select контент определяет слишком криво: в 70% была ошибка. Если их прогнать через кромсатор - 99% верно. Может сделать отдельный шаг на crop (как в БукРесторере) - обрезка черноты прежде чем контент искать ?
 
Добавлено:

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

 
нет это проблема.
Я сделал оутпут, получил файлы,
перешел на пейж лейоут и поправил макет на всех (!) страницах.
В итоге я должен в оутпуте руками встать на каждую страницу, так как, если я нажму батч, то я получу то с чего начинал и что правил.
 
Нужно батч не текущий шаг и все предыдущие, а только текущий.
Как минимум для оутпута.
Это реальная проблема
 
 

Цитата:
Например как делать Select Content, когда еще не разрезаны страницы?

 
с ошибкой. Увидел ее - вернулся на разрезку страниц и разрещал.
 
Кстати, если селект контент делать при черных краях вокруг скана, то 70% ошибок. Пропустить сканы через СК - 99% верно. Может на автомате делать кроп как в Букресторере (аналог draft kromsate) ?

Всего записей: 126 | Зарегистр. 29-06-2008 | Отправлено: 23:02 06-11-2008
monday2000

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Я сделал новую заметку:
 
11. Конволюционные фильтры
 
http://www.djvu-soft.narod.ru/bookscanlib/011.htm

Всего записей: 2841 | Зарегистр. 13-01-2005 | Отправлено: 23:20 06-11-2008
   

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107

Компьютерный форум Ru.Board » Компьютеры » Программы » Scan Tailor
Widok (17-02-2010 12:17): Лимит страниц. Продолжаем здесь.


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru