Вы можете сделать шумную обрезку с помощью ImageMagick, например:
convert image-0001.png -virtual-pixel White -blur 0x15 -fuzz 15% -trim info:
Страница не пуста, если convert печатает что-то вроде этого:
image-0001.png PNG 4565x6129 4960x7016+279+816 8-bit Gray 0.000u 0:00.000
(пример ввода - отсканированное линейное изображение DIN A4 с разрешением 600 точек на дюйм)
Пусто, если высота / ширина после обрезки подозрительно мала, например:
image-0001.png PNG 2505x40 4960x7016+0+6976 8-bit Gray 0.000u 0:00.000
В отличие от метода пороговой гистограммы, это дает меньше ложных срабатываний, когда у вас есть страницы, которые просто содержат слово или строку текста. С пороговой гистограммой такие страницы могут быть ошибочно определены как пустые.
Рассматривая размер файла сжатого изображения, то есть как приближение энтропии, можно получить те же ложные срабатывания.
С другой стороны, документы с перфорацией, но в остальном пустые, скорее всего, не распознаются как пустые только с шумной обрезкой. Если вы заботитесь об этом, возможно, имеет смысл попросить ImageMagick сначала безоговорочно обрезать пространство. Например, если изображение было отсканировано с разрешением 600 точек на дюйм, и вы хотите игнорировать отступ в 1 дюйм вокруг:
convert i1.png -shave 600x0 -virtual-pixel White -blur 0x15 -fuzz 15% -trim info: