Найти и отбросить контуры внутри контуров - PullRequest
0 голосов
/ 28 октября 2019

Мне нужно найти несколько контуров панелей внутри изображения, но внутри этих панелей есть больше прямоугольников, которые также обнаруживаются функцией findcontours, но мне нужно удалить их, чтобы получить только самые внешние контуры,

enter image description here

Это пример изображения с этой проблемой, мне нужны два прямоугольника, которые образуют L-образный объект, но я не хочу, чтобы прямоугольник был внутри прямоугольника.

сейчас я нахожу контуры с этим кодом, но я застрял с удалением контура внутри контура.

_, contours,h = cv2.findContours(image,cv2.RETR_TREE, cv2.CHAIN_APPROX_NONE)
        areasCheck = []

        for cnt in contours:
            [x,y,w,h] = cv2.boundingRect(cnt)
            area = cv2.contourArea(cnt)
            if (w >= (width / 100 * 90)) and (h >= (height / 100 * 90)):
                continue
            elif w <= (width / 100 * 10) or h <= (height / 100 * 10):
                continue
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...