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