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

» Scan Tailor

Автор: woodyfon
Дата сообщения: 13.06.2009 02:27

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

Страниц, которые бы не влизали в заданный размер не будет. Это определяется на этапах макетирования страниц и определения полезных областей.
По идее размер выходной страницы определяет именно полезная область. Если взять самые толстую и высокую страницу, то получим максимальный размер конечного вывода страницы. Делаем ее по центру и подводим под нее макеты других страниц.
И еще вопрос, первые 5 этапов зависимые между с обой или нет. Если да, а скорее всего так и есть, можна сделать так, чтобы фиксировать эти этапы как оконченные, тогда при открытии проекта не нужно будет повторять некоторые действия сначала.
Автор: Tulon
Дата сообщения: 13.06.2009 11:10

Цитата:
Страниц, которые бы не влизали в заданный размер не будет. Это определяется на этапах макетирования страниц и определения полезных областей.

То есть вы выбираете желаемый размер вывода на этапе макетирования, и на вывод вас не пустят, пока вы все страницы не уместите в данный размер. Хорошо, тут все ясно. Открытым остается вопрос, зачем такое нужно для e-book'ов?


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

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


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

Этапы естественно зависимые. Например при изменении угла наклона нужно будет пересчитать рамку контента. По этому поводу беспокоиться не надо - есть кэширование результатов работы этапов, и есть проверка актуальности кэша. Например зайдите на этап "Полезная область" - он требует определенного времени на обработку. Теперь перейдите на другую страницу и снова вернитесь на старую. На этот раз "Полезная область" отработала быстро - результат был взят из кэша. Идем на стадию "Коменсация наклона". Там все тоже быстро - потому как закэшировано. Теперь меняем угол наклона и возвращаемся на "Полезная облать". Уже не так быстро - кэш для данной страницы для данного этапа стал недействительным.
Автор: terminat0r
Дата сообщения: 13.06.2009 11:49
Tulon

Цитата:
То есть вы выбираете желаемый размер вывода на этапе макетирования, и на вывод вас не пустят, пока вы все страницы не уместите в данный размер. Хорошо, тут все ясно. Открытым остается вопрос, зачем такое нужно для e-book'ов?

потому-что правила полиграфии и дизайна в интернете тоже еще никто не отменял. Книги с неправильными полями читаются и смотрятся хуже.
Автор: iit512
Дата сообщения: 13.06.2009 23:31

Цитата:
>1. Обработка неравномерно-освещённых сканов
Это уже есть. Для черно-белого и смешанного режима всегда включено, для режима "Цветной / Серый" есть соответствующая галка.

Действительно, есть, хотя в сложных случаях (здесь обсуждался такой) работает не очень.

Цитата:
>2. Устранение кривизны строк и перекоса текста
Сделать сложно, и не так уж часто оно надо,

Надо -- всегда, когда исходные сканы пришли с фотоаппарата, и всегда, когда книга открывалась плохо. Разве этого мало?

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

Ура!!!

Цитата:
OK, сделал чтобы последняя выбранная директория ввода запоминалась, и потом открывалась ее родительская директория.

УРА!

Цитата:
А пока - правьте файл проекта.

Чем и занимаюсь

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

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

Цитата:
Ну допустим сделал бы я задание фиксированного размера вывода. Что в таком случае делать со страницами, не влезающими в этом размер?
Страниц, которые бы не влизали в заданный размер не будет. Это определяется на этапах макетирования страниц и определения полезных областей.

Нет!!! Не надо этого! Как быть с вклейками, картами, поперечными таблицами? С иностранными книгами? (Какие там нафиг ГОСТы?!) С книгами, напечатанными в последние лет 20, когда все плевали на стандарты? Не говоря уже о том, что электронная и печатная книга не есть одно и то же.
А вот по умолчанию на стадии макета сделать верхнее поле побольше -- стОило бы.

Цитата:
Ну хоть что-то приятное услышал - и на том спасибо.

Ну вот, все воспринимают этот топик как bug report/feature request, поэтому и не пишут.
Scan Tailor на сегодняшний момент -- лучшая программа своего класса. Она не только проста в использовании, но и сочетает эффективные графические алгоритмы с тщательно продуманным, действительно практически интуитивным интерфейсом.
Это не просто программа "для начинающих" (хотя да, начинающим ее объяснить легко) -- ST помог мне в случаях, где любая другая обработка была бы в разы более муторной и значительно менее качественной.
Это единственная кроссплатформенная программа для обработки сканов, еще один камушек на весы вопроса "Переходить ли на Linux?".
Скорость развития ST просто потрясающая. Я преклоняюсь перед автором, безо всякой иронии.
ГРОМАДНОЕ СПАСИБО!!!

Автор: woodyfon
Дата сообщения: 13.06.2009 23:36

Цитата:
То есть вы выбираете желаемый размер вывода на этапе макетирования, и на вывод вас не пустят, пока вы все страницы не уместите в данный размер. Хорошо, тут все ясно. Открытым остается вопрос, зачем такое нужно для e-book'ов?

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

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

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

Цитата:
Нет!!! Не надо этого! Как быть с вклейками, картами, поперечными таблицами? С иностранными книгами? (Какие там нафиг ГОСТы?!) С книгами, напечатанными в последние лет 20, когда все плевали на стандарты? Не говоря уже о том, что электронная и печатная книга не есть одно и то же.
Есть руководства по типографике, и там есть исследования, о том, как правильно построить размеры полей (хотите -- дам ссылки), но у нас-то случай другой -- текстовый блок уже фиксирован, надо к нему подбирать поля...
А вот по умолчанию на стадии макета сделать верхнее поле побольше -- стОило бы.

Согласен! Точно я даже не имел ввиду. что в ST можно обрабытывать сканы не только с книг.

А как тогда убрать эти области и уменшить изображение. Рылся, смотрел, но так и не нашел. Кто знает подскажите, плиз.

P.S. Немного знаю Delphi и хотел помочь проекту, когда спрашивал про исходники. могу конечно обучиться с++. но боюсь. что не смогу разобраться в исходниках (привык к delphi). Поэтому как по другому можно помочь проекту, то что не касается программирования. Например, разработка алгоритма и т. д.

Автор: iit512
Дата сообщения: 13.06.2009 23:39

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

Не понял, а почему нельзя было уменьшить полезную область? И нижние поля макета?

Добавлено:

Цитата:
А как тогда убрать эти области и уменшить изображение. Рылся, смотрел, но так и не нашел. Кто знает подскажите, плиз.

Вы не могли бы объяснить чуть подробнее -- что именно надо?
Автор: woodyfon
Дата сообщения: 13.06.2009 23:59

Цитата:
Вы не могли бы объяснить чуть подробнее -- что именно надо?

Вроде, как бы разобрался. Начал делать так.
на этапе макетирования выбираю самую широкую страницу, выставляю поля так , чтобы внешняя сплошная рамка и внешняя пунктирная совпадали. Если требуеться делаю чуть больше. Далее выбираю самую высокую страницу. Далее по аналогии с самой широкой страницей.
iit512, если делаю что-то не так поправьте плиз.
По поводу устранения кривизны строк и перекоса текста:

Цитата:
Сделать сложно, и не так уж часто оно надо

В чем трудности? Могу нарыть инфу как это сделать. Разработать алгоритм.
Автор: Tulon
Дата сообщения: 14.06.2009 04:15
Ну вот, доделал систему отчетов о падениях. Берем отсюда:
http://www.onlinedisk.ru/file/158886/
Оффициального релиза пока не делаю, надеюсь найти и исправить падение до релиза.
Маленькая просьба - не отправляйте отчеты о падениях при вставке нового файла в проект. С ними я ничего поделать пока не могу (ждем новой версии Qt), и они будут только отнимать у меня время.

На накопившееся вопросы завтра отвечу.
Автор: ndch
Дата сообщения: 14.06.2009 08:39
Не запускаеццо! Не работает!

Добавлено:
Приложение не было запущено, поскольку оно некорректно настроено. Повторная установка приложения может решить данную проблему.
Автор: Tulon
Дата сообщения: 14.06.2009 10:13
Директория Microsoft.VC90.CRT в C:\Program Files\Scan Tailor есть?
Автор: ndch
Дата сообщения: 14.06.2009 11:14
ЕСТЬ!
Автор: Arcand
Дата сообщения: 14.06.2009 11:24
У меня запускается и работает
Автор: ndch
Дата сообщения: 14.06.2009 11:45
У меня свежепоставленная винда.

12:44:09,4689800    scantailor.exe    2220    Process Start        SUCCESS    Parent PID: 3336
12:44:09,4689811    scantailor.exe    2220    Thread Create        SUCCESS    Thread ID: 3696
12:44:09,4765759    scantailor.exe    2220    QueryNameInformationFile    C:\BIN\BOOK\096\scantailor.exe    SUCCESS    Name: \BIN\BOOK\096\scantailor.exe
12:44:09,4775277    scantailor.exe    2220    RegOpenKey    HKLM\Software\Microsoft\Windows NT\CurrentVersion    SUCCESS    Desired Access: Read, Maximum Allowed
12:44:09,4776488    scantailor.exe    2220    RegQueryValue    HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SystemRoot    SUCCESS    Type: REG_SZ, Length: 22, Data: C:\WINDOWS
12:44:09,4776796    scantailor.exe    2220    RegCloseKey    HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion    SUCCESS    
12:44:09,4785204    scantailor.exe    2220    Load Image    C:\BIN\BOOK\096\scantailor.exe    SUCCESS    Image Base: 0x400000, Image Size: 0x91e000
12:44:09,4787328    scantailor.exe    2220    Load Image    C:\WINDOWS\system32\ntdll.dll    SUCCESS    Image Base: 0x7c900000, Image Size: 0xb3000
12:44:09,4787550    scantailor.exe    2220    QueryNameInformationFile    C:\BIN\BOOK\096\scantailor.exe    SUCCESS    Name: \BIN\BOOK\096\scantailor.exe
12:44:09,4789923    scantailor.exe    2220    CreateFile    C:\WINDOWS\Prefetch\SCANTAILOR.EXE-232C1C72.pf    NAME NOT FOUND    Desired Access: Generic Read, Disposition: Open, Options: Synchronous IO Non-Alert, Attributes: n/a, ShareMode: None, AllocationSize: n/a
12:44:09,4790682    scantailor.exe    2220    Thread Exit        SUCCESS    Thread ID: 3696, User Time: 0.0000000, Kernel Time: 0.0000000
12:44:09,4791063    scantailor.exe    2220    Process Exit        SUCCESS    Exit Status: -1072365566, User Time: 0.0156250, Kernel Time: 0.0000000, Private Bytes: 159 744, Peak Private Bytes: 163 840, Working Set: 94 208, Peak Working Set: 98 304


Добавлено:
Может ей какой .net надо ?

Добавлено:
build 376

На стадии "полезная область" "не захватывается" номер страницы
Если поправить гамму-захватывается.
Вот бы какую "ручку" чуствительности на стадии полезная область.

http://pic.ipicture.ru/uploads/090614/ZpD4epSKT1.jpg
Автор: Tulon
Дата сообщения: 14.06.2009 12:22
Ну у Arcand понятно почему запускается и работает - он разработчик, и у него видимо стоит VS 2008. Там scantailor.exe и находит .dll'ки, которые ему нужны. Надо конечно разбираться, почему он не хочет подцеплять dll'ки из Microsoft.VC90.CRT. Причем не то чтобы он их совсем не видит - тогда бы он сказал "не найдена DLL". Он их походу видит, но все равно грузить не хочет.

В общем если сильно хочется запустить, попробуйте два варианта:
1. Скопировать файлы из Microsoft.VC90.CRT на один уровень выше, то есть туда, где лежит scantailor.exe.
2. Установить вот это: http://www.microsoft.com/downloads/details.aspx?FamilyID=9b2da534-3e03-4391-8a4d-074b9f2bc1bf&displaylang=en
Собственно директория Microsoft.VC90.CRT как раз и существует для того, чтобы не надо было ставить эту фигню.

Рано или поздно проблема будет конечно решена.

Добавлено:

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

Тут сразу несколько проблем. Верхняя область не попадает в рамку потому что:
1. ST плохо обрабатывает светлый текст на темном фоне.
2. Темный фон касается края страницы.

Нижняя строка не попадает потому, что кроме номера страницы там есть еще текст, который очень бледный, тонкий, да еще и jpeg сжатие - и как результат - после бинаризации буквы раcпадаются на фрагменты. Фрагменты не образуют достаточного количества углублений, и в результате эта строка вообще не определяется как текст, что увеличивает ее шансы быть отрезаной.
Автор: Arcand
Дата сообщения: 14.06.2009 12:49
Tulon
Цитата:
и у него видимо стоит VS 2008
Стоит. Дилетанское предположение - может дллки надо зарегистрировать?
Автор: Tulon
Дата сообщения: 14.06.2009 13:02

Цитата:
Стоит. Дилетанское предположение - может дллки надо зарегистрировать?

Эти не нужно - он их сам должен подцеплять по идее. И ведь все делаю по инструкции Microsoft'а. Причем диагностировать такую фигню на машине, где стоит VS 2008 практически невозможно.
Автор: ndch
Дата сообщения: 14.06.2009 14:23
Заработало!

http://download.microsoft.com/download/0/5/c/05c912c6-ba17-4909-9371-cad89bd8dcef/vcredist_x86.exe

Добавлено:
Tulon

Цитата:
он их сам должен подцеплять по идее


Я ведь выше лог Process Monitor-а приводил.
Никакие dll не цепляет, а потом происходит
scantailor.exe 2220 Thread Exit


С установленым [#] Microsoft Visual C++ 2008 Redistributable Package - установка [#]
Thread Exit не происходит, программа продолжает работу.
Автор: woodyfon
Дата сообщения: 14.06.2009 17:54
А какой метод бинаризации используется в ST?
Какой метод сегментирования изображения используется при определении полезной области?
Tulon, а в ближайшем времени устранение кривизны строк не предвидится вообще?
Автор: anagnost96
Дата сообщения: 15.06.2009 00:55
Хотел бы тоже высказаться в поддержку того, чтобы можно было задать фиксированный размер вывода, причем не только в миллиметрах, но и в пикселях. Дело в том, что при кодировании в djvu рекомендуется делать размеры страниц кратными двенадцати, а при нынешней системе этого добиться, ясное дело, практически невозможно.

А что до страниц, не влезающих в заданную рамку, то с ними, по-моему, всё просто: либо пользователь их найдет и задаст для них другие размеры, либо пусть обрезаются нафиг.
Автор: Tulon
Дата сообщения: 15.06.2009 23:21
Последние новости:
Понял кое-что из того, почему не хотят подцепляться Microsoft'овские DLLки. Оказалось что компилятор генерирует код, который требует рантайм библиотеки версии 9.0.21022.8, а те, что лежат в папке redist и предназначены как раз для распространения вместе с приложением, имеют версию 9.0.30729.1
И хотя имеется более поздняя версия чем требуется, все равно загружаться она отказывается. Если открыть .manifest файл в директории Microsoft.VC90.CRT и заменить одну версию на другую - все заработает. Короче виноват как всегда Microsoft
Буду искать альтернативные способы решения этой проблемы.

Хотя сборка с обработчиком падений из коробки и не работает, два краш репорта я все же получил. И там и там упало в одном и том же месте, но вот облом - трассировка стека неполная - всего четыре уровня. И все 4 уровня - Qt'шный код отрисовки, так что даже не понятно, из какого места в Scan Tailor'е этот код был вызван. В других тредах трассировка полная. Походу Microsoft'овский компилятор сгенерировал такой хитрожопый код, в котором Google'овский обработчик падений не разобрался. Надо будет попробовать с отключенными оптимизациями собрать.

У меня инет временами вырубается (блин, в Литве инет работал и стабильнее и быстрее!), так что я не успеваю ответить всем на все вопросы. Если сейчас начну отвечать, сегодня ни строчки кода уже не напишу
Автор: iit512
Дата сообщения: 16.06.2009 05:10
Последние сборки (375 и 376) позволяют поменять разрешение вывода для группы файлов, но не позволяют поменять разрешение для текущего файла.
Автор: Jenyay
Дата сообщения: 16.06.2009 10:04
Tulon

Цитата:
Понял кое-что из того, почему не хотят подцепляться Microsoft'овские DLLки. Оказалось что компилятор генерирует код, который требует рантайм библиотеки версии 9.0.21022.8, а те, что лежат в папке redist и предназначены как раз для распространения вместе с приложением, имеют версию 9.0.30729.1


Попробуй из манифеста удалить параметры publicKeyToken. Вот здесь есть кое-что по этому поводу на английском.
Автор: ndch
Дата сообщения: 16.06.2009 18:04
Вот две картинки, очень похожие.
Не пойму почему в одной из них отберезается верхушка, а в другой нет.
Махинация с гаммой на результат не влияет.

http://ipicture.ru/uploads/090616/CaDDEXhRpT.jpg
http://ipicture.ru/uploads/090616/H23xRP6E57.jpg

Может быть всё же добавить "крутилки" агрессивности, раз на автомате не получается ?
Автор: ndch
Дата сообщения: 16.06.2009 20:56
И снова.
Можно ли сделать кроп специально предназначеный для журналов, т.е:
На этапе "полезная область" создавать по центру область фиксированного размера.
Без возможности изменения размеров области, но с возможностью перемещать область правой кнопкой мыши.

Очень полезно для журналов!!!

Добавлено:
Для обработки журналов фиксированная область с возможностью премещения гораздо полезнее чем интеллектуальное распознавание области предполагаемого контента.

Очень нужен такой режим !
Автор: Tulon
Дата сообщения: 16.06.2009 23:43
ndch

Насчет фиксированной рамки контента - в отдаленных планах такое есть (даже есть на сайте в предложенных улучшениях), но приоритет тут не высокий.

Насчет ваших двух примеров:
на самом деле и там и там верхняя область обрезалась, просто в одном случае рамка контента зацепилась за черную рамку, а в другом - нет. Не знаю почему - видимо расстояние от рамки до текста очень близко к пороговому значению. А почему самая верхняя часть не попала в рамку - тут все ясно. Темные картинки ST принимает за тень, светлые пропадают при бинаризации. А если картинка касается края страницы - тогда вообще без шансов. Кстати спрашивали тут насчет метода бинаризации. Отвечаю:
На разных этапах используются разные методы.
Этап разрезки страниц вообще обходится без бинаризации, если удается найти линию сгиба. Если нет - бинаризация Otsu.
Этап компенсации наклона - тоже Otsu. То, что тень от сгиба может стать полностью черной - это даже хорошо. В этой области текст все равно кривой - лучше его совсем не учитывать.
Этап выделения контента - бинаризация по методу Wolf'а. Текст получается жирным, что лучше, чем если бы буквы распадались на сегменты; тени становятся белыми. Качество бинаризации неважное, но это же не для вывода, а просто для нахождения этой самой рамки.
Этап вывода - выравнивание освещения + Otsu. Тут упор на качество. Вы спросите, почему бы не использовать этот метод и на остальных этапах? Потому, что выравнивание освещения работает хорошо только если известна рамка контента. Алгоритм выравнивания освещения собственный, но основанный на известных методах.

Добавлено:
Jenyay


Цитата:
Попробуй из манифеста удалить параметры publicKeyToken. Вот здесь есть кое-что по этому поводу на английском.

Можно и так наверное, но такое вроде как нарушает условия распространия Microsoft'овских redistributables. Там написано, что их можно распространять только в неизменном виде, и даже переименовывать папку Microsoft.VC90.CRT запрещают.
Нашел два других способа:
1. Пересобрать прогу и все зависимости с дефайном _BIND_TO_CURRENT_VCLIBS_VERSION=1
Сейчас пытаюсь как раз это и сделать. В результате получил зависимости от обоих версий. Видимо где-то что-то без этого флага пролезло. И ведь фиг найдешь где.
2. Положить файл scantailor.exe.config рядом со scantailor.exe, и там прописать редирект с одной версии на другую. Способ плох тем, что полагается на конкретные версии. Собираете с другой версией Visual Studio? Придется узнавать и прописывать уже другие версии.
Автор: iit512
Дата сообщения: 17.06.2009 00:40

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

Вот, я практически о том же все время говорю. ndch, поднимем приоритет?
Автор: anagnost96
Дата сообщения: 17.06.2009 00:49
А может быть, проще так будет сделать: где-нибудь на видном месте отображать максимальную ширину и высоту рамки контента в пикселях, а поля разрешить задавать тоже в пикселях. Тогда при необходимости легко будет подогнать файл под нужные размеры.
Автор: Tulon
Дата сообщения: 19.06.2009 01:29
Новая сборка:
http://www.onlinedisk.ru/file/162525/
По идее должны быть решены проблемы с DLL'ками, а также отключил часть оптимизаций, в нажежде получить нормальный краш репорт.
Автор: dabudada
Дата сообщения: 19.06.2009 12:09

Цитата:
Видел и одобряю. Может стоило побольше удачных моментов показать, чтобы уравновесить неудачные, но что есть, то есть.
Пара моментов:
1. С падением при вставке файлов в проект ничего поделать не могу - надо ждать новой версии Qt.
2. Не понял, почему неправлильно определилась линия разреза на первых сканах. Хотелось бы увидеть исходный файл.


Вот та самая страница:
http://www.onlinedisk.ru/file/162606/
Оговорку в начале урока о том, что мною специально подобраны только неудачные моменты я сделал. Спасибо за программу, кстати.
Воспользуясь моментом хотелось бы поинтересоваться: в какой версии (какие сроки) будет реализована возможность выделять определенные области как картинки, т.е. делать sep-файлы (извиняюсь, если неправильно применяю терминологию)?
Автор: Arcand
Дата сообщения: 19.06.2009 12:23

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

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172

Предыдущая тема: Невозможно установить Acronis True Image Home v10.0.4940


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