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