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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Мда, похоже я мало чего понял. Как-нить позднее изучу подробнее.
1. Очередной нюанс. Судя по комментариям даже в этой теме о Tif, проблема возможно даже не в ST, но...
после вывода в "Смешанном" (надо сказать другого я ещё не использовал), полученные тифы FineReader отказался принимать. Пришлось прогонять их в Irfan. После этого FR их принял, ну и обработал.
2. Есть ещё 1 глюк. 4 файла из проекта ST вывел как пустой лист. К сожалению пока не могу дать образец (он на работе) такого файла, т.к. я умудрился после работы сломать флешку. Образец скину в понедельник.

Всего записей: 602 | Зарегистр. 28-07-2005 | Отправлено: 22:21 16-01-2009
Tulon

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

Цитата:
1. Очередной нюанс. Судя по комментариям даже в этой теме о Tif, проблема возможно даже не в ST, но...
после вывода в "Смешанном" (надо сказать другого я ещё не использовал), полученные тифы FineReader отказался принимать. Пришлось прогонять их в Irfan. После этого FR их принял, ну и обработал.  

А чего он сказал-то хоть?  Если ничего вразумительного, тогда шлите то что выдал СТ и то что выдал Irfan.
 

Цитата:
2. Есть ещё 1 глюк. 4 файла из проекта ST вывел как пустой лист. К сожалению пока не могу дать образец (он на работе) такого файла, т.к. я умудрился после работы сломать флешку. Образец скину в понедельник.

OK, в понедельник так в понедельник.

Всего записей: 718 | Зарегистр. 07-05-2008 | Отправлено: 01:14 17-01-2009
Arceny



Newbie
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Пока что не прочитал всю тему.
 
Немного попробовал пока как пользователь, результат отписал вот здесь:
http://forum.ru-board.com/topic.cgi?forum=93&topic=1624&start=1600#2
 
Добавлено:
Ещё мысли по сегодняшнему практическому использованию разработки: как я понимаю многопоточный режим уже реализован так как при выполнении алгоритмов интерфейс не подвисает. Хотелось бы запускать несколько потокков обработки по числу ядер процессора, так как операции например бинаризации достаточно долгие (особенно с преобразованием 300->600 dpi)

Всего записей: 27 | Зарегистр. 17-01-2009 | Отправлено: 16:09 17-01-2009
Tulon

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

Цитата:
как я понимаю многопоточный режим уже реализован так как при выполнении алгоритмов интерфейс не подвисает

Многопоточность имеется, но параллельной обработки изображений нет.  Сейчас СТ использует 4 потока:
1. Главный поток, на котором крутится интерфейс пользователя.
2. Поток обработки изображений.  Тут делаются все тяжелые операции по анализу и обработке изображений.
3. Поток подгрузки миниатюр (thumbnails).
4. Поток высококачественного антиалиазинга.  Тут делается высококачественная версия изображения, которая появляется с некоторой задержкой (это все относиться только к бета версиям - в релизе 0.9.1 такого еще не было).
 
Сделать параллельную обработку изображений в принципе возможно, но не думаю что оно того стоит.  Дело в том, что обработка изображений, особенно при 600 DPI требует дофига памяти, и если запустить несколько таких операций параллельно, то начнется свопинг, что убьет производительность.
 
А вот сделать упреждающую загрузку изображений отдельным потоком - стоило бы.  Пока обрабатывается одно изображение, почему бы в это время не подгрузить следующее?

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



Newbie
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Мне такой подход (про память) не кажется верным.
 
Достаточно сделать диалог настроек в котором хранить параметры. И дать пользователю свободу выбора. Я смотрел сколько жрало памяти на момент обработки - было что-то около 70 мб. Это при 3 гб из всего 4х свободных-то. Да и на 1 гб ОЗУ проблем быть не должно. То есть дать возможность выбора и всё ок. Получить ускорение в 2 (4) практически раза на большом числе файлов в пакете - весьма неплохо.
 
То есть в одном потоке скажем будет запущена обработка с 1 по n/2, а в другом с n/2+1 до n , ну и ли чёт/нечет что было бы удобнее (можно сразу начинать листать результат)

Всего записей: 27 | Зарегистр. 17-01-2009 | Отправлено: 19:24 17-01-2009
Tulon

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

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

А вы попробуйте режим вывода Mixed (Смешанный) и цветной скан на 600 DPI (вывод тоже 600) - будет несколько сотен мегов.
 
Тут ведь дело не только в том, что мне сомнительна полезность всего этого - реализовать это тоже не так уж и просто.

Всего записей: 718 | Зарегистр. 07-05-2008 | Отправлено: 19:51 17-01-2009 | Исправлено: Tulon, 19:52 17-01-2009
Arceny



Newbie
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Даже если и несколько сотен.
 
Я не изучал ваш исходный код, но с моей точки зрения реализация ещё одного потока с заданным диапазоном страниц по заданному алгоритму не должна составлять проблем.
 
Банальный пробег по QList в цикле (опять же, не знаю как у вас там всё конкретно организовано).
 
Я тут недавно "кодил" перцептрон в качестве лабы с примерами, там использовал класс QList в качестве структуры данных для хранения примеров обучения нейросети. В элементах листа хранились указатели на объекты типа Struct производного от QObject, который описывал каждый пример нейросети (картинка, оцифрованые данные, нормализованые данные). ДУмаю что здесь должно быть что-то похожее.
 
Вообще... хм. Хорошо бы документировать код, в каком файле какой объект за что отвечает, какие методы и так далее. Да-да, я знаю что это самое нелюбимое у программистов Ещё была бы полезна система типа trac, то что я вижу на SF мне не очень нравится. Да и всяко удобнее чем реквестить фичи и давать багфиксы на форумах =)

Всего записей: 27 | Зарегистр. 17-01-2009 | Отправлено: 20:01 17-01-2009
monday2000

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

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

Я тоже считаю, что метод разделённых сканов - вовсе не панацея. Хотя он рассчитан в основном на такой типичный случай, когда в обычной книге попадаются редкие полутоновые иллюстрации. Таких книг относительно немало. Раньше приходилось всю страницу целиком кодировать в серый DjVu - что выглядело довольно уродливо.

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

Тоже вариант. Правда, тут ИМХО небольшой минус в том, что надо суметь грамотно обработать исходный скан - чтобы DjVu-кодировщик всё понял именно так, как мы хотели ему сказать. С sep-файлами проще - явно указал Picture-зоны - и привет.
Мне кажется, что в любом случае нужно в будущем суметь реализовать автоматическое распознавание контура полутоновых картинок на сканах. И вручную подправлять найденный контур - примерно так, как это делается в Файнридере. И тогда уже по-разному обрабатывать текст и картинки - а то, что получилось на выходе, желающие пусть кодируют то ли через documenttodjvu, то ли через csepdjvu - кому что больше нравится.
 
У метода раздёлённых сканов есть то скрытое преимущество перед обычным кодированием полутоновых картинок в documenttodjvu, что метод раздёлённых сканов можно хоть сейчас прикрутить к minidjvu - и получим достаточно приличный по возможностям легальный DjVu-кодировщик.

Всего записей: 2841 | Зарегистр. 13-01-2005 | Отправлено: 20:45 17-01-2009
Tulon

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

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

Вашими бы устами да мед пить.  На самом деле все гораздо сложнее.  Если я начну описывать как оно работает и что придется менять, на это у меня уйдет не меньше часа.  Но если хотите сами разобраться, копайте в следующих направлениях:
MainWindow::loadImage()
MainWindow::filterResult()
WorkerThread
BackgroundTask и его подклассы
 
WorkerThread нужно превращать в WorkerPool (чтобы был не один поток, а целый набор таковых).  Кстати лучше всего делать пул потоков не на основе WorkerThread, а на основе BackgroundExecutor.  По хорошему надо переводить все вспомогательные потоки на BackgroundExecutor, а то сейчас каждый имеет свой собственный велосипед.  BackgroundExecutor - один из таких велосипедов, но он сделан максимально не зависящим от задачи.
Потом нужно будет изменить логику пакетной обработки "обработали страницу - начинаем слудующую".
И подумать над механизмом отмены заданий (текущий работает только с одним заданием), и подумать, как будет себя вести лента предпросмотра в условиях нескольких одновременных задач.  Не хотим же мы скакать вперед-назад после завершения обработки той или иной страницы тем или иным потоком.
В общем работы там хватает - это вам не лабораторная на 500 строк.
 

Цитата:
Вообще... хм. Хорошо бы документировать код, в каком файле какой объект за что отвечает, какие методы и так далее. Да-да, я знаю что это самое нелюбимое у программистов Ещё была бы полезна система типа trac, то что я вижу на SF мне не очень нравится. Да и всяко удобнее чем реквестить фичи и давать багфиксы на форумах =)

Документировать все про все у меня не хватает терпения и силы воли.  Я стараюсь документировать API кода, который написан с прицелом на повторное использование.  А документацию в стиле обзора мне вообще никогда писать не приходилось.
А Trac Sourcforge предоставляет всем желающим проектам, вот только я сомневаюсь, что его кто-либо будет использовать.
 
Добавлено:
monday2000

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

Ну, пока что я не услышал ни одного сообщения о том, что растровое авто-выделение где-то ошибалось.  И пока не услышу - пальцем не пошевелю в направлении Picture Zones или автовыделения контуров.
 

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

Тогда уж лучше просто реализовать кодирование в DJVU прямо из СТ.  Но это дело далекого будущего.

Всего записей: 718 | Зарегистр. 07-05-2008 | Отправлено: 20:52 17-01-2009
Arceny



Newbie
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
> Но вообще-то вот это маленькое окошечко при старте смотрится исключительно нехорошо. Думаю, так скажут практически все пользователи. Неужели Вы действительно считаете, что найдётся хотя бы один пользователь, который не догадается, что ему нужно нажать на File -> Open File(s) после открытия программы?  
 
Согласен. Интерфейс стартовый требует переработки + добавление/удаление сканов в уже готовый проект.
 
Например начал я сканить книжку (а так и есть). Прогнал то что уже отсканировано. Хочу добавить ещё файлов а НЕ МОГУ. ПРиходится начинать заново.
 
Ну и окошко на старте смотрится нехорошо.
 
Про много кода ясно, я пытаюсь его понять. Многое мне кажется велосипедным, но я отдаю себе отчёт в том что сам бы написал наверное ещё хуже :-D

Всего записей: 27 | Зарегистр. 17-01-2009 | Отправлено: 22:53 17-01-2009 | Исправлено: Arceny, 22:54 17-01-2009
Tulon

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

Цитата:
Ну и окошко на старте смотрится нехорошо.  

А кто говорил, что оно смотриться хорошо?  По хорошему оно должно быть похожим на splash screen - без оконного заголовка, c большим логотипом, со списком недавних проектов.  Типа Nero Smart Start.  А существует оно по двум причинам (более подробно это описано на сайте в разделе "Предложенные улучшения"):
1. Оно удобно, причем и для новичков, и для опытных пользователей.
2. Оно позволило так сказать срезать угол в процессе разработки - считать, что список файлов известен заранее.
 

Цитата:
Например начал я сканить книжку (а так и есть). Прогнал то что уже отсканировано. Хочу добавить ещё файлов а НЕ МОГУ. ПРиходится начинать заново.  

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

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



Newbie
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Да, ошибки, допущенные при проектировании на ранних стадиях потом очень сложно исправлять.... Именно для этого нужно параллельное с кодированием документирование и качественное проектирование разработки на начальном этапе, по крайней мере нас так учили на ТРПО (теория разработки ПО) и я всё больше убеждаюсь, что не зря.
 
Ну, я почитал в ранних страницах темы про Nero Smart Start... Скажу так: я им никогда не пользовался и не понимал, зачем он вообще нужен :-D

Всего записей: 27 | Зарегистр. 17-01-2009 | Отправлено: 00:23 18-01-2009
Tulon

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

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

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

Цитата:
Ну, я почитал в ранних страницах темы про Nero Smart Start... Скажу так: я им никогда не пользовался и не понимал, зачем он вообще нужен :-D

Пока туда не добавили Smart Start, Nero был весьма неудобной программой.  Нужно записать исошку или стереть CD-RW - приходилось искать соответствующие пункты в меню.  А со Smart Start - основные действия как на ладони.

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



Newbie
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Ладно, не буду вдаваться в словоблудие. Теперь о конкретике. Есть файл ...
Левая страница - полезный блок выбран корректно. Правая страница - выбрана вся страница в качестве полезного блока. Видимо алгоритм сводит с ума сильное затемнение разворота, но сосканить иначе - нереально. Следовательно как уже писали на какой-то странице нужен алгоритм нормализации освящённости и только потом выбор полезной области.
 
Как я понимаю, на таких страницах нужно применять алгоритм "смешаный" для получения нормальных "серых" картинок?
 
Явно чувствуется нехватка отключениея/включения сглаживания масштабирования. Например хочется посмотреть на ровность буковок в масштабе 1:1 (писал по почте), но я не могу эту ровность оценить, потому что то сильно увеличиваю, то сильно уменьшаю, а сглаживание скрывает от меня артефакты бинаризации.
Я конечно понимаю что в папке out только что просмотреная картинка уже лежит, но лезть туда и запускать стороннюю программу чтобы быстро посмотреть на результат - банально неудобно.

Всего записей: 27 | Зарегистр. 17-01-2009 | Отправлено: 00:58 18-01-2009 | Исправлено: Arceny, 18:06 18-01-2009
Tulon

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

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

Нормализация освещения уже реализована для вывода, и на этапе Select Content она тоже рано или поздно появится.
 

Цитата:
Как я понимаю, на таких страницах нужно применять алгоритм "смешаный" для получения нормальных "серых" картинок?  

Правильно понимаете.
 

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

А вот сделать отключение сглаживания по хоткею - задача пустяковая.  Можете попробовать реализовать это сами.  Выбор того, какую версию отображать - оригинальную или сглаженную, контролируется простым if'ом в функции paintEvent() в файле ImageViewBase.cpp.  Надо просто добавить в этот класс перехват нажатий клавиш, и при нажатии скажем на Tab выставлять флаг, который запретит антиалиазинг, после чего делать update().  И при отпускании то же самое - только флаг сбрасывается.

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

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

Цитата:
И пока не услышу - пальцем не пошевелю в направлении Picture Zones или автовыделения контуров.

Да я и не имею в виду, чтобы это реализовывать именно в СТ. Разве что в отдалённом будущем. Это я просто сам с собою рассуждаю - как бы ещё дальше развить МРС.
 
Добавлено:
Arceny

Цитата:
нас так учили на ТРПО (теория разработки ПО)

Если Вы занимаетесь программированием - то как Вам идея написания алгоритмов сканобработки? Если Вы заметили, то я уже успел несколько сделать - вот они:
 
http://www.djvu-soft.narod.ru/bookscanlib/project.htm
 
Не хотите ли заняться аналогичным занятием? Для этого достаточно избрать себе какую-нибудь программную библиотеку для работы с растровой графикой - и писать на её базе консольные программы-алгоритмы. Смысл - создать общую для всех библиотеку скан-алгоритмов.

Всего записей: 2841 | Зарегистр. 13-01-2005 | Отправлено: 19:50 18-01-2009
Tulon

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

Цитата:
Если Вы занимаетесь программированием - то как Вам идея написания алгоритмов сканобработки?

Уж лучше пусть прямо над СТ поработает.  Если уж разрабатывать алгоритмы обработки изображений, то не абы какие, а именно те, которые в данный момент нужны.  Например проблема бинаризации в СТ на данный момент полностью решена.  Выравнивание освещения + Otsu дают оптимальный результат.  Я даже планирую убрать выбор алгоритма бинаризации, разве что кто-нибудь представит мне примеры, где другой алгоритм дает лучшие результаты.
 
А вот например сейчас мне не помешал бы алгоритм обнаружения текста.  Особая точность там не требуется.  Нужен он мне для связки с новым алгоритмом выделения рамки контента.  Этот новый алгоритм (его еще нет в SVN) прекрасно справляется с мусором по краям, но так и норовит отрезать заголовок или номер страницы.  Советы вроде погуглить на такую-то тему не принимаются - уже погуглил, много чего нашел, кое-что уже реализовал.

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

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

Цитата:
Если уж разрабатывать алгоритмы обработки изображений, то не абы какие, а именно те, которые в данный момент нужны.  

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

Всего записей: 2841 | Зарегистр. 13-01-2005 | Отправлено: 09:25 19-01-2009
Tulon

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

Цитата:
Потому что в будущем возможны иные альтернативы СК - помимо СТ.

Каждая новая альтернатива, если конечно ей можно пользоваться, уменьшает вероятность появления дальнейших альтернатив, в особенности если эта альтернатива с открытыми исходниками.  Взять например LibTIFF - ужасная гадость, если использовать ее напрямую.  И тем не менее альтернатив с открытыми исходниками ей нет.  Есль всякие обертки, тот же FreeImage например, которые пытаются привести LibTIFF к нормальному API.  Можно многое списать на почтенный возраст этой библиотеки - но факт остается фактом - никто не хочет писать ей альтернативу, потому что проще помучаться некоторое время с LibTIFF, чем написать ей замену.  А вот если бы не появилась эта библиотека в свое время, то уже давно кто-нибудь написал бы нормальную ее реализацию.
В общем не ждите альтернатив СК и СТ.  Создание такой альтернативы требует огромного вложения усилий и времени, и наличие десятка-другого алгоритмов бинаризации, вращения и масштабирования погоды вовсе не сделают.

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

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

Цитата:
если конечно ей можно пользоваться

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

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

Извините - не согласен. Как раз наоборот - иной раз и один-единственный, но удачный алгоритм, способен радикально изменить дело. Пример - BookRestorer - программа нам нужна всего лишь ради 3 алгоритмов.

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

Это сейчас. Но эту ситуацию можно изменить. Нужно просто делать программные компоненты - документированную библиотеку алгоритмов в виде dll и т.п. И тогда проблема создания альтернативы СК сведётся к задаче написания обычной программы - что под силу многим и многим рядовым программистам. Например, представьте, если бы не было библиотеки FreeImage - то не появилась бы DjVu Sep, и Bookscanlib тоже. Конечно, начни я сам городить с нуля аналог FreeImage (которая развивается усилиями десятков людей уже более 6 лет) - то задача создания DjVu Sep выглядела бы колоссально сложной. А так я без особых напрягов за какой-то месяц-другой её нарисовал.
Точно так же будет и с СК-альтернативами.
 
Я уже прямо сейчас мог бы сделать некий "консольный СК" (правда, пока без алгоритмов автообрезки) - с просмотром сканов в стороннем вьювере (просто такая программа не нужна) - ничего особо хитрого нет именно в такой задаче.
 
СК отличается от любой иной обычной самодельной программы именно наличием специфических алгоритмов + специфический графический движок. Соответственно, если под эти "отличия" сделать готовые самодельные хорошо документированные программные компоненты - то задача создания СК сведётся к написанию рядовой компьютерной программы.
 
И вообще - библиотека алгоритмов нужна нам не только ради создания альтернативы СК. Наверняка будут ещё и прочие программы, имеющие дело со сканами - и им могут потребоваться какие-то алгоритмы.
 
Альтернатив СК не было создано до сих пор именно из-за отсутствия вышеупомянутых программных компонентов.
 
Я потому и предлагаю всем желающим поучаствовать в написании библиотеки алгоритмов - потому что эта деятельность доступна (по уровню сложности) практически каждому умеющему программировать, а смысл и эффект получаются общими.
 
Добавлено:
Tulon

Цитата:
В общем не ждите альтернатив СК и СТ.

Есть вроде какая-то ещё альтернатива СК - известная только bolega. Он где-то скриншот выложил - какой-то там "ScanMagic", что ли (или "MagicScan").

Всего записей: 2841 | Зарегистр. 13-01-2005 | Отправлено: 16:10 19-01-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