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

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

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

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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

Открыть новую тему     Написать ответ в эту тему

Maz



Дед Мазай
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Предыдущие темы: 1 часть | 2 часть | 3 часть | 4 часть

ScanKromsator

Знаменитый Кромсатор для обработки получаемых при сканировании изображений страниц.  
Автор: bolega
ScanKromsator в Википедии: http://ru.wikipedia.org/wiki/ScanKromsator
 
Обсуждение создания e-книг: Электронные книги: скан, обработка, сборка  
 
Текущая версия программы : ScanKromsator v7.00 | ScanKromsator v6.75
Добавки и замечания от bolega:  
к v6.91 |к v6.8 | к v6.75
Туториалы по ScanKromsator v6.72 и выше
Не используйте в версии 6.75 опцию Overwrite original scans after rotate!  
Это приведет к повреждению исходных сканов, если они не в формате jpg и их dpi>300.

Предыдущая версия программы: ScanKromsator v6.71  
Подключаемые утилиты и их настройка.
Предыдущая стабильная версия: ScanKromsator 6.00.5  
Устаревшие версии:
Подробнее...
 

Новое в 6-й версии
Изменения в версии (5.92) + описание нового порядка обработки (с "финализацией" файлов)
Учебный пример от bolega по использованию зон
Хелп v1.0 для Кромсатора. Есть в PDF (368 КБ)
 
Подборка ответов bolega про работу ScanKromsator (версия 1.0.2 с закладками и сносками), 2016 г.
 

Работа с автоглифами
Как подключить: шаги
Парсер    версия 2.3.1 из ветки утилит NME
Видео bolega про работу с автоглифами  (третья из четырех частей про  версию 6.72) https://disk.yandex.ru/i/AbTv4koTmCGogw.  
 

Как вставить OCR в PDF
Подробнее... | Иллюстрация алгоритма
 
 

Видеоуроки про ScanKromsator
 
Видео от bolega:
  Обработка зон. Часть 1. Версия с таймлайнами на youtube
    Как правильно обрабатывать зоны с фоном (чистка фона страниц в иллюстрациях).

  Обработка зон. Часть 2. Версия с таймлайнами на youtube
    Раскрашенные зоны, переобработка зон, габариты страниц, ребинаризация, удаление спеклов, малоцветные зоны и создание djvu.
 

Видеоролики других авторов: Подробнее...


О Хрестоматии 2.1 SK
ВАЖНО!


Перед тем, как задать вопрос, читаем внимательно файл sk.N.N.whats.new.txt



Выкладывайте субтаск своего задания, когда задаёте вопрос о работе SK.
Инструкция по созданию субтаска в следующей строке!

Что делать, если ScanKromsator не делает то, что хотелось бы...
И ещё bolega о том же самом...  
и, наконец, от него же ОКОНЧАТЕЛЬНОЕ РЕШЕНИЕ.

Всего записей: 39130 | Зарегистр. 26-02-2002 | Отправлено: 21:56 14-09-2023 | Исправлено: TelecomUral, 17:04 07-10-2024
jourmager

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Вставлю и я свои 14 копеек. Делал вчера, пишу по памяти, повторять сейчас нет времени.
Win 10 Pro 64x официал, без улучшалок, последние апдейты, файл подкачки по умолчанию автомат без ограничений
8 потоков, 16 ГБ ОЗУ, нормальный SSD
SK 6.97
1) Запуск SK с повышением dpi с 600 до 1200 с применением AutoW на оригинальном несжатом тиффе размером 109 МБ
В фоне болтается Edge c 200 вкладками и ещё несколько программ
окно 50 - время работы 1 минута (округлённо)
окно 100 - время работы 1.5 минуты
окно 200 - время работы 3 минуты
Во всех трёх случаях Таск менеджер Винды показывает для СК загрузку процессора 14,х% и загрузку памяти до 2281 МБ
Этапы работы - Deskew page, Rotating, Changing DPI, Calculate margins, Saving results
Deskew page занимает примерно 2 секунды, Rotating - моментально
Работа заканчивается профитом.
2) Перегружаю программу, но не комп
Оригинальный тифф ресайзаю в XnView до 1200 dpi, получаю 10000х14000 пикселей и 439 МБ несжатого тифф
В фоне Опера с 5 вкладками и Таск менеджер
Запуск СК на оригинальном dpi (1200) с AutoW с теми же окнами
Получаю Out of memory на 1-й, 1,5-й , 3-й минуте работы
Deskew page занимает примерно 8 секунд, Rotating - секунду-две
Этапа Changing DPI, ясное дело, нет вообще.
Сообщение Out of memory получаю на этапе Processing до Calculate margins
Во всех трёх случаях Таск менеджер Винды показывает для СК загрузку процессора 14,х% и загрузку памяти до 2611 МБ
3) Перегружаю комп, повторяю п.1. Всё то же самое, как было в п. 1.
4) Перегружаю комп, повторяю п.2. Всё то же самое, как было в п. 2.
 
И тут дёрнул меня чёрт, после вылета на модифицированном 1200 dpi файле, снова запустить СК с changing dpi с 600 до 1200 (как п.1). Получаю Out of memory. Матюкнулся. Запустил бинаризацию тиффа 1200 dpi 409 МБ (как п.2) - получаю нормальный результат с загрузкой памяти на уровне 27хх МБ. Пошел спать.
 
Update: то, что этап Changing DPI на п.1 показывается на протяжении почти всего процесса - это неправильное отображение программой этапов работы. На самом деле этап Changing DPI должен показываться пару секунд, а потом появляться сообщение что-то типа Binarizationing..., но нет. Сообщение Changing DPI очищается не после окончания процесса изменения dpi, а после появления названия следующего этапа - в данном случае Calculate margins.

Всего записей: 832 | Зарегистр. 04-11-2019 | Отправлено: 15:12 16-01-2024 | Исправлено: jourmager, 17:00 16-01-2024
qwaxym



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

Цитата:
В фоне болтается Edge c 200 вкладками и ещё несколько программ

Не многовато? Браузер много потребляет памяти! У меня практически такая же конфигурация, только 4 потока, памяти хватает!

Всего записей: 136 | Зарегистр. 19-12-2007 | Отправлено: 11:18 18-01-2024 | Исправлено: qwaxym, 11:20 18-01-2024
jourmager

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

Цитата:
Не многовато? Браузер много потребляет памяти!

С некоторых пор браузеры на основе Chromium - Chrome, Edge, Opera - по умолчанию используют механизм экономии памяти с переводом незадействованных окон и вкладок в неактивный режим. Экономию памяти можно отключить.  
В любом случае в Windows с незапамятных времен используется принцип виртуальной памяти, когда незадействованные страницы памяти при необходимости сбрасываются в файл подкачки.  
Т.е. когда у меня активный СканКромсатор с полной загрузкой одного потока начинает потреблять память, то все остальные неактивные задачи замораживаются или сбрасываются в файл подкачки.  
Понятно, что если одновременно с бинаризацией на СканКромсаторе будет проводиться, например, распознавание с помощью FineReader. когда задействованы все потоки и максимум памяти, то картина перестаёт быть томной.
В любом случае, у меня на 16 ГБ ОЗУ нехватки этого ОЗУ при бинаризации с помощью СканКромсатора не фиксировалось.
 
Мне тут другое непонятно.  
Когда СканКромсатор делает бинаризацию на Auto, т.е. глобальный Otsu, когда обрабатывается вся страница сразу, я вижу потребление памяти программой 250-350 МБ на файле 600 dpi 36 мегапикселей и 500-1400 МБ на файле 1200 dpi 144 мегапикселя.
А когда СканКромсатор делает бинаризацию на AutoW, т.е. локальный адаптивный Wolf, когда страница обрабатывается (на СК в один поток процессора) окнами по 50х50, 100х100, 200х200 пикселей, т.е. окнами площадью по 2500-40000 пикселей, я вижу потребление памяти программой 2281 МБ на файле 600 dpi 36 мегапикселей и 2611 МБ на файле 1200 dpi 144 мегапикселя.
Т.о. получается, что на Вольфе потребление памяти в 10000 раз выше, чем на Отсу, чего не может быть.  
Ну и время - 1-3 минут на Вольфе против 1-5 секунд на Отсу, т.е. разница в 50 раз.

Всего записей: 832 | Зарегистр. 04-11-2019 | Отправлено: 14:14 18-01-2024
AlVaKo

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

Цитата:
Т.о. получается, что на Вольфе потребление памяти в 10000 раз выше, чем на Отсу, чего не может быть.  
Ну и время - 1-3 минут на Вольфе против 1-5 секунд на Отсу, т.е. разница в 50 раз.

Когда напишите свою реализацию Оцу и Вольфа, тогда не будете делать таких заявлений. Для расчета порога по Оцу требуется 2561024-2048 байта памяти, при любом размере исходного изображения, и 3-5 обращения к памяти на каждый пиксел исходного изображения.  А для Вольфа, с использованием интегральных изображений, требуется около 12 байт на каждый пиксел исходного изображения. И примерно 12-16 (могу ошибаться, делал 4 года назад) обращений к памяти для каждого пиксела. А ещё вычесления.  
 
Так что, там не в 10000 раз выше, а ещё выше и выше...  

Всего записей: 57 | Зарегистр. 06-07-2011 | Отправлено: 15:49 18-01-2024 | Исправлено: AlVaKo, 22:49 18-01-2024
zvezdochiot



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

Цитата:
с использованием интегральных изображений

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

Всего записей: 692 | Зарегистр. 18-05-2023 | Отправлено: 16:15 18-01-2024
AlVaKo

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Делал тупо-наивную реализацию Сауволы. Не помню, какой был размер окна. ДПИ скорее всего было 300(точно не 1200). Время работы составило более часа.  
 
Я тут посчитал. Для 1200 ДПИ-шного скана А4, оба интегральных изображения должны быть 64-разрядными. А это требует 2.24 Гига памяти.

Всего записей: 57 | Зарегистр. 06-07-2011 | Отправлено: 17:21 18-01-2024
zvezdochiot



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

Цитата:
оба интегральных изображения должны быть 64-разрядными. А это требует 2.24 Гига памяти.

Ну так я и говорю, ограничить размер интегральных изображений, скажем size_max=2000*2000=4M. Тогда и для сумм можно всего 32бит пользовать (не для сумм квадратов!) и расход памяти будет заранее известен. Ну будет небольшая погрешность среднего и дисперсии, только эту погрешность с лупой надо будет по всему изображению выискивать. Ну добавится к выч. затратам квантование индексов, но это капля в море.
 
 

Всего записей: 692 | Зарегистр. 18-05-2023 | Отправлено: 17:27 18-01-2024 | Исправлено: zvezdochiot, 17:29 18-01-2024
jourmager

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

Цитата:
Когда напишите свою реализацию Оцу и Вольфа

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

Всего записей: 832 | Зарегистр. 04-11-2019 | Отправлено: 20:16 18-01-2024
AlVaKo

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Так может тогда стоило написать - "чего не может быть в другой программе".
 
Хм... Разные программы, разные программисты, скорее всего разные реализации. Ну и как результат, не совсем одинаковая работа разных программ.

Всего записей: 57 | Зарегистр. 06-07-2011 | Отправлено: 21:14 18-01-2024 | Исправлено: AlVaKo, 21:14 18-01-2024
jourmager

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

Цитата:
Разные программы, разные программисты, скорее всего разные реализации. Ну и как результат, не совсем одинаковая работа разных программ.

Естественно. Только "не совсем", как для меня - это слишком слабо сказано.
Например, если СканКромсатор делает бинаризацию Auto (Otsu) за 1 секунду (грубо говоря), а "другая программа" - за 6-8 секунд, при такой же загрузке памяти и процессора, то по-моему это большая разница.

Цитата:
для Вольфа, с использованием интегральных изображений

А что вы имеете в виду под термином "интегральные изображения?"

Цитата:
Так может тогда стоило написать

Я не имел в виду другую программу.
Я имел в виду, что при методе Otsu вычисления проводятся сразу над всем изображением, а при методе Wolf вычисления проводятся над окном, которое в 1000 раз меньше, чем полное изображение. Я понимаю, что это очень наивные рассуждения, но.

Всего записей: 832 | Зарегистр. 04-11-2019 | Отправлено: 21:48 18-01-2024
zvezdochiot



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

Цитата:
Я тут посчитал. Для 1200 ДПИ-шного скана А4, оба интегральных изображения должны быть 64-разрядными. А это требует 2.24 Гига памяти.

Имеется в виду использование 3-х компонентного интегрального изображения? Тогда вопрос возникает такой: Зачем пользовать в пороге 3х компонентные изображения, когда для порога (любого) более чем достаточно использование однокомпонентных (Gray) изображений?
Ведь использование однокомпонентных изображений вместо трёхкомпонентных - это не много, не мало в 3 раза сокращает расход памяти.

Всего записей: 692 | Зарегистр. 18-05-2023 | Отправлено: 08:45 19-01-2024 | Исправлено: zvezdochiot, 08:47 19-01-2024
AlVaKo

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

Цитата:
zvezdochiot
Имеется в виду использование 3-х компонентного интегрального изображения?

 
Нет, я про другое. Скан листа А4 при 1200 dpi будет содержать 140 миллионов точек. Умножаем на 255, получаем, что последняя точка интегрального изображения яркости в   предельном случае будет содержать число = 35,7 миллиардов. Такое число не помещается в 32-бита. Если что, я имел ввиду целочисленые ячейки памяти.    

Всего записей: 57 | Зарегистр. 06-07-2011 | Отправлено: 09:58 19-01-2024 | Исправлено: AlVaKo, 10:06 19-01-2024
zvezdochiot



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

Цитата:
Нет. Скан листа А4 при 1200 dpi будет содержать 140 миллионов точек.

Всё. Понял где ошибся. Я по привычке рассматриваю книжные форматы, типа 60x90 1/16, а они много меньше A4. На A4 в твоих выкладках не обратил внимание (да и непривычен такой формат). Тогда опять всё возвращается к ограничению интегральных изображений заранее рассчитанным размером и индексному квантованию.
 
 

Всего записей: 692 | Зарегистр. 18-05-2023 | Отправлено: 10:10 19-01-2024
AlVaKo

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

Цитата:
jourmager
Я имел в виду, что при методе Otsu вычисления проводятся сразу над всем изображением, а при методе Wolf вычисления проводятся над окном, которое в 1000 раз меньше, чем полное изображение. Я понимаю, что это очень наивные рассуждения, но.

 
А теперь число вычислений для одного окна умножте на общее число точек скана. У каждой точки скана свое окно.
 
Для грубой оценки быстродействия.  
 
Оцу - 4 обращения к памяти и ~0 вычислений на каждую точку скана.
 
Саувола (наивная реализация) (локальное окно 100х100) -  10 000 обращений к памяти и 1(одно) вычисление на каждую точку скана.
 
Саувола (используя интегральные изображения)(размер окна не имеет значения) - 19 обращений к памяти и 1(одно) вычисление на каждую точку скана.
 
Например "моя реализация" Саувола в 12 раз медленее "моего" Оцу.
 

Цитата:
А что вы имеете в виду под термином "интегральные изображения?"  

 
Можно поискать на хабре -  "Бинаризация Брэдли"

Всего записей: 57 | Зарегистр. 06-07-2011 | Отправлено: 13:29 19-01-2024 | Исправлено: AlVaKo, 14:16 19-01-2024
rzia

Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Здравствуйте
Подскажите, пожалуйста, что сделать что бы после конвертации в DjVu не оставалось следов от выделенной зоны см. картинку.
 
https://disk.yandex.ru/i/bj26BQQa6W8r-g

Всего записей: 36 | Зарегистр. 07-05-2012 | Отправлено: 10:55 27-01-2024
TelecomUral

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
rzia
задание где?! ну написано ж в шапке.
 
так-то скорее всего на закладке djvu в зоне не установлена галка few colors. от этого фоновый цвет идет в фон, а не в передник. на Мархасеве когда-то было то же самое у меня. но надо посмотреть.

Всего записей: 3340 | Зарегистр. 15-07-2010 | Отправлено: 11:22 27-01-2024
rzia

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

Цитата:
ак-то скорее всего на закладке djvu в зоне не установлена галка few colors. от этого фоновый цвет идет в фон, а не в передник.  

Спасибо, не помогло

Всего записей: 36 | Зарегистр. 07-05-2012 | Отправлено: 12:04 27-01-2024
qwaxym



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

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

rzia а зона там зачем?  

Всего записей: 136 | Зарегистр. 19-12-2007 | Отправлено: 20:01 27-01-2024
rzia

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

Цитата:
rzia а зона там зачем?  

Обложка имеет 3 цвета, соответственно я выделил 2 picture zone, одна на всю страницу, вторая поверх первой.

Всего записей: 36 | Зарегистр. 07-05-2012 | Отправлено: 20:34 27-01-2024
TelecomUral

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
для синего не надо выделять зону. если кодите дежавю в СК, то в out-задании надо растянуть во всю страницу новую крашеную зону с синим фоном. Это проще при обработке, и гарантирует результат.

Всего записей: 3340 | Зарегистр. 15-07-2010 | Отправлено: 20:48 27-01-2024
Открыть новую тему     Написать ответ в эту тему

Страницы: 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

Компьютерный форум Ru.Board » Компьютеры » Программы » ScanKromsator | СканКромсатор (Часть 5)


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

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

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru