FitEllipse opencv- python> 4 - PullRequest
       63

FitEllipse opencv- python> 4

0 голосов
/ 06 мая 2020

У меня довольно большая проблема с fitellipse и opencv- python.

Я знаю, что мне нужно установить opencv-contrib- python, чтобы получить некоторые функции, но это не работает с функцией fitellips.

при использовании:

import cv2
cv2.fitEllipse()

вот результат:

TypeError: fitEllipse() missing required argument 'points' (pos 1)

но если сейчас я попробую использовать, например, определение контура из изображение:

img = cv2.imread('messi5.jpg',0)
retz,bawgray=cv2.threshold(img , 110,255,cv2.THRESH_BINARY)
contours,hierarchy = cv2.findContours(bawgray,1,1)
cnt = contours
big_contour = []
maxop = 0
for i in cnt:
    areas = cv2.contourArea(i) 
    if areas > maxop:
        maxop = areas
        big_contour = i 
img=cv2.drawContours(img, big_contour, -1, (0,255,0), 3)
cv2.FitEllipse(big_contour)

вот результат:

AttributeError: module 'cv2.cv2' has no attribute 'FitEllipse'

Я использую opencv- python 4.2.0.34 и opencv-contrib- python 4.2.0.34

1 Ответ

1 голос
/ 06 мая 2020

Вы не предоставили вывод для cv2.fitEllipse. Также вы неправильно написали имя. Это "fitEllipse", а не "FitEllipse" с нижним регистром "f".

Попробуйте

result = img.copy()
((centx,centy), (width,height), angle) = cv2.fitEllipse(big_contour)
cv2.ellipse(result, (int(centx),int(centy)), (int(width2/),int(height2/)), angle, 0, 360, (0,0,255), 1)
...