如何在Python中计算两个轮廓之间的面积



我有一个轮廓列表(达到),轮廓是闭合的,我必须计算它们之间的面积。我试过scipy.integrate,但它给了我错误。我有大约200个轮廓,必须计算所有轮廓的面积,简单的方法吗?知道吗?谢谢

reached = [ contour for contour in prodcontours[prodwell.name] if contour.latest_time_on_contour()<tau ]
area = trapz(reached, dx=well.radius)

更新

for tau in years :
for contour in reached:
    ctr = np.array(contour)
    area =cv2.contourArea(ctr)
   TypeError: <unknown> data type = 15 is not supported

这是什么意思?或如何在不输入每个坐标的情况下,为200个轮廓重写这个

 contour = numpy.array([[[0,0]], [[10,0]], [[10,10]], [[5,4]]])
 area = cv2.contourArea(contour)

编辑1:顺便说一句,我的轮廓是复数,可能有问题吗?

编辑2:是的,因为我的轮廓是复数

您可以使用OpenCV库。

area = cv2.contourArea(contour)

其中轮廓可以是包含轮廓点的2D numpy阵列。

您可以在上阅读OpenCV文档http://docs.opencv.org/modules/imgproc/doc/structural_analysis_and_shape_descriptors.html了解更多详细信息。

最新更新