def centers_contours(img):
if len(img.shape)==3:
img_gray=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
copy=img.copy()
else:
img_gray=img
copy=cv2.cvtColor(img,cv2.COLOR_GRAY2RGB)
threshold1=300
threshold12=500
edges=cv2.Canny(img_gray,threshold1,threshold12,apertureSize=5)
contours, hierarchy = cv2.findContours(edges,cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_NONE)
for cont in contours:
M = cv2.moments(cont)
if M['m00']>20:# обмеження на площу контура
cx = int(M['m10']/M['m00'])
cy = int(M['m01']/M['m00'])
cv2.circle(copy, (cx,cy), 3, (0,0,255), 3)
return copy
Використовуються геометричні моменти,для ігнорування випадкових малих контурів площа контурів обмежується знизу.
неділя, 11 квітня 2021 р.
Знаходження центрів мас контурів
Підписатися на:
Дописати коментарі (Atom)
Немає коментарів:
Дописати коментар