Автор Тема: Обработка сканов детской книги  (Прочитано 25930 раз)

monday2000

  • Администратор
  • *****
  • Сообщений: 985
    • AOL клиент - -
    • Yahoo клиент - -
    • Просмотр профиля
    • Создание книг в электронном виде из бумажных книг (в формате DjVu)
    • E-mail
Обработка сканов детской книги
« : 15 °ЯаХЫм 2010, 12:51:11 »
Ко мне обратились по электронной почте с просьбой помочь задежавючить сканы детской книги.

Прислали образцы сканов - вот они (в JPG, чтобы снизить размер):


   
   

Всего 3 скана, все вместе тут: http://ifolder.ru/17301841  (4,14 МБ)

Полновесная версия сканов тут:
http://ifolder.ru/17286002  (65,3 МБ - 3 скана)

Задача ставится так:
Как относительно малоквалифицированному пользователю наиболее просто сделать DjVu-книгу из таких сканов?

Как видно, сканы - цветные. Обработка цветных сканов в общем случае более сложна, чем чёрно-белых или серых.

Однако, данный случай, как видно, вполне укладывается в метод разделённых сканов http://www.djvu-soft.narod.ru/scan/low_color_djvu.htm (потому что, в основном, чёткопрофильные объекты (текст, линии, рамки) не находятся на фоне мягкопрофильных объектов (иллюстраций, цветного фона) - а отделены от них промежутками белого пространства. Единственное исключение - чёрный текст на жёлтых полукругах, но такие объекты можно отправить целиком в фон будущего DjVu, т.к. там текст достаточно крупный, чёткий (не слишком размажется в фоне), и не несущий большой смысловой нагрузки).

Таким образом, сканобработка и дежавючение данных сканов не представляет особых трудностей.

Я на пробу обработал и задежавючил эти образцы. Вот что получилось:

http://ifolder.ru/17303433  (80 КБ)

Теперь о том, как я это сделал.

Использовались следующие программы:

1. ScanTailor-anagnost96 (STA) http://djvu-soft0001.nxt.ru/scantailor_0_9_7_1_anagnost96.rar  (6,3 МБ)
2. ScanKromsator v5.92 Full http://www.djvu-soft.narod.ru/soft/basic.htm
3. DjVu Small v0.4.2 http://www.djvu-soft.narod.ru/soft/basic.htm
4. DjVu Imager v2.5 http://www.djvu-soft.narod.ru/soft/basic.htm
5. WinDjView v1.0 noyb http://www.djvu-soft.narod.ru/soft/basic.htm
6. DjVu Pal v1.1 http://www.djvu-soft.narod.ru/soft/djvu_pal_v1_1.rar  (472 КБ)

Порядок обработки

1. Обрабатываем сканы при помощи ScanTailor-anagnost96 (STA), используя руководство http://www.djvu-soft.narod.ru/st_index.htm .
На стадии "Вывод" выделяем вручную те зоны картинок, которые не смогли правильно авто-определиться http://www.djvu-soft.narod.ru/st_zones.htm .

На стадии "Вывод" ставим Режим - Смешанный - Только текст (в выпадающих списках) и запускаем обработку (выбираем режим Применить к ... - Ко всем страницам и жмём кнопку стадии "Вывод" ).

Должно получиться примерно так:



ВАЖНО: после завершения вывода копируем полученную папку out с обработанными сканами куда-нибудь в другое место на диске и переименовываем её (чисто для удобства), скажем, в "out1".

Теперь На стадии "Вывод" ставим Режим - Смешанный - Только изображения (в выпадающих списках) и запускаем обработку. Должно получиться примерно так:



ВАЖНО: после завершения вывода копируем полученную папку out с обработанными сканами куда-нибудь в другое место на диске и переименовываем её (чисто для удобства), скажем, в "out2".

Закрываем СТА - больше он нам не потребуется.

Вывод: мы получили т.н. субсканы переднего плана (текст) - в папке out1 и субсканы заднего фона (иллюстрации)  - в папке out2 - для нижеследующего метода разделённых сканов.

2. Используем ScanKromsator v5.92 (СК) для размытия растра иллюстраций.

Запускаем СК. Загружаем иллюстрации из папки out2. Жмём кнопку "Сбросить все опции и отмаркировать все файлы"


Выбираем вкладку Quality. Нажимаем на клавиатуре Ctrl и, не отпуская его, ставим галку "Enhance image". На вопрос "Apply option to marked files?" нажимаем "Да". Нажимаем на кнопку "Gray enhance" (на вкладке Quality). Выбираем вкладку "Blur". Ставим Gauss blur = 7 (для таких грубых иллюстраций пойдёт). Удерживая Ctrl, выбираем там же флажок "Enable". Жмём кнопку Process! и ждём, пока все сканы не обработаются. Закрываем программу. Результат будет в подпапке out папки out2. :) Папку out2 можно убрать (в архив или удалить) - а папку out из СК сделать вместо неё папкой out2.

Вывод: размытие растра применяется исключительно ради снижения размера будущего DjVu-файла. В принципе, его можно и не делать вообще - либо делать в какой-либо иной, более вменяемой программе, нежели чем ScanKromsator. (Подойдёт любая такая, где есть пакетное размытие типа гауссового Gauss Blur).

3. Используем DjVu Small v0.4.2 для создания т.н. DjVu-заготовки - т.е. дежавючим сканы из папки out1 - с профилем User B/W (600 dpi). Тут всё просто.

Вывод: Мы должны получить DjVu-книгу, содержащую только чёрно-белый текст, и "пропуски" (белые бельма) на месте иллюстраций.

4. Используем DjVu Imager v2.5 для вставки иллюстраций из папки out2 в DjVu-заготовку, полученную в предыдущем пункте. Как пользоваться DjVu Imager - см. тут http://www.djvu-soft.narod.ru/scan/djvu_imager.htm и, если что непонятно, спрашивайте тут: http://www.djvu-scan.ru/forum/index.php?topic=14.0 . Это тоже не особо сложно.

Кстати, при кодировании иллюстраций в DjVu Imager v2.5 я задал опции ДЗФ=5 и Качество задн. фона = 25. Это важно - без этого размер получаемой DjVu-книги будет неоправданно завышен.

Вывод: DjVu-книга готова в общих чертах. Остались некоторые детали.

5. Используем WinDjView v1.0 noyb и DjVu Pal v1.1 для раскраски цветного текста, который встретился на сканах. На 2-м скане был заголовок малинового цвета "Карусельки". В нашей DjVu-книге эта надпись получилась чёрно-белой - так что теперь её надо раскрасить в малиновый цвет - прямо в DjVu-книге. Это можно сделать при помощи связки WinDjView v1.0 и выше и DjVu Pal v1.1.

Программа DjVu Pal v1.1 имеет встроенную помощь, где достаточно подробно расписано, как ею пользоваться. Пользоваться ею исключительно просто. Правда, есть один сложный момент - выбор цвета текста, которым закрашивать текст. Пока что это нужно делать вручную, "на глазок". Вот скриншоты, показывающие, как я выбирал цвет закрашивания текста в WinDjView v1.0:


   
   

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

6. Теперь, если будет желание, можно вставить в готовую DjVu-книгу OCR-слой (http://www.djvu-soft.narod.ru/scan/scan_and_share_1_07.htm пункт 5) , гиперссылочное оглавление (DjVu Hyperlinks Editor v0.781 http://www.djvu-soft.narod.ru/soft/basic.htm ), и дерево-оглавление (http://www.djvu-scan.ru/forum/index.php?topic=18.0 ).

Однако, это легко сможет сделать кто-нибудь другой - скачав Вашу DjVu-книгу из Интернета - когда Вы её туда выложите.

Кстати - не забудьте выложить полностью готовую книгу в Интернет. Удобнее всего закачать её на файлообменник ifolder.ru (там файлы хранятся вечно - даже если их никто не скачивает - только на том файлообменнике, кажется, требуется регистрация для закачки туда файлов), а полученную ссылку выложить куда-нибудь на тематический Интернет-форум.

Надо делиться друг с другом полученной продукцией - тем более, что при закачке исходящий ADSL-трафик не тарифицируется и не оплачивается абонентом.

Мелкие советы:

- При сканировании хорошенько прижимайте книгу к стеклу сканера - но не раздавите стекло.
- Отсканировав всю книгу - проверьте комплектность полученных сканов. Многие этого не делают - и получаются в итоге DjVu-книги с пропущенными страницами (исходной бумажной книги).
- В данном описании наиболее сложными являются пункты 1 и 2 - использование СТА и СК. Как уже говорилось, вместо СК можно использовать многие другие программы - PhotoShop, Corel PHOTO-PAINT, WiseBook 2, G'MIC, даже Irfan View можно попробовать.

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

1. Imagenomic.Noiseware.Professional
2. Neat Image
3. PictureCode Noise Ninja

Подробнее см. http://natahaus.info/forums/showthread.php?t=6055 .

Вместо СТА можно применить СК - но это хуже, т.к. в СК нет авто-распознавания зон http://www.djvu-soft.narod.ru/st_zones.htm .

Можно упростить работу с СТА (чтобы не нужно было делать папки out1 и out2) - если воспользоваться программой Separator http://tinyurl.com/ycvm85z от 57an - но 57an не сделал к ней инструкции, да ещё там требуется пакет .NET для работы - так что я не могу такой вариант советовать.

P.S. Может, кто из участников форума что-нибудь ещё посоветует - по поводу обработки таких сканов.

Я надеюсь, что в будущем вся эта технология (которую я тут обрисовал) будет упрощаться - по мере развития DjVu-книгосканировочных программ.
« Последнее редактирование: 15 °ЯаХЫм 2010, 13:33:35 от monday2000 »

57an

  • Постоялец
  • ***
  • Сообщений: 201
    • Просмотр профиля
    • Djvu Bookmarker on SF.net
Re: Обработка сканов детской книги
« Ответ #1 : 15 °ЯаХЫм 2010, 13:57:04 »
Самую большую проблему при обработке данной книги представляет желтое восходящее солнце вокруг номера страницы.

Стадия полезная область:
СТ определяет нижний край полезной области по нижнему краю цифр номера страницы. Поэтому на каждой странице книги придется поправлять его, растягивая до нижней границы страницы.
http://www.onlinedisk.ru/image/407467/workplace.jpg

Стадия вывод:
СТ не определяет желтое солнце как автозону (т.к. оно имеет нерастровую природу).
http://www.onlinedisk.ru/edit_image/407468/
Если еще и обводить солнце автозоной на каждой странице книги - то можно вообще потерять интерес к djvu-строению.

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

Сделать вывод одной страницы в режиме цветной/вывод, оставить на результате только солнце на белом фоне (залить даже номер на нем в цвет солнца).

Затем можно пакетно наложить это солнце на страницы в папке pic (после размытия в СК) - тогда солнце окажется в слое background.
Можно наложить солнце на страницы в папке txt. Тогда, если собрать djvu с помощью FSD получим солнце в слое foreground и немного меньший размер файла.

Для такого наложения, конечно, потребуются некоторые навыки работы со слоями во взрослых растровых редакторах (допускающих пакетную обработку).

Кроме того, попытаться исправить погрешности определения автозон  в СТ - автоматически обвести их прямоугольными пользовательскими зонами - можно с помощью утилиты ST Outliner (но она использует LINQ для работы с XML и посему требует аж .NET 3.5).
« Последнее редактирование: 15 °ЯаХЫм 2010, 13:59:50 от 57an »

monday2000

  • Администратор
  • *****
  • Сообщений: 985
    • AOL клиент - -
    • Yahoo клиент - -
    • Просмотр профиля
    • Создание книг в электронном виде из бумажных книг (в формате DjVu)
    • E-mail
Re: Обработка сканов детской книги
« Ответ #2 : 15 °ЯаХЫм 2010, 14:28:48 »
57an
Цитировать
Если еще и обводить солнце автозоной на каждой странице книги - то можно вообще потерять интерес к djvu-строению.
Т.е. ручной зоной? Да, не очень-то удобно. Но по-другому пока никак. Кстати, в СК такая же проблема возникала. Решение было найдено такое, чтобы запоминать форму выделения в буфер обмена - и потом вставлять на последующих страницах.
Цитировать
автоматически обвести их прямоугольными пользовательскими зонами
Скорее, тут бы круглыми подошло - если бы они существовали. :)
Цитировать
Скорее всего решение лежит в том, чтобы оставить полезную область такой, какая она определена на автомате СТ, при этом поправить нижнее поле макета страницы, чтобы оно включало оставшуюся часть солнца.
Не уверен. А как насчёт грязи, прилегающей к нижней кромке страницы? Она может помешать. Да и автоопределённая полезная область может где-то сильно лажануть. В принципе, не так уж сложно пройтись вручную по всем сканам, и вручную чуть подправить полезную область.
Цитировать
(залить даже номер на нем в цвет солнца).
Это уж чересчур ИМХО. :)

В общем, думаю, данный пример сканов иллюстрирует те существенные недостатки, которые имеются в Scan Tailor. Попробую перечислить:

1. Отсутствие вывода пар субсканов.
2. Некоторое неудобство работы с пользовательскими зонами (нет прямоугольного и круглого выделения - которые есть в СК, к примеру, и нет копирования/вставки формы пользовательской зоны в/из буфер(а) обмена).
3. Отсутствие хоть какого-либо механизма для выделения слоя переднего плана (цветной текст и т.п.). Вместо этого приходится пользоваться DjVu Pal. Я бы на месте Tulon сделал так: ввёл бы новый тип зон - "объекты переднего плана", и сделал бы для таких зон авто-определение усреднённого цвета текста, а также возможность ручного задавания такого цвета. Это был бы вариант хотя бы для создания FGbz-чанка в DjVu - а ведь можно ещё и вариант для FG44-чанка сделать.
« Последнее редактирование: 15 °ЯаХЫм 2010, 14:32:06 от monday2000 »

57an

  • Постоялец
  • ***
  • Сообщений: 201
    • Просмотр профиля
    • Djvu Bookmarker on SF.net
Re: Обработка сканов детской книги
« Ответ #3 : 15 °ЯаХЫм 2010, 15:07:38 »
Сколько страниц в этой книжке - 100, 150?
И на каждой придется двигать полезную область и обводить солнце (причем, т.к. солнце находится с краю скана, то обводка еще более усложняется).
Судя по этим трем сканам нижняя граница по номеру страницы определяется достаточно надежно (и нет причин полагать, что на остальных будет иначе. Даже если было бы копирование зон и круглые зоны, обработка все равно оказалась бы достаточно трудоемкой.

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

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

monday2000

  • Администратор
  • *****
  • Сообщений: 985
    • AOL клиент - -
    • Yahoo клиент - -
    • Просмотр профиля
    • Создание книг в электронном виде из бумажных книг (в формате DjVu)
    • E-mail
Re: Обработка сканов детской книги
« Ответ #4 : 15 °ЯаХЫм 2010, 19:00:03 »
57an
Цитировать
Сколько страниц в этой книжке - 100, 150?
Понятия не имею.
Цитировать
Судя по этим трем сканам нижняя граница по номеру страницы определяется достаточно надежно
Нет. Там на автомате захватывается крохотная чёрная горизонтальная полоска грязи снизу.
Цитировать
И на каждой придется двигать полезную область и обводить солнце (причем, т.к. солнце находится с краю скана, то обводка еще более усложняется).
Да ничего страшного ИМХО. Я вон когда-то вручную в Фотошопе обрезал по фиксированной рамке каждый скан http://www.djvu-soft.narod.ru/b_cr.htm :) .
Можно обработать в 2 прохода: сначала обрезать сканы, затем снова загрузить уже обрезанные (чтобы гарантированно без грязи), и расставить зоны руками.
Цитировать
А по первому пункту существенных недостатков СТ - давно бы уже сделали свой сепаратор - он делается из любой Вашей ST-программы заменой пары строк - и он исчезнет..
Да сделаю я - я же сказал, что у меня это в планах. Просто я ещё не успел - не могу же я разорваться на части.  :) Но, вообще-то, я считаю, что разумнее встроить "Сепаратор" прямо в СТ - пусть и без размытия растра (а размытие - в отдельной программе). Иначе СТ получается каким-то недоделанным. Впрочем, это тема для отдельного большого разговора по СТ. :)
Цитировать
В конце концов, иногда сканы невозможно корректно разложить на субсканы и приходится полагаться на автосементор..
Конечно. В этом примере я как раз с этим и столкнулся - там на 3 скане такой дымчатый голубенький туман по контуру рисунков не определялся автозонами (например, справа от средней кисти) - так что я руками в ломанный многоугольник эти рисунки выделил.
Цитировать
Я предложил максимально автоматизированное решение, требующее минимальных трудозатрат от пользователя,
К сожалению, пока что ИМХО это труднодостижимый идеал. Всё равно от пользователя требуется какая-никакая квалификация, понимание основ DjVu-книгосканирования, а также изрядная доля ручного труда, да ещё и определённая сообразительность.

Кстати, возникает вопрос: а как бы нам ускорить приход тех времён, когда DjVu-книгосканирование станет действительно простым  делом?

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

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

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

То есть, нужно что-то вроде курсов по DjVu-книгосканированию. Как автошкола - для желающих научиться водить машину. Нельзя же садиться за руль, не умея водить машину, и не зная правил дорожного движения.

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

Но всем "хочется быстрей" - а это невозможно (если человек далёк). Отсюда и получается низкое качество самодельных DjVu-книг.

Инструкция типа ScanAndShare http://www.djvu-soft.narod.ru/scan/scan_and_share_1_07.htm слишком кратка для подобных целей. Нужно написать целый учебник - причём доступным, понятным, и хорошим языком, с красноречивыми примерами (возможно, с видео). Пусть даже такой дистанционный курс будет "весить" сотни мегабайт - ничего страшного (Интернет теперь для многих не проблема).

Но хороший доходчивый учебник написать трудно - это большое напряжение ума, и риск "налить туда воды". Большинство существующих учебников (по какой бы то ни было теме) как раз плохи - поскольку их пишут не с целью "научить", а с любыми иными целями.

P.S.
Я думаю, что в будущем возможно появление новых алгоритмов авто-распознавания зон с иллюстрациями - раз уж имеющийся не всегда справляется. Это, впрочем, не слишком срочно - так что Tulon может с этим пока не заморачиваться (пока авто-зоны и руками подправим, если что).
« Последнее редактирование: 15 °ЯаХЫм 2010, 19:12:29 от monday2000 »

57an

  • Постоялец
  • ***
  • Сообщений: 201
    • Просмотр профиля
    • Djvu Bookmarker on SF.net
Re: Обработка сканов детской книги
« Ответ #5 : 16 °ЯаХЫм 2010, 08:35:14 »
Цитировать
Там на автомате захватывается крохотная чёрная горизонтальная полоска грязи снизу.
Видимо, это на STA-версии, в последних версиях СТ такого не происходит.
Цитировать
В этом примере я как раз с этим и столкнулся - ... - так что я руками в ломанный многоугольник эти рисунки выделил
Я говорил о другом - о "журнальных сканах" с текстом поверх фотоиллюстраций, и о автосегментере scanned-профилей djvu-кодеков. Когда никакая ломаная не поможет..
Цитировать
А сейчас мы как лебедь, рак и щука
ИМХО, неудачное сравнение. "Воз" далеко не там, где он стоял даже пару месяцев назад и продолжает продвигаться в правильном направлении. Лебеди, раки и щуки прорабатывают свои сегменты (за мелким исключением).
Цитировать
с докой, и толковым
Я еще раз повторяю, на заглавном окне Сепаратора по-русски написано:
"Программа предназначена для разделения обработанных в ScanTailor сканов (обычно расположенных в подпапке Out папки проекта ST) на составляющие - черно-белый текст и иллюстрации, которые после разделения будут располагаться соответственно в подпапках txt и pic папки Out".
Под надписью находится гиперссылка на набор статей http://tinyurl.com/ycvm85z.
На единственной кнопке - надпись "Выбрать папку Out и разделить ее содержимое на текст и иллюстрации".
Поясните, пожалуйста, конкретнее - что тут бестолкового и какие доки тут еще нужны?
Цитировать
То есть, нужно что-то вроде курсов по DjVu-книгосканированию
Предлагаю писать его на английском, чтобы как-то отсеять лиц, принципиально не способных закодировать сканы в Djvu, чтобы не портили статистику. Некоторый прообраз данного подхода есть в СК и в ряде Ваших программ.
А если кроме шуток, то можно завести цикл статей "Перекодируй это немедленно!" с примером плохо сделанных выложенных в Интернете книг (но нужны будут и сканы) и подробным объяснением почему эта книга сделана плохо и как ее надо было делать по-хорошему..

monday2000

  • Администратор
  • *****
  • Сообщений: 985
    • AOL клиент - -
    • Yahoo клиент - -
    • Просмотр профиля
    • Создание книг в электронном виде из бумажных книг (в формате DjVu)
    • E-mail
Re: Обработка сканов детской книги
« Ответ #6 : 16 °ЯаХЫм 2010, 09:08:59 »
57an
Цитировать
Поясните, пожалуйста, конкретнее - что тут бестолкового и какие доки тут еще нужны?
Получается нелогично: Вы пишете статью http://tinyurl.com/ycvm85z , где всё подробно расписываете, как и что делать. Но, чтобы понять роль Сепаратора в том описании, его нужно скачать, скачать и поставить .NET, запустить программу, и прочесть в ней её описание.
Правильнее было бы прямо в http://tinyurl.com/ycvm85z расписать, что это за Сепаратор, что он делает, как с ним работать, и т.п.
Цитировать
ИМХО, неудачное сравнение. "Воз" далеко не там, где он стоял даже пару месяцев назад и продолжает продвигаться в правильном направлении. Лебеди, раки и щуки прорабатывают свои сегменты (за мелким исключением).
Подробнее, пожалуйста.

monday2000

  • Администратор
  • *****
  • Сообщений: 985
    • AOL клиент - -
    • Yahoo клиент - -
    • Просмотр профиля
    • Создание книг в электронном виде из бумажных книг (в формате DjVu)
    • E-mail
Re: Обработка сканов детской книги
« Ответ #7 : 16 °ЯаХЫм 2010, 10:04:18 »
57an
Кстати, по поводу Вашего http://tinyurl.com/ycvm85z :
Цитировать
Методом ограничения диапазона яркости иллюстраций (официально включен в СТ начиная с версии 0.9.8 )

Данная методика использует предложенное U235 и введенное в СТ начиная с версии 0.9.8 ограничение яркости иллюстраций диапазоном [1..254] (это меньше, чем на 1% - т.е. разница между иллюстрацией до и после такого ограничения практически неразличима). Таким образом, пиксели c нулевой и стопроцентной яркостью теперь однозначно относятся к бинаризованной части скана.
Откуда такие сведения? Я скачал СТ 0.9.8 - вижу, добавились веники. Но какого-либо явного указания от Tulon по поводу "ограничение яркости иллюстраций диапазоном [1..254]" пока что нигде не вижу. Это ограничение нужно как-то руками выставлять? Или оно всегда само делается?

57an

  • Постоялец
  • ***
  • Сообщений: 201
    • Просмотр профиля
    • Djvu Bookmarker on SF.net
Re: Обработка сканов детской книги
« Ответ #8 : 16 °ЯаХЫм 2010, 10:30:04 »
Нарисуйте черный прямоугольник посередине скана. Обработайте его в СТ, вывод - в смешанном режиме. И сделайте пользовательскую зону, захватив часть этого прямоугольника. Посмотрите потом пипеткой цвета той части прямоугольника, которая вошла в зону, и той, которая вывелась бинаризованной.

Информация напрямую от автора СТ в одном из постов соответствующего топика на руборде.

monday2000

  • Администратор
  • *****
  • Сообщений: 985
    • AOL клиент - -
    • Yahoo клиент - -
    • Просмотр профиля
    • Создание книг в электронном виде из бумажных книг (в формате DjVu)
    • E-mail
Re: Обработка сканов детской книги
« Ответ #9 : 16 °ЯаХЫм 2010, 11:32:43 »
Цитировать
Информация напрямую от автора СТ в одном из постов соответствующего топика на руборде.
Вот, нашёл:
Это была идея U235 (ограничить номера цветов пикселей иллюстраций диапазоном [1..254]). Вот её изложение:
http://forum.ru-board.com/topic.cgi?forum=5&topic=27424&start=2100#4
А вот Tulon пишет, что он это реализовал в СТ:
http://forum.ru-board.com/topic.cgi?forum=5&topic=27424&start=2100#13
Вот запись на оф.сайте в логе изменений:
http://scantailor.git.sourceforge.net/git/gitweb.cgi?p=scantailor/scantailor;a=commit;h=c187c852ecfb7bb2df4b8a2e4ef3c8f4279b0a56
Цитировать
Посмотрите потом пипеткой цвета той части прямоугольника, которая вошла в зону, и той, которая вывелась бинаризованной.
Посмотрел. Собственно, чёрный прямоугольник рисовать даже и не надо - достаточно взять чёрно-белый скан с текстом, выделить кусок текста в пользовательскую зону, и сделать вывод в режиме "Смешанный".
Действительно, если померять пипеткой тот кусок чб текста, что попал в пользовательскую зону, то видно, что там "чисто белый фон на глаз" отображается номером цвета 254-254-254, а "чисто чёрный фон на глаз" отображается номером цвета 1-1-1.

За пределами же пользовательской зоны всё, как обычно - белый фон отображается с номером цвета 255-255-255, а чисто чёрный фон отображается с номером цвета 0-0-0.

Идея хорошая и полезная, несомненно. Только какого ... чёрта  "Сепаратор" при этом не встроили в сам СТ? >:(
« Последнее редактирование: 16 °ЯаХЫм 2010, 11:59:10 от monday2000 »

monday2000

  • Администратор
  • *****
  • Сообщений: 985
    • AOL клиент - -
    • Yahoo клиент - -
    • Просмотр профиля
    • Создание книг в электронном виде из бумажных книг (в формате DjVu)
    • E-mail
Re: Обработка сканов детской книги
« Ответ #10 : 16 °ЯаХЫм 2010, 15:10:50 »
Мне прислали ответ по эл. почте:
Цитировать
Спасибо за помощь. Пока только бегло пробежалась по рекомендациям, работой займусь в выходные -  больше свободного времени.

 Есть вопрос - может и не уместный , т.к. подробно Ваши рекомендации не изучила и он там отражается, но на всякий случай спрошу: обработала в фотошоп несколько страниц (избавилась от мусора), размер файла уменьшился до 10-50 МБ. Какой следующий шаг мне делать из перечисленных в уроке? Не слишком ли большой размер?
Что значит "избавились от мусора" (в Фотошопе)?

Если речь идёт о размытии растра (пункт 2 инструкции http://www.djvu-scan.ru/forum/index.php?topic=43.msg434#msg434 ), то да, это можно сделать в Фотошопе. Причём можно даже достичь весьма отличных результатов.

Делается это там в меню Фильтры - Размытие - Умное размытие (либо гауссово).

Как оценить результат размытия: это в значительной мере вопрос искусства - нужно, визуально осмотрев результат размытия, прикинуть - не слишком ли сильно размыто, не слишком ли теряется информативность иллюстрации? То есть, чем больше размоете - тем лучше, но и чересчур сильное размытие тоже бессмысленно. Используйте радиус размытия примерно от 3 до 7 (но это зависит от конкретных иллюстраций).

К сожалению, какого-то объективного критерия "насколько размывать" я дать не могу.

Размер файлов размытых изображений (сколько мегабайт) не имеет никакого значения - поскольку они всё равно ещё потом будут в DjVu сжиматься.

Размытие нужно из-за того, что печатное изображение в книге является растрированным http://slovari.yandex.ru/dict/stefanov/article/ste/ste-1955.htm - т.е. его печатали путём нанесения полчищ мельчайших цветных точек (по-другому типографская машина не умеет, ей же надо симулировать любые цвета из 3 базовых) - так, чтобы глядя издалека, напечатанное казалось в виде объектов непрерывных тонов. Это аналогично художественным картинам - на них тоже нужно смотреть издалека - вблизи видны лишь грубые мазки.

А DjVu-кодировщики очень плохо воспринимают такие полчища крохотных цветных точек. Точнее, им нужно кодировать отдельно каждую такую цветную точку - что приводит к безумному "разбуханию" получаемого DjVu-файла. DjVu-кодировщику гораздо больше понравились бы области непрерывной монотонной заливки - вместо точек.

Поэтому наша задача - превратить "плохие" растрированные изображения в "хорошие" дерастрированные http://slovari.yandex.ru/dict/stefanov/article/ste/ste-1691.htm - тогда и DjVu у нас получится нормального размера.

Понять смысл дерастрирования (размытия растра) можно вот из этих рисунков:

(Источник: http://www.sattva.ru/soft/descreen/descreen.htm )

Дерастрирование даёт изображение, состоящее из сплошных тонов.

Лучше всего дерастрирование умеют делать коммерческие программы - т.н. "шумодавы":

1. Imagenomic.Noiseware.Professional
2. Neat Image
3. PictureCode Noise Ninja

Подробнее см. http://natahaus.info/forums/showthread.php?t=6055 .

В этом деле, как обычно, наблюдается путаница с терминами. Я бы различал термины "растрированное изображение" и "растровое изображение".

Примерами растрированного изображения (как я это понимаю) являются понятия:
Дизеринг http://ru.wikipedia.org/wiki/Дизеринг
Как дизеринг называется по-русски, я не знаю. Наверное, "микроштриховое изображение": http://slovari.yandex.ru/dict/stefanov/article/ste/ste-1222.htm
Есть ещё понятие "Автотипия": http://slovari.yandex.ru/dict/stefanov/article/ste/ste-0029.htm (это как раз наш случай ИМХО).

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

Цитировать
Какой следующий шаг мне делать из перечисленных в уроке?
Все последующие - т.е. 3 и далее:
Цитировать
3. Используем DjVu Small v0.4.2 для создания т.н. DjVu-заготовки - т.е. дежавючим сканы из папки out1 - с профилем User B/W (600 dpi).
Размытые сканы кладёте в папку out2 (о которой в инструкции говорится) - вместо тех, что там были до размытия.
« Последнее редактирование: 16 °ЯаХЫм 2010, 16:12:36 от monday2000 »

monday2000

  • Администратор
  • *****
  • Сообщений: 985
    • AOL клиент - -
    • Yahoo клиент - -
    • Просмотр профиля
    • Создание книг в электронном виде из бумажных книг (в формате DjVu)
    • E-mail
Re: Обработка сканов детской книги
« Ответ #11 : 16 °ЯаХЫм 2010, 17:13:49 »
Мне тут попался аналогичный пример - страница кулинарного журнала http://rutracker.org/forum/viewtopic.php?p=34279896#34279896 .

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

Из этого примера я сделал такие выводы:

1. Надо бы как-то научить DjVu Pal автоматически генерировать усреднённый цвет закраски на базе выборки цвета образца. Слишком уж муторно вручную подбирать цвет закраски (чтобы был похож на оригинал).

2. Хорошо бы научиться автоматически сегментировать текст на блоках равномерного цветного фона. Сейчас СТ автоматически заключает такие блоки в авто-зоны. Это, конечно, не срочно - просто на будущее.
« Последнее редактирование: 16 °ЯаХЫм 2010, 17:19:03 от monday2000 »

monday2000

  • Администратор
  • *****
  • Сообщений: 985
    • AOL клиент - -
    • Yahoo клиент - -
    • Просмотр профиля
    • Создание книг в электронном виде из бумажных книг (в формате DjVu)
    • E-mail
Re: Обработка сканов детской книги
« Ответ #12 : 16 °ЯаХЫм 2010, 22:38:52 »
Последующие сообщения выделены в новую тему:

Обработка цветного текста

http://www.djvu-scan.ru/forum/index.php?topic=45.0

Я подумал, что так будет уместнее - поскольку вопрос явно созрел. :)
« Последнее редактирование: 16 °ЯаХЫм 2010, 22:45:37 от monday2000 »

monday2000

  • Администратор
  • *****
  • Сообщений: 985
    • AOL клиент - -
    • Yahoo клиент - -
    • Просмотр профиля
    • Создание книг в электронном виде из бумажных книг (в формате DjVu)
    • E-mail
Re: Обработка сканов детской книги
« Ответ #13 : 19 °ЯаХЫм 2010, 13:23:46 »
Мне прислали очередное письмо по электронной почте:
Цитировать
Добрый вечер.
Отвечаю на ваш вопрос:

Что значит "избавились от мусора" (в Фотошопе)?
я просто обрезала сканы от лишнего (обложка) и при помощи заливки и ластика убрала затемнения от перегиба, получились ровные чистые отсканированные странички.
После Вашах рекомендаций воспользовалась фильтрами фотошопа
1. Imagenomic.Noiseware.Professional

3. PictureCode Noise Ninja

Хотя применяю их методом тыка. Какие ставить параметры в "Imagenomic" не заю. И как использовать
2. Neat Image - тоже.

И зачем применять 3 и 4 пункты, если я не разделяла скана на текст и изображения?
monda2000?
Очень надеюсь, что мои безграмотные вопросы не помешают нам дальше общаться по этой теме, и не только.
Правда?!)

P.S.
Прикрепляю файл после дерастрирования Imagenomic. Вот ссылка http://ifolder.ru/17326033
Конечно, спрашивайте - хуже, когда не понимают, но и не спрашивают.
Цитировать
я просто обрезала сканы от лишнего (обложка) и при помощи заливки и ластика убрала затемнения от перегиба, получились ровные чистые отсканированные странички.
Как я понял, это было проделано в Фотошопе. Конечно, это неправильно - такие вещи нужно делать в Scan Tailor, потому что делать это в Фотошопе - просто адская мука, тогда как в Scan Tailor это делается просто, быстро и легко.
Единственный момент - затемнения от перегиба. В Scan Tailor (СТ) не предусмотрен ластик, поэтому затемнения от перегиба в СТ нельзя убрать (разве что если повезёт, и затемнения окажутся за пределами Полезной Области).

Затемнения можно потом убрать в ScanKromsator. Впрочем, если честно сказать - то Вам будет и вправду легче почистить затенения в Фотошопе, чем если я Вам сейчас начну объяснять, как это сделать в ScanKromsator. :-\ К сожалению, тут как ни объясняй - а из-за того, что обе программы (ScanKromsator и Scan Tailor) довольно несовершенны - я никак не смогу объяснить "по-простому".
Цитировать
И зачем применять 3 и 4 пункты, если я не разделяла скана на текст и изображения?
Вот это самый интересный вопрос. Если Вы не разделяли сканы на текст и изображения - то тогда и пункт 2 (размытие иллюстраций) не то, что не нужно было делать - а даже и вредно и нельзя было делать.

Размывать можно ТОЛЬКО иллюстрации. Если же на размываемых сканах присутствует текст - то он-то тоже размоется - а для него это будет КРАЙНЕ пагубно.
Так что, если Вы не разделяли сканы на текст и изображения - то никакого размытия.

Можете просто закодировать ("ровные чистые странички") в DjVu с профилем "Default" - думаю, может получиться удовлетворительно.
Меня больше всего волнует вопрос: почему именно Вы не захотели разделять сканы на текст и изображения? Может, это показалось сложным? Если да - то в чём именно сложность? Вы Scan Tailor вообще использовали? Если нет - напрасно, Scan Tailor необходимо обязательно освоить - без этого просто никак. Но это не так сложно сделать - вот подробная к нему инструкция: http://www.djvu-soft.narod.ru/st_index.htm . Скажем так: без освоения Scan Tailor дальше и говорить не о чем. Не стОит бояться такой программы, как Scan Tailor - она исключительно проста в использовании, а обойтись без неё решительно невозможно (или без ScanKromsator, если бы не существовал Scan Tailor).

Разделение сканов на текст и изображения - это единственная гарантия по качеству создаваемого DjVu. Без этого качество DjVu будет непредсказуемым. Ваши сканы я бы назвал как исключительно высококачественные - так что именно на них, быть может, и без разделения сканов на текст и изображения, DjVu получится более-менее ничего.
Цитировать
И как использовать 2. Neat Image - тоже.
Я тоже не знаю. Я упомянул эти программы просто как вариант. Они мне тоже кажутся весьма сложными в освоении. Для Вашего случая фотошоповского размытия хватит за глаза.
Но, если будет интерес - то про шумодавы в DjVu-книгосканировании можно почитать здесь:

Как почистить сканы книг?  (© Иван Сторожев )
http://www.djvu-soft.narod.ru/scan/clear_scan_trilogy.rar  (CHM, 177 КБ)

P.S. Я стараюсь направить Вас по самому лёгкому пути - но обеспечивающему, тем не менее, хорошее качество. Разделение сканов на текст и изображения - достаточно простая манипуляция, как в понимании (что это такое), так и в выполнении (как его делать). Единственная возможная там трудность - что некоторые изображения потребуется вручную руками обводить в ломанный многоугольник (клацая мышью на каждую новую вершину). Да, это несколько муторно, согласен - но это лишь вопрос небольшого терпения.

Сделайте всё в точности так, как я изначально обрисовал - и Вам будет гарантировано качество получаемого DjVu. (А весь смысл и всё искусство как раз и состоит в достижении качества - иначе некачественную DjVu-книгу просто никто в действительности не будет потом читать (даже Вы сами), и труд окажется затраченным впустую).

Я стараюсь Вам советовать только хорошо опробованные на практике подходы. Как-либо "проще" сделать НЕЛЬЗЯ (риск получить плохое качество). Остаётся только набраться терпения и веры, что "всё получится" - и тогда всё ДЕЙСТВИТЕЛЬНО получится прекрасно. Всё не так уж трудно и не так уж страшно.
« Последнее редактирование: 19 °ЯаХЫм 2010, 13:45:51 от monday2000 »

57an

  • Постоялец
  • ***
  • Сообщений: 201
    • Просмотр профиля
    • Djvu Bookmarker on SF.net
Re: Обработка сканов детской книги
« Ответ #14 : 22 јРЩ 2011, 12:28:35 »
monday2000
1. Все примеры детской книги с ifolder удалились. Если есть возможность восстановить, лучше восстановить..
2. С учетом последних версий ST Separator (функционал заливки части фона заданным цветом) и ST Set Content (для автоматизированного расширения полезной области вниз) обработку детской книги можно в значительной степени автоматизировать.monday2000