【问题标题】:How to calculate the area between 2 contours in Python?如何计算Python中2个轮廓之间的面积?
【发布时间】:2013-07-02 08:46:08
【问题描述】:

我有轮廓列表(到达),轮廓是封闭的,我必须计算它们之间的区域。我试过 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:原来如此,因为我的轮廓是复数

【问题讨论】:

    标签: python opencv scipy contour


    【解决方案1】:

    您可以使用 OpenCV 库。

    area = cv2.contourArea(contour)

    contour 可以是包含轮廓点的 2D numpy 数组。

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

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-01-14
    • 2014-05-05
    • 1970-01-01
    • 2014-11-20
    • 2013-04-26
    • 2015-12-16
    • 1970-01-01
    • 2012-06-24
    相关资源
    最近更新 更多