0
- 20.08.2013 - 13:58
|
Добрый день. Необходимо определить пустое изображение или нет (листы документа). Должен учитываться возможный мусор на краях листа (скан) Полагаю нужно преобразовать в черно-белое изображение и затем выполнять какие-то проверки построчно. Нет ли у кого примерного алгоритма (ссылки) как можно сделать подобную обработку? | |
1
- 20.08.2013 - 23:08
| ну по умному можно прикрутить частотный анализ (фурье), по глупому конвертнуть в жипег с хорошим сжатием и поглядеть на размер | |
2
- 21.08.2013 - 00:15
|
1-wayerr > Матанализ это сурово. "Который член придется впору, Чтобы вставить в зад Тейлору? Оба члена хороши - И Лагранжа, и Коши". Если совсем по-простому, нужно определить размер области в центре, отклонение групп пикселей которой от белого цвета не превышает заданную дельту. Если она более заданного процента размера - лист пуст, если нет - возможны варианты. Дельта и процент - определяются экспериментально. В общем виде, без примеров сканов, трудно предложить решение. | |
3
- 21.08.2013 - 00:16
| Рыть хорошие учебники по компьютерной графике (они есть, их не может не есть) | |
4
- 21.08.2013 - 10:26
|
(2)Тоже думаю в этом направлении. Пока остановился на варианте с использованием весовых показателей: строки и колонки с краю на заданном отступе будут иметь убывающий к краю весовой коэффициент < 1, остальное поле = 1. Анализ производится построчно на соответствие некоторому порогу, ниже которого строка считается пустой. Спасибо, буду тестировать. | |
5
- 22.08.2013 - 07:58
|
Имхо нужно копать в сторону уже написанных велосипедов. Консольный ImageMagick (и его форки) - умеет обрезать поля для анализа, конвертировать в битовую монохромную графику и формировать сведения об оставшейся палитре. У меня была реальное задача - при массовом сканировании на очень мощном МФУ (лоток автоподачи оригиналов сканирования - 200 листов, при среднем "пакете" документов 4 листа) - обеспечить авторазделение файлов-стопок листов по пустой странице-разделителю, чтобы было удобнее заносить в систему эл. док. оборота. Решил все просто: скрипт брал большой, сырой, от сканера PDF (параметры 200dpi, B/W) разбивал постранично (pdftk.exe), затем перебирал объемы файлов и делил по минимальным (белым, <11 кБ) листам на группы, затем склеивал их обратно (pdftk.exe) в несколько файлов. Время полной обработки 200-страничного файла (с получением ~45 мелких) - около 2 минут. А если вставлять в лоток каждый пачку отдельно - уходило на возню - 23 минуты. Написание и отладка скриптов заняла около дня, при том что тема раскуривалась впервые. Ошибок за 3 года эксплуатации не обнаЖурено :-)) Кстати, чтобы не было видно мусора по краям листов - стопку для сканирования накрывали стальным листом и барышня становилась на него на минутку. Заодно стала очень стройной. | |
| Интернет-форум Краснодарского края и Краснодара |