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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » Scan Tailor (часть 2)

Модерирует : gyra, Maz

Maz (10-01-2024 10:45): Scan Tailor (часть 3)  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200

   

Widok



Moderator-Следопыт
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Предыдущие части: Часть 1
Scan Tailor


Задача программы - пост-обработка сырых сканов книг для последующей сборки в PDF/DJVU,CBR/CBZ и т.д.
Программа обеспечивает большое удобство для использования, большую интерактивность и не меньшую автоматизацию процесса (по сравнению со СканКромсатором).
Кросс-платформенный (Windows,Mac OS, Linux) проект с открытыми исходниками.


Англоязычный топик по ScanTailor
 
Ветки:
Scan Tailor (ncraun) >>>  последняя версия
Scan Tailor Experimental (Tulon) >>>  последняя версия (обсуждение на DIY Book Scanner)
Scan Tailor Plus (Vadim "DikBSD" Kuznetsov) >>>  последняя версия (отличия от авторской версии)
Scan Tailor Еnhanced (Petr "pejuko" Kovar) >>>  последняя версия (отличия от авторской версии)
Scan Tailor Featured (monday2000) >>>  последняя версия (отличия от авторской версии)
Scan Tailor Universal (trufanov-nok) >>>  последняя версия (обсуждение на publ.lib.ru)
Scan Tailor Advanced (4lex4) >>>  последняя версия (отличия от авторской версии)
Scan Tailor Advanced (актуальный форк) >>>  история версий
 
Документация:
Документация (Wiki) | Зоны картинок в ScanTailor | ScanTailor. Быстрое начало | Видеоуроки и скринкасты новых функций СТ от Tulona
Статья: Scan Tailor. Программа для обработки отсканированных книг
Видеоурок: Создание DjVu с помощью Scan Tailor (зеркало)
Использование Scan Tailor совместно с Djvu Imager (сборка djvu методом разделенных сканов)
Как собрать Scan Tailor из исходных кодов под Windows
Почему нельзя сделать сплошную нумерацию вывода


Автор проекта - Tulon. Почему его здесь не видно? .
DikBSD автор ветки ScanTailor Plus история повторяется.
Юзеры! Будьте скромнее!


Прочие дистрибутивы, форки, дополнения

Всего записей: 24190 | Зарегистр. 07-04-2002 | Отправлено: 12:17 17-02-2010 | Исправлено: Maz, 10:43 10-01-2024
ycheff



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Сталкивался с такой ситуацией:   На этапе вывода в Scan Tailor'е (в зависимости от способа задания полей) некоторые страницы одной и той же книги получаются либо слишком большими, либо слишком малыми и с широкими полями.  
Оказалось, что большая часть страниц djvu были отсканированы с одним значением dpi, а часть - с другим.   Можно ли в Скан Тейлоре как-то разрулить ситуацию?

Всего записей: 250 | Зарегистр. 27-09-2008 | Отправлено: 09:24 26-09-2010
StanFreeWare

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ycheff
Если dpi были неверные, но в целом похожие на правду, то СТ их скушает без вопросов, в противном случае при загрузке должен был попросить поправить dpi проблемных страниц.
 
Если СТ все-таки не попросил - то удалите проблемные страницы, поправьте им dpi внешней программой (годится практически любой растровый просмотрщик) и загрузите в СТ обратно (соответственно для них придется пройти шаги заново).
 
Можно поправить dpi в файле проекта - но это зависит от того, насколько вы умеете работать с XML.
 
Проблемы с DPI должны были проявиться еще на стадии задания полей - необязательно было прогонять страницы через вывод.
 
Можете еще посмотреть  здесь

Всего записей: 865 | Зарегистр. 10-01-2007 | Отправлено: 09:55 26-09-2010 | Исправлено: StanFreeWare, 09:56 26-09-2010
iit512

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Сделал однопроходный DjVu-кодер. Работает, хотя и медленно. Делит вывод Scan Tailor на слои и вставляет их как отдельные чанки. Прошу тестировать. Зависимости: bash + getopt +mktemp, ImageMagick, DjVu Libre, minidjvu.
http://github.com/ashipunov/img2djvu

Всего записей: 177 | Зарегистр. 18-05-2005 | Отправлено: 10:06 01-10-2010 | Исправлено: iit512, 20:03 01-10-2010
anagnost96

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
iit512
 
Несколько замечаний/пожеланий по скрипту:
 
1. Нельзя ли предусмотреть возможность указания маски, по которой будут отбираться имена файлов для обработки? Собственно, можно было бы даже жестко прописать в скрипте что-то вроде for f in *.tif* *.TIF* . А то всё-таки требование не иметь в рабочей директории ничего, кроме графических файлов, прямо скажем, весьма обременительно.
 
2. Как я понимаю, сейчас нет возможности отдельно задать разрешение для текстового и картиночного слоя, а между тем это ключевой момент корректного DJVU-кодирования.
 
3. У Вас есть опция, отвечающая за выбор уровня агрессивности, но на соответствующий параметр minidjvu и cjb2 она напрямую не влияет (фактически можно лишь включить или выключить режим сжатия с потерями). Между тем minidjvu, на мой взгляд, дает наилучшие результаты при уровне агрессивности 200 вместо умолчательных 100.
 
4. Насколько я могу видеть, minidjvu сейчас вызывается в одностраничном режиме. На практике это означает, что разницы между кодированием через minidjvu и cjb2 нет почти никакой (точнее, она заключается лишь в том, что в cjb2 используется более старый вариант того же кодера). Конечно, было бы гораздо интереснее задействовать многостраничный режим сжатия, но для этого придется сначала подвергать сепарации все файлы, а потом все текстовые страницы разом прогонять через minidjvu.
 
Кстати, у меня есть довольно сложный скрипт, предназначенный для сборки djvu из предварительно разделенных сканов (т. е. текст и картинки уже находятся в отдельных файлах). Возможно, его имело бы смысл как-то совместить с Вашим.
 

Всего записей: 132 | Зарегистр. 01-05-2009 | Отправлено: 13:02 01-10-2010
iit512

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

Цитата:
1. Нельзя ли предусмотреть возможность указания маски, по которой будут отбираться имена файлов для  
обработки? Собственно, можно было бы даже жестко прописать в скрипте что-то вроде for f in *.tif* *.TIF* . А то всё-таки требование не иметь в рабочей директории ничего, кроме графических файлов, прямо скажем, весьма  
обременительно.  

Я бы не сказал, что оно обременительно. Разве трудно положить в некую папку исключительно графические файлы? Это можно сделать средствами любого коммандера. К тому же, как Вы правильно подметили, уже TIFF формат имеет два обычных расширения (а может быть и *.Tiff, и *.tiFF), а мне хотелось бы, чтобы пользователь не "заморачивался" с форматами, а просто напихал бы в папку все, что переваривает ImageMagick (хоть PCX, хоть Targa). Но я подумаю.

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

С этого момента поподробнее, пожалуйста Сначала я делал, как советуете Вы и monday2000 -- уменьшал размер цветного слоя перед тем, как выделить чанки. Но DjView 4 на это ужасно ругался и картинку не отображал. Тогда я плюнул и стал просто размывать. Ведь эффект-то будет почти тот же. Или нет?

Цитата:
3. У Вас есть опция, отвечающая за выбор уровня агрессивности, но на соответствующий параметр minidjvu и cjb2 она напрямую не влияет (фактически можно лишь включить или выключить режим сжатия с потерями). Между тем minidjvu, на мой взгляд, дает наилучшие результаты при уровне агрессивности 200 вместо умолчательных 100.  

Спасибо! Сделаю --agression 200 для моего -a 2. А для cjb2 что сделать посоветуете? -losslevel 200 ?

Цитата:
4. Насколько я могу видеть, minidjvu сейчас вызывается в одностраничном режиме. На практике это означает, что разницы между кодированием через minidjvu и cjb2 нет почти никакой (точнее, она заключается лишь в том, что в cjb2 используется более старый вариант того же кодера). Конечно, было бы гораздо интереснее задействовать многостраничный режим сжатия, но для этого придется сначала подвергать сепарации все файлы, а потом все текстовые страницы разом прогонять через minidjvu.  

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

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

Очень рад был бы посмотреть на Ваш скрипт.
 
Добавлено:
А еще у меня вопрос к U235 (иди тому, кто знает в чем дело). Новая версия скрипта LayerTailor содержит строку:
===
rem раскомментировать следующую строку, если растровые рисунки темные (учитывать
 автомаску)
rem gm composite -compose Add txt\%%i  cache\automask\%%i -compress Group4 txt\%
%i
===
Нет ли у кого примера такого скана? И вообще, откуда берется эта "automask"? Из скрипта это неясно.

Всего записей: 177 | Зарегистр. 18-05-2005 | Отправлено: 20:01 01-10-2010 | Исправлено: iit512, 20:05 01-10-2010
U235

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
iit512
Сейчас это совершенно не актуально, этот скрипт был написан еще тогда, когда в ST еще не было резервирования уровней 0 и 255 для черного и белого.
Automask бралась из папки проекта ST \cache\automask\.
ИМХО, оптимальный вариант это единая утилита на базе minidjvu  и c44, принимающая на входе файлы сразу после ST.
Кстати, полгода назад экспериментировал с cjb2, (убрал ограничения на агресивность и добавил большую корректность при работе с буквами "и" и "н" при больших степенях сжатия)  если надо, то могу выложить исходники/exe.

Всего записей: 883 | Зарегистр. 14-12-2005 | Отправлено: 22:21 01-10-2010
anagnost96

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

Цитата:
Я бы не сказал, что оно обременительно. Разве трудно положить в некую папку исключительно графические файлы? Это можно сделать средствами любого коммандера.

 
Просто у каждого своя собственная методика работы, и эта методика вполне может предполагать наличие в папке с обработанными сканами чего-то еще. Это могут быть еще какие-то скрипты, распознанные страницы в формате hocr или, скажем, текстовый файл с оглавлением. Кое-что из этого может быть рассчитано на другие варианты обработки того же самого материала (скажем, кодирование в pdf). Можно, конечно, и убрать всё это хозяйство из директории непосредственно перед обработкой, но делать так каждый раз будет крайне неудобно.
 

Цитата:
С этого момента поподробнее, пожалуйста Сначала я делал, как советуете Вы и monday2000 -- уменьшал размер цветного слоя перед тем, как выделить чанки. Но DjView 4 на это ужасно ругался и картинку не отображал.

 
Он ругается потому, что ему нужно, чтобы размеры маски были строго кратными размерам фона. Естественно, это требование будет нарушено, если, к примеру, мы пытаемся понизить разрешение с 600 до 300dpi при том, что обработанный скан имеет нечетное количество пикселей по высоте или ширине. К сожалению, СТ не позволяет контролировать пиксельные размеры файлов на выходе, из-за чего и получаются такие казусы.
 

Цитата:
Тогда я плюнул и стал просто размывать. Ведь эффект-то будет почти тот же. Или нет?  

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

Цитата:
А для cjb2 что сделать посоветуете? -losslevel 200 ?  

 
А вот с cjb2, думаю, лучше не рисковать. Проблема в том, что там используется старая, неотрегулированная версия алгоритма, которая дает избыточное сжатие за счет некорректных подстановок. Правда, уменьшение уровня агрессии в таких случаях обычно тоже не спасает
 

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

 
Спасибо за разъяснение: значит, я плохо смотрел.  
 

Цитата:
Но для сепарированных файлов Вы правы, я не придумал, как вызывать minidjvu многостранично. Может быть, Вы придумаете?

 
А в чем проблема? Точно так же из каждого закодированного файла извлекаем блок Sjbz, который потом объединяем с заранее подготовленным фоном. Просто делать это придется в цикле.
 
И, кстати, совершенно не нужно записывать трехслойные файлы с черным квадратом Малевича в качестве блока FG44. В текущей версии djvumake можно вместо этого написать FGbz=#black, что гораздо более корректно.
 
 
 
 
 
 
 
Добавлено:
U235

Цитата:
убрал ограничения на агресивность

 
Зачем же их было убирать? cjb2 и так дает избыточную степень сжатия.
 

Цитата:
добавил большую корректность при работе с буквами "и" и "н" при больших степенях сжатия

 
Если бы дело было только в этих буквах... У меня вот как-то вместо всех "i" появилась правая половинка от буквы "n" с характерным закруглением, а точки над ними сделались треугольными, поскольку кодировщику почему-то приглянулся ошметок от заглавного "E" с засечкой. Короче говоря, алгоритм безусловно требует правки, но только в сторону большей жесткости, подобно тому, как это было сделано в minidjvu.
 

Всего записей: 132 | Зарегистр. 01-05-2009 | Отправлено: 00:46 02-10-2010
iit512

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

Цитата:
Сейчас это совершенно не актуально, этот скрипт был написан еще тогда, когда в ST еще не было резервирования уровней 0 и 255 для черного и белого.  

Понятно, спасибо! Кстати, а как Ваш скрипт цитировать? Я сослался на эту ветку форума, но вряд ли это правильно.

Цитата:
ИМХО, оптимальный вариант это единая утилита на базе minidjvu  и c44, принимающая на входе файлы сразу после ST.  

Ну так я ее и сделал. img2djvu -m 20 -l 1 [имя_папки]

Цитата:
Кстати, полгода назад экспериментировал с cjb2, (убрал ограничения на агресивность и добавил большую корректность при работе с буквами "и" и "н" при больших степенях сжатия)  если надо, то могу выложить исходники/exe.

Буду очень благодарен. Особенно за исходники.
И еще вопрос к Вам: стОит ли добавлять возможность обработки через GraphicsMagick вместо ImageMagick? Сильно ли первый быстрее на критической для меня операции подсчета уникальных цветов?
 
 
 
Добавлено:
anagnost96

Цитата:
...но делать так каждый раз будет крайне неудобно.  

OK, подумаю, как лучше. Возможно, сделаю еще одну опцию. А может, просто игнорировать все неграфические файлы?

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

Что же делать?

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

Я проверял. Размер чуть выше, качество сравнимое. А если использовать convert -blur 0x2, то размер совсем невелик.

Цитата:
А вот с cjb2, думаю, лучше не рисковать.

Хорошо, не буду.

Цитата:
А в чем проблема? Точно так же из каждого закодированного файла извлекаем блок Sjbz, который потом объединяем с заранее подготовленным фоном. Просто делать это придется в цикле.  

Проблема в том, что утилита однопроходная. То есть после того, как она обработала картинку (или несколько черно-белых картинок в случае minidjvu со словарем > 1), больше к файлу она не обращается. Предложенный Вами подход требует радикального усложнения алгоритма, и я пока не придумал, как это сделать.
Цитата:
можно вместо этого написать FGbz=#black

Отлично! Не знал. А в какой версии это появилось? Upd.: скачал, посмотрел. Появилось только что (15 августа). Этой версии (3.5.23) нет даже в PPA, не говоря уже о моем основном дистрибутиве (Ubuntu 10.04). К тому же ни одна утилита не выдает номера версии Я думаю, стОит подождать, тем более что экономию это даст слабую (10-15 килобайт на типичную страницу 600 dpi). Время вот сэкономит, это правда.
===
Так как насчет скрипта?
 
Добавлено:
И еще:
Вот я тут написал, чтобы не дублировать -- http://jurassic.ucoz.ru/forum/9-740-3344-16-1285953920

Всего записей: 177 | Зарегистр. 18-05-2005 | Отправлено: 04:38 02-10-2010 | Исправлено: iit512, 05:02 02-10-2010
Puma12

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
А можно ещё раз выложить версию с функцией выпрямления строк?

Всего записей: 2 | Зарегистр. 25-09-2010 | Отправлено: 13:55 02-10-2010
anagnost96

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

Цитата:
Что же делать?  

 
Нужно приводить пиксельные размеры файлов к значениям, кратным двенадцати (для 600dpi), как это рекомендуется спецификацией djvu. Это можно сделать с помощью того же convert.
 

Цитата:
Этой версии (3.5.23) нет даже в PPA, не говоря уже о моем основном дистрибутиве (Ubuntu 10.04).

 
Ну в CVS-то оно уже больше года как было. В принципе можно и предложить людям обновиться.
 

Цитата:
К тому же ни одна утилита не выдает номера версии

 
Ну почему же. Вот я запустил djvumake без параметров, и она мне в числе прочего выдала:
 
DJVUMAKE --- DjVuLibre-3.5.22
 

Цитата:
Я думаю, стОит подождать, тем более что экономию это даст слабую (10-15 килобайт на типичную страницу 600 dpi).

 
Тут не в экономии дело, а в том, что просмотрщик может отказаться сглаживать текст в трехслойном файле.
 

Цитата:
Так как насчет скрипта?  

 
Хорошо, выложил пока вот здесь: http://www.thessalonica.org.ru/downloads/gendjvu-shared.sh .
 
В отличие от Вашего, скрипт жестко привязан к определенным расширеням файлов и понимает следующие их типы:
 
-- *.tiff (без дополнительного расширения) -- черно-белая текстовая страница;
-- *.bg.tiff -- фоновое изображение;
-- *.fg.tiff -- цветное изображение для формирования блока FG44;
-- *.color.tiff -- полноцветное изображение, из которого djvumake сформирует блоки BG44 и FG44, используя черно-белую страницу в качестве маски;
-- *.color -- текстовый файл, содержащий спецификацию цвета (с возможным указанием зон раскраски) для передачи через опцию FGbz.
 
 

Всего записей: 132 | Зарегистр. 01-05-2009 | Отправлено: 14:14 02-10-2010
iit512

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

Цитата:
Нужно приводить пиксельные размеры файлов к значениям, кратным двенадцати (для 600dpi), как это рекомендуется спецификацией djvu. Это можно сделать с помощью того же convert.  

Наверно, лучше всего -- добавлять белые поля, как Вам кажется? Потому что если -resize, то черно-белые компоненты довольно сильно попортятся, да и долго это. Кстати, результатом что -resize, что -border неизбежно будет то, что страницы получатся разного размера. Разве это хорошо?

Цитата:
В принципе можно и предложить людям обновиться.  

Понимаю, но это не Ubuntu-way.

Цитата:
DJVUMAKE --- DjVuLibre-3.5.22  

Спасибо! Не заметил этого, искал опции. Теперь можно попробовать сделать проверку версии.

Цитата:
росмотрщик может отказаться сглаживать текст в трехслойном файле.  

Да, вспомнил соответствующие эпизоды с сайта djvusoft.

Цитата:
Хорошо, выложил пока вот здесь: http://www.thessalonica.org.ru/downloads/gendjvu-shared.sh  

Спасибо большое! Изучу.
Тем временем я нашел путь обходить не-графические файлы в папке (просто convert ... || continue ; ) и заодно поправил агрессивность у minidjvu (спасибо Вам!), получилась version 0.9c. Придумал алгоритм, как включить черно-белые куски в поток minidjvu (см. TODO), но на реализацию и особенно отладку нужно много времени, которого пока нет.
Я подумал, что было бы хорошо еще в этот комбайн вставить вызов cuneiform и hocr2djvu, которые добавят к каждой странице еще и текстовый слой. Это будет довольно просто, поскольку все равно *.pnm-файлы присутствуют, сэкономим на конвертировании. hocr2djvu еще довольно сырой (как и cuneiform-linux-multilang), но можно просто игнорировать ошибки на отдельных страницах. С другой стороны, может быть, вообще не надо мучаться со вставкой текстового слоя? Вместо этого на основе того же cuneiform писать продвинутые плагины к desktop search engines (типа Recoll), которые будут делать OCR на лету. Это снимет множество проблем.

Всего записей: 177 | Зарегистр. 18-05-2005 | Отправлено: 07:13 03-10-2010 | Исправлено: iit512, 07:22 03-10-2010
StanFreeWare

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
iit512
По поводу корректных размеров субсканов меньшего разрешения почитайте здесь.

Всего записей: 865 | Зарегистр. 10-01-2007 | Отправлено: 07:39 03-10-2010
U235

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

Цитата:
Буду очень благодарен. Особенно за исходники.
И еще вопрос к Вам: стОит ли добавлять возможность обработки через GraphicsMagick вместо ImageMagick?

http://www.onlinedisk.ru/file/524821/
Единственное, там в исходниках возможно надо будет подобрать коэффициенты чуствительности к различию и-н.  
GraphicsMagick вроде бы быстрее, но насколько - не знаю.
anagnost96

Цитата:
Зачем же их было убирать? cjb2 и так дает избыточную степень сжатия.  

Я хотел посмотреть как ведет себя кодек при высоких losslevel, не всегда замена символов просходит при значении 200,бывает  и на 180, бывает и на 240 (все зависит от скана и от шрифтов).

Цитата:
Нужно приводить пиксельные размеры файлов к значениям, кратным двенадцати (для 600dpi), как это рекомендуется спецификацией djvu.

Это где такое в спецификации? Форматом вроде бы регламентируется, что размеры ч/б слоя могут быть любыми, но есть ограничения на размеры BG44 и FG44, которые должны быть равны 1/2 .. 1/12 от размеров Sjbz, с округлением в большую сторону.
для win  resizer.bat:

Код:
 @echo off
 REM first parameter - image file name, second - scale factor;
  set NAME=%1
 set SCALE=%2
 for /f "tokens=* usebackq" %%i in (`identify -format "%%[fx:ceil(w/%SCALE%)]x%%[fx:ceil(h/%SCALE%)]" %NAME%`) do (
    set SIZE=%%i
)
convert  %NAME% -resize %SIZE% new_%NAME%  

 
 
 
 
 

Всего записей: 883 | Зарегистр. 14-12-2005 | Отправлено: 08:30 03-10-2010
anagnost96

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

Цитата:
Наверно, лучше всего -- добавлять белые поля, как Вам кажется? Потому что если -resize, то черно-белые компоненты довольно сильно попортятся, да и долго это.

 
Нет, конечно же не -resize: нам ведь не нужны дополнительные искажения. -border, вероятно, приемлемо, но я это делаю через -extent. Код может выглядеть примерно так:
 

Код:
 
function correct_size() {
  ret=$1
  dpi=$2
   
  let "base = $dpi * 2 / 100"
  let "half_base = $base / 2"
  let "mod = $ret % $base"
  if [ $mod -ge $half_base ] ; then
    let "ret += $base"
  fi
  let  "ret -= $mod"
 
  echo $ret
}
 
width=`identify -format "%w" $file`
xdpi=`identify -format "%x" $file | sed -rn 's/([0-9]+).*/\1/p'`
WOUT=`correct_size $width $xdpi`
height=`identify -format "%h" $file`
ydpi=`identify -format "%y" $file | sed -rn 's/([0-9]+).*/\1/p'`
HOUT=`correct_size $height $ydpi`
 
convert $file -gravity Center -extent "${WOUT}x${HOUT}" $newname.tiff
 

 

Цитата:
Кстати, результатом что -resize, что -border неизбежно будет то, что страницы получатся разного размера. Разве это хорошо?  

Почему же? Если размер изначально был одинаковым, то и результат вычислений для каждой страницы тоже будет одинаковым. Разве нет?

Всего записей: 132 | Зарегистр. 01-05-2009 | Отправлено: 09:44 03-10-2010
iit512

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

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

Спасибо!
 
U235:
Так как же все-таки цитировать Ваш LayerTailor?

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

Хорошо, буду смотреть.  

Цитата:
-format "%%[fx:ceil(w/%SCALE%)]x%%[fx:ceil(h/%SCALE%)]"

Вот оно почему у меня не получалось! ceil! Bash-то просто отбрасывал десятичную часть
 
 
 
Добавлено:
 
 
anagnost96:

Цитата:
Код может выглядеть примерно так:  

Спасибо еще раз! Но, наверное, подход U235 проще?

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

Только для страниц, которые будут разделяться на чанки. А страницы, идущие к csepdjvu и к напрямую к minidjvu, останутся прежнего размера Наверное, я сначала попробую формулу U235, она гораздо экономнее и решает все эти проблемы, потому что ресайзить можно только цветной background-компонент.

Всего записей: 177 | Зарегистр. 18-05-2005 | Отправлено: 09:58 03-10-2010
anagnost96

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

Цитата:
Форматом вроде бы регламентируется, что размеры ч/б слоя могут быть любыми, но есть ограничения на размеры BG44 и FG44, которые должны быть равны 1/2 .. 1/12 от размеров Sjbz, с округлением в большую сторону.  

 
Да, похоже, я невнимательно прочел спецификацию. Получается, и правда надо следить лишь за тем, чтобы при субсэмплинге округление шло в бОльшую сторону.

Всего записей: 132 | Зарегистр. 01-05-2009 | Отправлено: 12:39 03-10-2010
iit512

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Исправил пару багов, сделал версию 0.9d. Попробую теперь потестировать с уменьшением разрешения заднего плана. Размытие, кстати, работает очень хорошо. Пожалуйста, постестируйте кто-нибудь с реальным выводом Scan Tailor. Кстати, я попробовал один небольшой проект -- получилось в два раза меньше, чем дает documenttodjvu.
Что касается до того, чтобы сделать черно-белые чанки частью потока для minidjvu, то очень не хочется превращать скрипт в двухпроходный. Посмотрим.

Всего записей: 177 | Зарегистр. 18-05-2005 | Отправлено: 23:45 04-10-2010
iit512

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

Цитата:
Все пожеланья принял Слон.
Опять за краски взялся он
И всем друзьям по мере сил
Слоновьей кистью угодил,
Изобразив снега, и лед,
И Нил, и дуб, и огород,
И даже мед!
(На случай, если вдруг Медведь
Придет картину посмотреть...)
(С. Михалков)

Версия 1.0 скрипта img2djvu -- http://github.com/ashipunov/img2djvu  
Особенно хороша для работы с выводом Scan Tailor.
Заменяет:
1) ST Split, Layer Tailor, ST Separator
2) DjVu Imager
3) DjVu Small, DjVu Solo
4) DjvuOCR
Делает фсё. Но медленно.  
Но делает.
Основан на bash + getopt, DjVuLibre, ImageMagick, minidjvu, а теперь еще и на ocrodjvu + cuneiform
Не умеет одного -- непрерывного словаря в том случае, если черно-белые страницы перемежаются с картиночными. Возможно, не умеет работать под Windows. Зато должен работать под Mac OS X.
Сыроват, тестировался мало, особенно с OCR.
Пример работы: img2djvu -m 20 -l 3 -r rus -a 1 s
(делает из папки s файл s.djvu со словарем 20 страниц, тройным даунсамплингом цветного слоя, агрессивно использует кодеры и добавляет русский OCR-слой).
Вот папка: http://rghost.ru/2831262
А вот результат: http://rghost.ru/2831268
(сканы были вполне некачественные, вынуты из плохо сделанного PDF с разрешением 200, затем обработаны Scan Tailor)
ПРОШУ ТЕСТИРОВАТЬ. Если возникают проблемы, выкладывайте, пожалуйста, на файлообменник исходную папку (или ее наименьший кусок, где еще есть проблема) + командную строку + результат (если вышло. конечно).

Всего записей: 177 | Зарегистр. 18-05-2005 | Отправлено: 12:24 06-10-2010 | Исправлено: iit512, 12:49 06-10-2010
anagnost96

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
iit512
 
Ну, прошу заметить, что STA она всё-таки не заменяет, поскольку STA был придуман в первую очередь ради того, чтобы избежать двойного ресэмплинга картинок (300 -> 600 в ST и потом опять 600 -> 300 или менее при DJVU-кодировании).

Всего записей: 132 | Зарегистр. 01-05-2009 | Отправлено: 12:36 06-10-2010
iit512

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

Всего записей: 177 | Зарегистр. 18-05-2005 | Отправлено: 12:44 06-10-2010
   

Страницы: 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 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200

Компьютерный форум Ru.Board » Компьютеры » Программы » Scan Tailor (часть 2)
Maz (10-01-2024 10:45): Scan Tailor (часть 3)


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru