Здравствуйте, я думаю, вы могли бы сделать следующее:
Поскольку вы действительно определили цвет ограничивающего прямоугольника, вы можете извлечь этот цвет из этого изображения в другое изображение (image_green).
Теперь, когда у вас есть image_green бинаризовать его (image_bin) i, e. Создайте массив с двумя цветами: извлеченный и передний план.
- Выполните цикл по матрице image_bin и найдите все «углы», которые будут всеми парами пикселей, которые соответствуют этому условию
image_bin[i:i+2,j]/max(image_bin.flatten()) == [1,0]
для любого j
(столбец) и i
(строка).
- Сохранить эти координаты (
[i,j]
). Как я уже упоминал ранее, эти значения представляют 2 угла прямоугольника: левый верхний угол и правый нижний угол.
Этот подход используется с массивами-пустышками, поэтому, как вы можете себе представить, вам нужно преобразовать изображение в массив до шага 3. Если у вас все еще есть проблемы с этим, сообщите мне, и когда у меня будет свободное время, я опубликую код, который делает это.
Удачи!