我有一个轮廓列表(达到),轮廓是闭合的,我必须计算它们之间的面积。我试过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了解更多详细信息。