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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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
ukpyr



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
а не встречали алгоритмов коррекции геометрии и освещенности как в Book Restorer ?
http://www.i2s-bookscanner.com/produits.asp?gamme=1011&sX_Menu_selectedID=leftV_1011_EDI_1003

Всего записей: 35 | Зарегистр. 13-01-2009 | Отправлено: 14:42 16-04-2009
monday2000

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

Цитата:
все равно очень сложная и объемная задача.

В чём именно сложность (в 2 словах)?

Цитата:
Надежда на то, что библиотеку будут улучшать другие люди - весьма призрачна.  Кому такая библиотека может понадобиться?

У меня есть своя версия на эту тему. Я думаю, что народ делал бы альтернативы СК и аналогичное - если бы это не было столь неимоверно сложно. Не знаю, что там в Qt (расскажите), а вот в СК самое сложное (ИМХО) - это графический движок. Этот движок bolega либо взял уже готовый - из коммерческой библиотеки ImageLib (не знаю, есть он там (движок), или нет), либо ещё до начала работ над СК имел по нему изрядные наработки. Чудес-то не бывает - такие вещи, как графический движок, без подготовки за 1 месяц не пишутся (как bolega написал, что сделал это за месяц во время болезни).
 
Будь такой движок - я был бы в числе первых, кто сделал бы на нём ещё одну альтернативу СК (правда, без распознавания образов - это отдельная тема). Можно, конечно, было бы сделать программу без отображения на экране скана - но это не то.
 
Я видел несколько солидных программ (коммерческих и бесплатных) - где подобный графмческий движок имеет постыдные ляпы в реализации. Пример - Recogniform Image Processor (мерцание при скроллинге), СхImage Demo (тормоза при скролле на больших зумах). Всё указывает на то, что сделать такой (путёвый) движок - весьма непросто.
 
Вот и в Qt, видимо, есть такие же "бутылочные горла" - которые мешают появлению прочих альтернатив СК и т.п.
 
Кстати, иные попытки сделать программу сканобработки были - BFRS от Заскока и ещё (не помню как назывался) нечто - но всё это скончалось до меня.

Всего записей: 2841 | Зарегистр. 13-01-2005 | Отправлено: 15:23 16-04-2009 | Исправлено: monday2000, 15:26 16-04-2009
ukpyr



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

Цитата:
 Не знаю, что там в Qt (расскажите), а вот в СК самое сложное (ИМХО) - это графический движок.
что за граф.движок ? отображение страниц или их обработка ?
в Qt первое делается просто - читается картинка, масштабируется на виджет, отображается.
выделение зон и работа с граф.объектами - чуть сложнее.
главное - грамотная организация интерфейса и модульность программы.
базовая обработка есть - практически все базовые операции с изображениями есть в ImageMagick и других свободных библиотеках.
проблема пока с качественной обработкой сканов - чистка, коррекция геометрии, выделение зон, распознавание.
если это решится - можно легко переплюнуть Файнридер.

Всего записей: 35 | Зарегистр. 13-01-2009 | Отправлено: 16:36 16-04-2009 | Исправлено: ukpyr, 16:42 16-04-2009
Tulon

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

Цитата:
 не встречали алгоритмов коррекции геометрии и освещенности как в Book Restorer ?  
 http://www.i2s-bookscanner.com/produits.asp?gamme=1011&sX_Menu_selectedID=leftV_1011_EDI_1003

Готовых не встречал.  Ислледования на эту тему читал.  Задача в принципе выполнима, но довольно трудозатратна, и к тому же низкоприоритетна, потому как редко бывает нужна.  Это я про коррецкцию геометрии.  Коррекция освещенности уже есть в СТ.  Других готовых реализаций кстати я тоже не встречал.
 

Цитата:
В чём именно сложность (в 2 словах)?  

Как описать вкус креветок тому, кто их не пробовал?  Как описать сложность разработки большого проекта тому, кто таких проектов не разрабатыал?
Я все же попробую.
Сразу в отдельный пункт вынесу алгоритмы обработки изображений.  По трудозатратам - примерно половина от всего объема работ.  Я никаких сторонних библиотек для этой цели не использую, потому как ни одна из них меня не устроила.  Например leptonica использует потоко-небезопасный подсчет ссылок, что сразу ее исключает.  В итоге пришлось все писать самому (с оглядкой на другие реализации, если таковые удавалось найти), попутно изучая такие вещи как морфология, Эвклидова карта расстояний, и тому подобные вещи.
Идем дальше.  Все остальные пункты применимы к любому большому проекту.
Итак: самое главное в большом проекте - это архитектура.  Хорошая архитектура позволяет справится с присущей сложностью задачи.  Не устранить сложность, а всего лишь справиться с ней.  Также она позволяет добавить сложности, и все равно справится с ней.  Пример такой добавочной сложности - неблокирующийся интерфейс в СТ.  Страница обрабатывается, а интерфейс не заморожен.  Чтобы сделать хорошую архитектуру - нужен опыт, причем опыт именно в области архитектуры - то есть создания больших приложений с нуля.  Знания тоже не помешают - шаблоны проектирования весьма полезно знать например.
Ну и последний пункт - миллион мелких проблем.  Сложность с ними в том, что их много.  Для примера возьмем тот же движок отображения.  Казалось бы - в чем сложность?  Перевел QImage в QPixmap, переопределил paintEvent() - и рисуй его там с произвольной трансформацией.  Первая реализация жутко тормозила.  Выяснилось что Qt не использует аппаратного ускорения при рисовании картинок с преобразованием.  К тому же качество сглаживания оставляло желать лучшего.  И Qt тут можно сказать не виноват.  Аппаратное  ускорение не использует - родной API не предоставляет необходимых возможностей (что GDI в Windows, что XRender в Linux).  Антиалиазинг слабый - это только при большом уменьшении - такое редко кому надо.  Хотел OpenGL использовать - там свои проблемы: антиалиазинг не отключается и время загрузки картинок возрастает.  В итоге все проблемы решились, но ценой сложности - то что должно было уложиться в две-три сотни строк, выросло до двух тысяч.  Там у меня и фонововая обработка в отдельном потоке используется, и прямые обращения к XRender, и хаки вроде рисования неотсеченной картинки с последующей заливкой определенных областей цветом фона.  И таких сложностей - миллион.  Что вы хотите - проект не маленький.

Всего записей: 718 | Зарегистр. 07-05-2008 | Отправлено: 00:32 17-04-2009
monday2000

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

Цитата:
что за граф.движок ? отображение страниц или их обработка ?

Отображение. Конкретно я имею в виду следующее:

Цитата:
Отображение в клиентской области программы изображения загруженного растрового графического файла. При вращении колёсика мыши - зум меняется с шагами 10%. Само зуммирование - в отдельном треде - крутанул колёсико мыши - а картинка "по инерции" шагами домасштабируется. Обязательно наличие скроллбаров и сглаживания. Никакого моргания-мерцания-тормозов (особенно при скроллинге на больших зумах). Масштабирование - в курсор мыши. Наличие режима Fit Width.

В общем, именно это имеется в СК - можно там рассмотреть, как это выглядит.
Да, вспомнил: ещё в CuneiForm плохой графический движок - нет сглаживания.

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

Есть не только базовые, но даже и более специализированные алгоритмы - deskew и т.п. Либо их достаточно реально отыскать-сделать. Движка графического нет - вот в чём беда. Без него всё бессмысленно.
 
Добавлено:
Tulon

Цитата:
Например leptonica использует потоко-небезопасный подсчет ссылок, что сразу ее исключает.

А что это такое - "подсчет ссылок"?

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

Боже мой, да зачем же ТАКАЯ сложность!? Да хай с ним пусть блокируется - вон в СК блокируется, и ничего.

Цитата:
Для примера возьмем тот же движок отображения.  Казалось бы - в чем сложность?

Ну вот это я и называю наиболее сложным элементом подобных программ. Всё остальное - не сложнее, чем просто рядовая MFC-программа (к примеру).
 
У меня возникло такое впечатление, что Вы всё излишне усложняете. На мой взгляд, вполне достаточно сделать некую "спартанского" вида программу.
 
Добавлено:
Как это - "исключить Лептонику" - ничего себе - да там пол-Лептоники превосходно подходит для скан-обработки - причём многие из её алгоритмов ещё, что назывется, "попробуй найди" где-либо ещё в Интернете.

Всего записей: 2841 | Зарегистр. 13-01-2005 | Отправлено: 10:39 17-04-2009
Rsbr

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Огромное спасибо за программу.
Увы,с меня для проекта толку нету- Shell, C++ на начальном уровне. Правда,способен тестировать и пакеты собирать для Linux,хотя бы для Debian.
Очень многое я уже сделал с помощью CT версии 0.9.3.  
Обнаружил только несколько странностей.
Получается некоторое количество абсолютно белых страниц,сейчас работаю над книгой ,98 разворотов.
Разрезало и всё остальное без ошибок.Но на выходе 100% белизна.Пробовал отключать "удаление пятен", но такое ощущение что  "применить ко всем" не сработало.Всего сделал 4 книги, из нескольких сотен страниц каждая,на каждую сотню страниц бывает по 1-2 абсолютно белых или наоборот абсолютно чёрных страниц на выходе.От  каких факторов это может зависеть?
Возможно,я не совсем понял как работать с программой.
 
Меня не волнует формат файла вывода,может png было бы и лучше.Можно сделать выбор из каких-нибудь 2-3 вариантов.
Насчёт меню-всё в порядке теперь,как в KRename
Есть такая штука- gScan2pdf.С версии 0.9.27 куда-то исчезло устранение перекосов а появилось несколько фильтров...странно всё это.Но она позволяет удалять,добавлять и менять местами страницы,собирать в один файл.  
На данный момент аналогов СТ нет.Раньше использовал такое: Обработка сырых сканов (Gimp, Image Magik) правка перекосов (unpaper) сборка в один файл (всё что угодно).  
Если бы SK был бы нормально переведён,документирован и работал бы стабильно и приемлемо по скорости в WINE,было бы хорошо... Мечтать не вредно)
Вопрос следующий,нельзя ли заполучить СТ посвежее?  

Всего записей: 10 | Зарегистр. 17-04-2009 | Отправлено: 12:22 17-04-2009 | Исправлено: Rsbr, 12:25 17-04-2009
Tulon

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

Цитата:
А что это такое - "подсчет ссылок"?  

Ну вот например.  Про потоко-безопасность там правда не написано - это отдельная тема.
 

Цитата:
Цитата:
Пример такой добавочной сложности - неблокирующийся интерфейс в СТ.  Страница обрабатывается, а интерфейс не заморожен.
 
Боже мой, да зачем же ТАКАЯ сложность!? Да хай с ним пусть блокируется - вон в СК блокируется, и ничего.  

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

Цитата:
Цитата:
Для примера возьмем тот же движок отображения.  Казалось бы - в чем сложность?
 
Ну вот это я и называю наиболее сложным элементом подобных программ. Всё остальное - не сложнее, чем просто рядовая MFC-программа (к примеру).  

Вы мне напоминаете человека, который считает, что для того, чтобы хорошо играть в баскетбол нужно всего-лишь иметь хорошие кроссовки.  Ну возьмите в конце концов движок от СТ и попробуйте сделать что-нибудь на его основе.  Что, не хотите использовать Qt?  Хотите MFC?  Ну извините, с таким же успехрм вы могли бы и для DOSа что-нибудь попросить.  MFC - умирающая платформа.  Ничего нового на ней уже давно не пишут.
 

Цитата:
У меня возникло такое впечатление, что Вы всё излишне усложняете. На мой взгляд, вполне достаточно сделать некую "спартанского" вида программу.  

Вы бы первым меня в этом и упрекнули.  Помните недовольство низким качеством антиалиазинга?
 

Цитата:
Как это - "исключить Лептонику" - ничего себе - да там пол-Лептоники превосходно подходит для скан-обработки - причём многие из её алгоритмов ещё, что назывется, "попробуй найди" где-либо ещё в Интернете.

Я же говорю - не годится для многопоточной обработки.  К тому же она оказалась плохо переносимой - слишком привязана к Unix.
 

Цитата:
Получается некоторое количество абсолютно белых страниц,сейчас работаю над книгой ,98 разворотов.
Разрезало и всё остальное без ошибок.Но на выходе 100% белизна.

Это исправлено в SVN версии.  Кстати об этом упомянается в ChangeLog - там и про SVN версию есть инфа.
 

Цитата:
Меня не волнует формат файла вывода,может png было бы и лучше.Можно сделать выбор из каких-нибудь 2-3 вариантов.  

TIFF по моему всех устраивает, поэтому смысла нет делать выбор.  К тому же конверсия TIFF <-> PNG делается без потерь, так что кому надо, сами могут конвертировать.
 

Цитата:
Вопрос следующий,нельзя ли заполучить СТ посвежее?

Можно собрать из SVN.  На Wiki есть кое какая инфа на эту тему.  В принципе в эти выходные можно было бы выпустить новую версию, но сначала хочу разобраться с вылетами, которые у некоторых случаются.  В принципе тот баг, из-за которого на выходе были белые страницы, мог и к вылетам приводить, но тогда они были бы воспроизводимы, а судя по сообщением вылеты не воспроизводятся.  Раз уж вы в Linux'е, то может вы смогли бы помочь с поиском проблемы.  Сделайте такой скрипт для запуска СТ:

Код:
 
#!/bin/sh
ulimit -c unlimited
scantailor
 

Теперь если упадет, то оставит core файл, по которому можно будет определить, где упало.  Лучше конечно core файл от отладочной сборки, но и обычный будет полезен.  Отладочную сборку можно сделать так:

Код:
 
cmake -DCMAKE_BUILD_TYPE=Debug .
 

Всего записей: 718 | Зарегистр. 07-05-2008 | Отправлено: 01:15 18-04-2009
ndch

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

Цитата:
а судя по сообщением вылеты не воспроизводятся.

Cезонное затишье ?
Или пишут что всё OK ?

Всего записей: 6524 | Зарегистр. 31-08-2008 | Отправлено: 07:47 19-04-2009
Tulon

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

Цитата:
Cезонное затишье ?  
 Или пишут что всё OK ?

Сезонное.  Такое впечатление, что большинство пишет сюда исключительно с работы - отсюда и тишина в выходные.
 
Жаль, что у U235 перестали собираться сборки.  За последнее время было сделано много изменений.

Всего записей: 718 | Зарегистр. 07-05-2008 | Отправлено: 11:15 19-04-2009
Rsbr

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Собрал отладочную сборку из SVN,ну и в deb-пакет завернул.
Пробую. Спасибо за всякие красивости,только если они не будут сильно влиять на скорость.
Но думаю что с вылетом ничего не получится-Ваша программа отработала 3 суток непрерывно и не вылетела,боюсь у меня не хватит времени чтобы добиться этого.
Что  нужно бы -это возможность указания зоны поиска ,то есть при разрезке страниц иногда (зависит от материала) определяет неверно ,по левому краю,по левой границе текста левой половины.Вот здесь и начинаются проблемы,например таких страниц пара десятков и каждую поправить,при том что правка доступна секунд через 5 после выбора страницы в ленте просмотра.
Работает нормально,белых страниц больше не наблюдается.Ещё тысячи полторы сканов обработать осталось...
 
 
 
 
 
 
 

Всего записей: 10 | Зарегистр. 17-04-2009 | Отправлено: 23:03 19-04-2009 | Исправлено: Rsbr, 14:43 20-04-2009
monday2000

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Tulon
Является ли интерфейс СК блокирующим? (Насколько я понимаю, да).
 
А как же гимповские плагины? Каждый же может написать свой плагин - неужели все делают неблокирующиеся?

Всего записей: 2841 | Зарегистр. 13-01-2005 | Отправлено: 09:39 20-04-2009
U235

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

Цитата:
Жаль, что у U235 перестали собираться сборки.

Прошу прощенья.
Сейчас вроде бы я разобрался (а ST, наоборот, собрался). Обновил сборку до версии 346.

Всего записей: 884 | Зарегистр. 14-12-2005 | Отправлено: 20:04 20-04-2009 | Исправлено: U235, 20:10 20-04-2009
Tulon

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

Цитата:
Является ли интерфейс СК блокирующим? (Насколько я понимаю, да).  

В СК - блокирующийся.
 

Цитата:
А как же гимповские плагины? Каждый же может написать свой плагин - неужели все делают неблокирующиеся?

В Gimp - неблокирующийся.  Насчет всех плагинов сказать не могу, но первое что попробовал - нерезкая маска - неблокирующийся.  Думаю в Gimp блокирующийся плагин либо совсем нельзя написать, либо нисколько не проще, чем неблокирующийся.  Это кстати показатель хорошей архитектуры.
 
Rsbr

Цитата:
Спасибо за всякие красивости,только если они не будут сильно влиять на скорость.

На глаз замедления точно не заметите.  По замерам получалось примерно 2% замедления из-за анимации на 1Ghz машине под Linux.  На более современной машине, и под XP думаю пол процента будет, не больше.
 

Цитата:
Что  нужно бы -это возможность указания зоны поиска ,то есть при разрезке страниц иногда (зависит от материала) определяет неверно ,по левому краю,по левой границе текста левой половины.

А на огрызке другой страницы контент какой-нибудь был?  Если нет - то это не проблема - можно хоть по линии разворота разрезать, хоть по внешней границе, хоть совсем ничего не отрезать.  Ну а если контент был - давайте пример.
 

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

Линию тягать действительно вам дадут не раньше, чем автомат определит ее положение.  А вот переключит режим разреза (может этого будет достаточно в вашем случае) - можно сразу.

Всего записей: 718 | Зарегистр. 07-05-2008 | Отправлено: 00:19 21-04-2009
monday2000

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Tulon
Возможна ли переделка Лептоники (и иных блокирующихся) в неблокирующийся вид, и за счёт каких усилий? Ведь чисто в математическом смысле те алгоритмы ИМХО весьма любопытны - жаль их так просто отмести.
 
Добавлено:
Tulon
ИМХО неблокирующийся алгоритм наиболее хорош при визуальном подборе параметров какого-либо преобразования - как, например, в БукРесторере при подборе параметров бинаризации - двигаешь ползунки, и картинка сама тут же меняется соответственно (аналогичное есть в Корел Фото-Пайнте).
 
Просто я хотел сказать - это, конечно же, дополнительная и весьма существенная сложность - и, если бы Вы не стали с этим заморачиваться - то никто бы Вам ничего плохого не сказал. А так Вы добровольно взвалили на себя дополнительное бремя и лишние неудобства (вот теперь уж и Лептонику, оказывается, "нельзя использовать" ).
 
СК, к примеру, я всегда критиковал, конечно же, вовсе не за это - а за те откровенные и очевидные нелепости, которые там есть. ИМХО наличие там блокирующегося (а не неблокирующегося) интерфейса вполне удовлетворительно.
 
Вы рискуете "утонуть" в сложностях. Неблокирующийся интерфейс - это, получается, как некая роскошь - в условиях, когда путёвой сканобрабатывающей программы пока вообще нет никакой - ни блокирующей, ни неблокирующей (СК не в счёт).

Всего записей: 2841 | Зарегистр. 13-01-2005 | Отправлено: 09:03 21-04-2009 | Исправлено: monday2000, 09:34 21-04-2009
Rsbr

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

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

 
Я наверное не смогу объяснить,что там есть,лучше один раз увидеть...
Вот несколько сканов которые СТ обрезает с левого края:
http://globz.ifolder.ru/11731073

Всего записей: 10 | Зарегистр. 17-04-2009 | Отправлено: 10:10 21-04-2009
Tulon

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

Цитата:
Возможна ли переделка Лептоники (и иных блокирующихся) в неблокирующийся вид, и за счёт каких усилий? Ведь чисто в математическом смысле те алгоритмы ИМХО весьма любопытны - жаль их так просто отмести.  

От низкоуровневых алгоритмов неблокируемость как правило не требуется.  У меня например все алгоритмы в imageproc блокирующиеся.  Более высокоуровневые алгоритмы, которые строятся из низкоуровневых, могут просто после каждого этапа проверять атомарную переменную на предмет того, не отменено ли это задание.  Если отменено - выкидывается исключение, которое потом ловится в диспетчере задач.  Соответственно сами эти алгоритмы более высокого уровня, а также весь код, который их вызывает, должен быть exception-safe.  Атомарную переменную выставляет главный поток (на котором работает GUI), а самой обработкой занимается фоновый поток.  Короче перенести код из той же Leptonica - не проблема.  Неблокируемость там не нужна (низкий уровень), exception-safety тоже не нужна (этот код не выкидывает исключения), но и просто так использовать leptonica тоже нельзя, точнее можно, при условии что ее объекты не будут перемещаться между потоками.  Ну и с переносимостью там тоже плохо. В общем с лептоникой классическая проблема - авторы хорошо разбираются в проблемной области, но плохо в программировании.
 

Цитата:
Вы рискуете "утонуть" в сложностях.

Уже бы утонул, если бы не хорошая архитектура.
 
Rsbr

Цитата:
Я наверное не смогу объяснить,что там есть,лучше один раз увидеть...  
 Вот несколько сканов которые СТ обрезает с левого края:  
 http://globz.ifolder.ru/11731073

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

Всего записей: 718 | Зарегистр. 07-05-2008 | Отправлено: 00:20 22-04-2009
Rsbr

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

Цитата:
Клинический случай однако.  По линии не получается разрезать, потому что от линии там только рваные остатки.  По белому просвету тоже не получается - потому что внизу сильный мусор, да еще и черно-белый.  Если сами сканировали - то зря конечно в черно-белом.  Этим вы убили много полезной информации, и добавили трудноудалимый черно-белый мусор.
 

Нет,это обработка чужих сканов... Вообще такие гораздо проще обработать в ImageMagik или Gimp ,разрезать примерно а потом уже в CT ,почистит,наклон исправит...Эта книжка из 92 таких сканов и вот эти 15 определяются вот так...

Всего записей: 10 | Зарегистр. 17-04-2009 | Отправлено: 05:18 22-04-2009
monday2000

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Tulon
Значит, можно разделить задачу - одни могли бы заниматься алгоритмами, а другие - облекать их в нужную программную форму (это я не об СТ, а вообще).
 
Почему-то все эти мелкие библиотекишки норовят каждая сама непосредственно работать на низком уровне с графическими файловыми форматами (кто во что горазд) - сами открывают файл, сами оттуда читают. Я думаю, что это одна из причин их непопулярности - слишком уж они разнобойны получаются.  
 
А вот, если бы, все они, скажем, писали свои алгоритмы на базе, например, FreeImage - то у них было бы гораздо больше шансов на повторное использование.

Всего записей: 2841 | Зарегистр. 13-01-2005 | Отправлено: 11:01 22-04-2009
ukpyr



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
так-с, система плагинов уже готова (на PyQt).
каждый модуль-плагин экпортирует объект-плагин cо своим описанием и и описанием всех параметров (для визуального отображения и справки юзверю).
сейчас дописываю GUI и систему работы с документами,страницами, слоями и выделенными зонами.
 
любое действие можно сделать мышкой в GUI или командой в скрипте.
любые сложные операции в свою очередь можно оформить в виде плагина.
например, добавить/удалить страницы, изменить размер/обрезать/скорректировать яркость/контраст всех страниц или только отдельных выделенных зон можно скриптом из нескольких строк текста.

Всего записей: 35 | Зарегистр. 13-01-2009 | Отправлено: 20:13 22-04-2009 | Исправлено: ukpyr, 20:14 22-04-2009
Tulon

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

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

Можно конечно.  Желающих только нет.
 

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

Это конечно затрудняет совмещение разных библиотек в одном проекте.  Проблема там не в том, что каждая библиотека сама грузит картинки, а в том, что каждая библиотека имеет свою структуру данных для их хранения.  И не все структуры одинакого полезны.  Где-то формат хранения не подходящий - например черно-белые пиксели могут храниться как байты, или как биты, причем если биты - то еще вопрос, в каком порядке и какими кусками (байт?, 4 байта?).  Для обработки изображений идеален вариант "биты, старшие слева".  Размер куска при таком порядке битов значения не имеет, разве что с точки зрения выравнивания.  Где-то другие недостатки - неатомарный подсчет ссылок, нет copy-on-write, неподходящее выравнивание.   Я например не смотрел FreeImage, а если посмотрел бы, наверняка нашел бы недостатки.  Я например написал свой класс для черно белых изображений, а для остальных использую QImage.
 
ukpyr

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

Быстро вы однако.  Посмотрю как выложите.

Всего записей: 718 | Зарегистр. 07-05-2008 | Отправлено: 00:16 23-04-2009
   

Страницы: 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