Я пытался найти контуры коричневых областей на моей раме.
![frame](https://i.stack.imgur.com/Alndc.jpg)
Я пытался найти эти контуры в for
l oop.
for c in cntrs:
area = cv2.contourArea(c)
if area > 1200: # i obtanied threshold with trial end error
x, y, w, h = cv2.boundingRect(c) #find coordinates of brown area
roi2 = results[y:y + h, x:x + w] #copy these parts to the another image
но я вижу только один контур как результат
![result](https://i.stack.imgur.com/wvokq.png)
я не мог понять, почему я вижу только один контур , потому что когда я печатаю количество пороговых контуров, я вижу 2
вот что я попробовал
import cv2
import numpy as np
cv2.destroyAllWindows()
capture = cv2.VideoCapture(0) ##masaustunde 1, laptopta 0
def nothing(x):
pass
roi = cv2.imread('savedImage.jpg')
cv2.imshow('input', roi)
hsv = cv2.cvtColor(roi, cv2.COLOR_RGB2HSV)
lower_green = np.array([0, 0, 0])
upper_green = np.array([40, 255, 255])
mask = cv2.inRange(hsv, lower_green, upper_green)
mask_inv = cv2.bitwise_not(mask)
fg = cv2.bitwise_and(roi, roi, mask=mask_inv)
gray = cv2.cvtColor(fg, cv2.COLOR_BGR2GRAY)
gray = cv2.cvtColor(fg, cv2.COLOR_BGR2GRAY)
thresh = cv2.threshold(gray, 32, 255, 0)[1]
cntrs = cv2.findContours(thresh, cv2.RETR_LIST, cv2.CHAIN_APPROX_SIMPLE)
cntrs = cntrs[0] if len(cntrs) == 2 else cntrs[1]
area_thresh = 0
syc = 0
results = fg.copy()
for c in cntrs:
area = cv2.contourArea(c)
if area > 1200: #esige dikkat
syc = syc + 1
x, y, w, h = cv2.boundingRect(c)
roi2 = results[y:y + h, x:x + w]
cv2.imshow('roi2', roi2)
cv2.waitKey(0)
capture.release() # release the camera from video capture
cv2.destroyAllWindows()