Chcę narysować obwiednię wokół każdego zamkniętego konturu obszaru większego niż jakiś próg, a nie tylko największy kontur. Jak mogę to zrobić? Do tej pory to właśnie próbowałem:Rysowanie obwiedni wokół zadanego rozmiaru Kontur obszaru
contours, _ = cv2.findContours(thresh, cv2.RETR_LIST, cv2.CHAIN_APPROX_SIMPLE)
for c in contours:
rect = cv2.boundingRect(c)
if rect[2] < 100 or rect[3] < 100: continue
print cv2.contourArea(c)
x,y,w,h = cv2.boundingRect(c)
cv2.rectangle(im,(x,y),(x+w,y+h),(0,255,0),2)
cv2.putText(im,'Moth Detected',(x+w+10,y+h),0,0.3,(0,255,0))
cv2.imshow("Show",im)
cv2.waitKey()
cv2.destroyAllWindows()
Próbowałem naprawić formatowanie kodu, ale możesz edytować ponownie, jeśli znaczenie kodu uległo zmianie, ponieważ spacja ma znaczenie w Pythonie. – Aurelius
Czy mógłbyś także opisać problem, którego doświadczasz? Jakie jest obecne zachowanie w porównaniu do tego, czego oczekujesz? Właśnie wypróbowałem twój kod (post-edit) i rysuje kontury wokół więcej niż jednego konturu. – Aurelius
Cześć Aurelius, dziękuję za edycję, to faktycznie działa teraz, wcięcie było problemem., Jeśli chciałbyś głosów na głos, przepisuj jako odpowiedź i źle go głosuj. Dzięki –