如何找到使用 cv.fitEllipse(contour) 获得的椭圆的面积?

2 python opencv

我正在使用ellipse = cv2.fitEllipse(cnt).

它返回一个由 3 个元素组成的元组,但我无法找到其中任何一个描述的内容。我想找到获得的椭圆的面积。我该怎么做。

谢谢!

dpw*_*son 5

fitEllipse返回一个由三个元素组成的元组(如你所说),它定义了椭圆的边界框。我将使用以下行来引用这些元素:

(x, y), (MA, ma), angle = cv2.fitEllipse(cnt)
Run Code Online (Sandbox Code Playgroud)

这里唯一相关的信息是(MA, ma),它按顺序包含长轴和短轴的长度。椭圆的面积只是 pi 乘以长轴和短轴的乘积。(因此位置和旋转无关紧要。)因此您可以使用以下方法计算该椭圆的面积

A = PI * MA * ma
Run Code Online (Sandbox Code Playgroud)

  • 请注意,在处理由“fitEllipse”返回的轴(不是半轴)时,您需要除以 4。所以公式是`A = PI / 4 * MA * ma`。 (2认同)