/ / Pobieranie i kadrowanie obiektu na obrazach za pomocą konturów - python, obraz, kontur otwarty

Pobieranie i kadrowanie obiektu na obrazach za pomocą konturów - python, obraz, kontur opencv

Jak przyciąć obiekt znaleziony przez findContours () bez utraty rzeczywistego rozmiaru obiektu?

Odpowiedzi:

0 dla odpowiedzi № 1

Jeśli używasz opencv, możesz przyciąć kontur znaleziony na obrazie, znajdując prostokąt ograniczający.

import cv2
image = cv2.imread("paths.png")
cv2.namedWindow("Contour", cv2.WINDOW_AUTOSIZE)
imgray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
ret, thresh = cv2.threshold(imgray, 127, 255, 0)
im2, contours, hierarhy = cv2.findContours(thresh, cv2.RETR_TREE, cv2.CHAIN_APPROX_NONE)
for i in range(0,len(contours)):
x,y,w,h=cv2.boundingRect(contours[i])
result=imgray[y:y+h, x:x+w]
cv2.imwrite("contour"+str(i)+".png",result)