Я не думаю, что в настоящее время существует простой и надежный метод обнаружения прямоугольников на изображении. Вам приходится иметь дело со многими проблемами, такими как прямоугольники, которые не являются точно прямоугольными, но только приблизительно, частичные окклюзии, изменения освещения и т. Д.
Одним из возможных направлений является сегментация изображения, а затем проверка того, насколько близок каждый сегмент к тому, чтобы быть прямоугольником. Поскольку вы не можете доверять алгоритму сегментации, вы можете запускать его несколько раз с разными параметрами.
Другим направлением является попытка параметрически подогнать прямоугольник к изображению так, чтобы величина градиента изображения вдоль контура была максимальной.
Если вы решите работать с параметрическим подходом, обратите внимание, что хотя тривиальный способ параметризации прямоугольника заключается в расположении его четырех углов, а это 8 параметров, есть несколько других представлений, которые требуют меньше параметров.