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

» Scan Tailor: Часть 2

Автор: FedorSumkins2009
Дата сообщения: 25.06.2010 16:42
интересный баг. есть скан книги в djvu разворотами, надо разделить пополам сие хозяйство и собрать обратно. в оригинале текст почти не читаемый- мелковато. делим scantailor выдранные из файла страницы- предварительный просмотр идет нормально, на выходе разделение сдвинуто резко вправо. размер отдельных страниц немного отличается друг от друга. делил потом в finereader- там все прекрасно разбилось надвое.
Автор: StanFreeWare
Дата сообщения: 25.06.2010 16:48
FedorSumkins2009
просто делить развороты в СТ нельзя. В процесс вмешается логика корректировки наклона и определения полезной области.
Автор: FedorSumkins2009
Дата сообщения: 25.06.2010 17:08

StanFreeWare
так я вроде все настраивал, задавал параметры, ставил настройки ручками, в итоге все равно косяк получается. так что не режет оно кривые сканы, хоть убейся.
Автор: monday2000
Дата сообщения: 26.06.2010 14:37
woodyfon

Цитата:
в них разбираться больше, чем самому написать.

Тогда напишите (dewarping).
Автор: woodyfon
Дата сообщения: 26.06.2010 16:10
А смысл писать, если в st tulon алгоритм не добавит?
Никто не знает по какому алгоритму происходит бинаризация? Используется ли метод Ниблэка.
monday2000, если поможите можно и начать реализовывать в коде.
Автор: denver 22
Дата сообщения: 28.06.2010 05:27
Скачиваем с сайта новую версию 0.9.9.1
Автор: monday2000
Дата сообщения: 28.06.2010 08:03
woodyfon

Цитата:
А смысл писать, если в st tulon алгоритм не добавит?

А на Tulon свет клином не сошёлся. Пусть такой алгоритм просто будет - в доступной для всех желающих форме (в виде консольного приложения на языке Си).

Цитата:
Никто не знает по какому алгоритму происходит бинаризация? Используется ли метод Ниблэка.

Можно перепробовать разные алгоритмы бинаризации. У меня их целая куча тут: http://www.djvu-soft.narod.ru/bookscanlib/project.htm .

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

А что мне нужно делать, как помочь?
Автор: U235
Дата сообщения: 28.06.2010 12:08
woodyfon

Цитата:
Используется ли метод Ниблэка.

Нет, использутся другие методы, см.:
http://scantailor.git.sourceforge.net/git/gitweb.cgi?p=scantailor/scantailor;a=blob;f=imageproc/Binarize.h;h=fa6db7d532b048e3d3b1fc18f6db7fbfd2b89e9b;hb=fe525fe76e627b984503ec94027b5b06a479f1cd
Автор: woodyfon
Дата сообщения: 28.06.2010 15:01

Цитата:
А что мне нужно делать, как помочь?

Предоставление инфы (четко описанный алгоритм), перевод статей с англ, языка. С мат. частью проблем не будет.

Цитата:
А на Tulon свет клином не сошёлся. Пусть такой алгоритм просто будет - в доступной для всех желающих форме (в виде консольного приложения на языке Си).

Лучше конечно GUI
Насчитал 4 метода бинаризации для различных видов вывода конечной картинки. Для простого вывода (в черно-белый) используется метод Отцу или Sauvola?
Думаю, нужно использовать метод Sauvola Thresholding, который более гибкий.
Однако, если для алгоритм dewarp предварительно применять сразу бинаризацию, результата не будет. Поэтому также требуется и алгоритм выравнивания освещения.
Автор: monday2000
Дата сообщения: 28.06.2010 18:00
woodyfon

Цитата:
Предоставление инфы (четко описанный алгоритм), перевод статей с англ, языка.

Ну, знаете ли, после этого уже проще будет самому сделать всё.
Может, Вам лучше с U235 скооперироваться, чем со мной?

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

Ай, да не всё ли равно? Можно на пробу и тот и другой - какая проблема.
Автор: woodyfon
Дата сообщения: 28.06.2010 19:07
monday2000, ваша проблема в том, что вы можете дать идею, но реализовать один вы не сможете. Тогда делайте все сами, что мешает?
Автор: monday2000
Дата сообщения: 29.06.2010 09:43
scantailor-osx

The opensource Scan Tailor App pre-compiled for OSX

http://code.google.com/p/scantailor-osx/

Добавлено:
Одно из слабых мест Scan Tailor - это бинаризация.

На некоторых сканах в DjVu буквы получаются слишком истончённые. Например, на старых советских книгах, пожелтевших и плохо-пропечатанных (годов этак 1965).

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

Поэтому, по-видимому, идеальным вариантом было бы (в таких проблемных случаях) всё-таки увеличивать порог бинаризации, но научиться как-то по-особенному хитро (ценой малых усилий) вычищать вылезшую грязь. Я имею в виду даже не традиционный despeckle, нет, тут потребуется некий принципиально иной по принципу алгоритм "очищения от грязи". Такого алгоритма пока нет. Как вариант - делать OCR, и вычищать всё пространство за пределами букв (всё равно же OCR делать по-любому).

Добавлено:
Хотя, быть может, тут возможны иные подходы - скажем, какая-то особо хитрая обработка серых сканов. К примеру, в СК есть такая фича, как "Background cleaner". То есть очиститель фона на серых сканах. Под фоном тут, наверное, как раз и понимается вне-буквенное пространство на серых сканах. А "очистка" этого фона - видимо, нечто вроде подавления шума этого фона.

Действительно, если заранее суметь подавить шум фона (сделать фон более однородно-серым) - то тогда при последующей бинаризации можно и вправду немного завысить порог бинаризации - и пятна бинаризации не полезут (или гораздо меньше полезут).

Интересно, что же такое есть "Background cleaner" в СК? Наверное, что-то вроде селективной шумодавилки.

Правда, минус тут в том, что все шумодавы очень много пожирают ресурсов.
Автор: woodyfon
Дата сообщения: 29.06.2010 10:22
Для устранения мусора можно применять сглаживающий фильтр.
monday2000, ну что скооперируемся? Я же не прошу искать всю информацию, заново переписівать статьи на англ.языке. Я тоже буду переводить, искать, пробовать.
Автор: monday2000
Дата сообщения: 29.06.2010 13:45
woodyfon

Цитата:
ну что скооперируемся?

Мне не до этого пока.
Автор: woodyfon
Дата сообщения: 29.06.2010 19:09
monday2000, давайте идти маленькими шажками.
Собственно интересует следующие алгоритмы:
1. Выравнивание освещения (в ST есть алгоритм выравнивания освещения, но он глобальный, и мне кажется сделан просто на изменении общей яркости для всего изображения; если не прав - поправьте).
2. Метод бинаризации (Отцу, Саувола).
Интересует алгоритмы в виде подробных статей.
Автор: monday2000
Дата сообщения: 30.06.2010 08:06
woodyfon

Цитата:
1. Выравнивание освещения

http://www.djvu-soft.narod.ru/bookscanlib/016.htm

Цитата:
Отцу

http://www.djvu-soft.narod.ru/bookscanlib/023.htm

Цитата:
Саувола

http://www.djvu-soft.narod.ru/bookscanlib/024.htm
http://www.djvu-soft.narod.ru/bookscanlib/025.htm
Автор: woodyfon
Дата сообщения: 30.06.2010 12:51
Эти статьи читал уже неоднократно. В них очень скупо описана теоретическая часть, а исходный код, такое ощущение, просто выдран откуда-то с небольшими изменениями. Я не люблю браться за практ часть, полностью не разобравшись в теории.
monday2000, вместо того, чтобы решать несколько локальных задач, лучше решить одну комплексную. В результате работы появится теор. часть и углубление в материал.
Автор: monday2000
Дата сообщения: 01.07.2010 11:05
woodyfon

Цитата:
Я не люблю браться за практ часть, полностью не разобравшись в теории.

Вот Вам теория:
http://halfbakedmaker.org/2010/02/27/dewarping-pages/
Вот исходники:
http://diybookscanner.org/forum/viewtopic.php?f=3&t=110&p=1958&hilit=dewarp#p1958
Автор: monday2000
Дата сообщения: 07.07.2010 09:38
Рамиз Зейналов прислал мне сегодня исходные коды своего алгоритма Dewarping.

Подробнее см. http://www.djvu-scan.ru/forum/index.php?topic=61.0
Автор: ycheff
Дата сообщения: 08.07.2010 18:56
Столкнулся с такой проблемой в Скан Тейлоре:
часть страниц нужно разрезать стандартно вертикальным резаком,
часть страниц нельзя резать, но появляется проблема чистки средней вертикальной полосы грязи и проблема раздельного поворота каждого из разворотов,
часть страниц надо повернуть на 90 градусов и потом резать, но горизонтальным резаком (а такого нет в Скан Тейлоре).

Грязь в середине вычистил вручную, проблема с раздельными поворотами осталась.
Без горизонтального резака пришлось в книге оставить страницы повернутыми на 90 градусов.
Подскажите, как эффективнее действовать в такой ситуации. Книга - справочник с таблицами.
Автор: j52
Дата сообщения: 08.07.2010 19:49
ycheff
Лично я пользуюсь прогой XnView - бесплатная, мультиязычная, есть режимы пакетной обработки. С помощью ее делаю предварительную обработку сканов - групповое выставление нужных размеров, DPI, е.нужно, поворот страниц.
Думаю, что лучше будет обработать все, как есть, СТ, с нормальной вертикальной разрезкой на страницы, очисткой и т.д., а потом, е.нужно!, развернуть с помощью XnView.
Интересно, как ты потом собираешься объединять горизонтальные и вертикальные страницы?
Автор: ycheff
Дата сообщения: 08.07.2010 20:36
j52
Вот тут я выложил книгу (как сумел обработать):
http://chemistry-chemists.com/forum/viewtopic.php?p=9453#p9453
Автор: j52
Дата сообщения: 08.07.2010 21:50
ycheff
Гм..Ну, получилось то, на что я намекал в своем вопросе - при склейке одностраничных и двухстраничных листов одни листы получились большими а другие непропорционально маленькими. И даже одностраничные листы имеют разный размер. Как по-мне - очень "рябит".
Именно против этого я использую XnView... Попробую на основе твоего файла сделать небольшой примерчик, где-то через час... выложу.
ЗЫ. А распознавание текста чем делал?
Автор: ycheff
Дата сообщения: 08.07.2010 21:53
Fine Reader 8.0
Автор: j52
Дата сообщения: 08.07.2010 22:41
ycheff
Ну вот
Ссылка
XnView
Взял 16 листов, стр.1,2 приведены к среднему размеру,
стр.1-уменьшена, а стр.2-изменение размера холста (т.е.без масштабирования)
Затем стр.1-10: пакетное преобразование - 300dpi, размер 1200x1600,
стр.11-16: пакетное преобразование - 300dpi, соотв.размер 2400x1600.
Затем СканТейлор - с разрезкой стр.11-16 и .т.д. -полный цикл.
И сборка.

А про распознавание я спрашивал потому-что DocumentExpressEditor тоже делает OCR, но довольно отвратно, Fine Reader действительно лучше...
Автор: ycheff
Дата сообщения: 09.07.2010 06:15
j52
Спасибо, попробую поработать с выравниванием размеров страниц.
Этим пока не занимался.
Автор: StanFreeWare
Дата сообщения: 09.07.2010 07:01
ycheff
Будьте поаккуратнее с полями. На первый взгляд верхнее поле явно получилось маловато. А для обложки поля вообще лишние, см. пп. 7,8,11

А разрезать страницы можно (и нужно - для полной компенсации наклона) всегда - специально для этого случая в любом просмотрщике есть функция просмотра развотами.
Автор: j52
Дата сообщения: 09.07.2010 14:58
ycheff
Е.нужна помощь в настройках XnView могу подкинуть скриншоты насторек...
Автор: ycheff
Дата сообщения: 10.07.2010 10:26
j52
Да, хорошо бы скриншотик. Спасибо.

В Ваших 16 страницах порезана Таблица 1, которую резать нельзя.
Именно поэтому я ее оставил нерезанной - в порезанном виде пользоваться таблицей сложно - надо искать продолжение на следующей странице.
Данная книга - не есть пример случая, когда надо выравнивать страницы, в других книгах конечно это теперь освою.
Может быть, стоило порезать, потом повернуть для компенсации наклонов, скомпенсировать вертикальное сползание в паре страниц разворота и склеить снова в единую страницу. Но такой программы не знаю, а вручную долго делать.
Автор: alpopo
Дата сообщения: 10.07.2010 13:19
ycheff

Цитата:
скомпенсировать вертикальное сползание в паре страниц разворота и склеить снова в единую страницу

Вертикального сползания не может быть, т. к. если выбрали выравнивание страницы по верней границе, она будет везде одинаковой.
Обычно я смотрю djvu сразу по две страницы. Чтобы неразрывную таблицу видеть всю ( на двух разворотах) иногда приходится вставить пустую страницу, или поменять местами (изменив номер) с соседней, чтобы две страницы таблицы пришлись на разворот. И еще стараюсь, чтобы на развороте номера страниц были по краям, как у настоящей книги.

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061

Предыдущая тема: CmCkA v4


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