Получение большего количества контуров на большом изображении определенной области c, но получение только одного контура на меньшем изображении той же области - PullRequest
0 голосов
/ 17 июня 2020

Я новичок в python и OpenCV. Я пытаюсь получить контуры из изображения ниже. Моя цель - определить контуры красной области (красная граница отсутствует на реальном изображении) d

for that, I have written below code

ret, thresh1 = cv2.threshold(gray, 0, 255, cv2.THRESH_OTSU | cv2.THRESH_BINARY_INV)
rect_kernel = cv2.getStructuringElement(cv2.MORPH_RECT, (9, 9))
dilation = cv2.dilate(thresh1, rect_kernel, iterations=1)
contours, hierarchy = cv2.findContours(dilation, cv2.RETR_EXTERNAL,cv2.CHAIN_APPROX_NONE)
img = cv2.drawContours(img, contours, -1, (0, 0, 255), 1)

So I am getting total 38 contours. The result is as below enter image description here

Till now everything was running fine but Now I am trying to perform the same operations on the bellow image which is cropped run time (and my targeted area). I didn't change resolution of the image only just crop image run time based on previous contours.

Testing image

and but now I am getting only one contour. Earlier there were multiple contours for the same area. The result is as below введите описание изображения здесь

Может кто-нибудь, приятель, объяснить, почему это происходит? И какое решение? Заранее благодарим

...