У меня была похожая задача. Я искал один прямоугольник заданных пропорций.
После первичной обработки изображений (фильтры, бинаризация и т.п.) я искал контуры алгоритмом Canny.
Среди контуров искал такие, компактность которого попадает в заданный интервал.
Компактность это отношение квадрата периметра к площади. Для контуров это величина постоянная. Таким образом я отсекал лишние контуры.
В моем случае алгоритм давал устойчивый результат, если целевой прямоугольник был жирнее прочих контуров. Но у меня были не сканы, а фото: плохое освещение, засвет, тени и проч. То есть селективный фильтр красного например цвета не работал, потому что при вечернем освещении или при теплых фильтрах на фото общий оттенок картинки был красноватый и в фокус могли попасть паразитные контуры.
Код к сожалению не под рукой. Если нужен, могу позже дописать.