2016-10-15 2 views
0

enter image description herefitEllipse возвращает эллипсы, что в два раза больше, как фактический контур

Как вы можете видеть контур гораздо меньше подогнанный эллипс. Ниже приведен соответствующий код, который я использую для генерации эллипса. Может ли кто-нибудь сказать мне, что я делаю неправильно? Спасибо.

cv2.drawContours(orig, contour,-1, (0, 255, 0),3) #draw the green contour on image "orig" 
(center, size, angle) = cv2.fitEllipse(contour) #get best fit Ellipse from contour 
cv2.ellipse(grey_scale,(int(round(center[0])),int(round(center[1]))),(int(round(size[0])),int(round(size[1]))),int(round(angle)),0,360,(0,255,0),1) # draw ellipse on image "grey_scale" with the statistics gathered from second line 

ответ

1

draw function ожидает, что половину размера:

осей - Половина размера главных осей эллипса.

Более простой способ сделать это:

cv2.drawContours(orig, contour,-1, (0,255,0), 3) 
my_ellipse = cv2.fitEllipse(contour) 
cv2.ellipse(grey_scale, my_ellipse, (0,255,0), 1) 
+0

спасибо, что неподвижную его – kkawabat