如何计算掩膜图中多个封闭图形的面积

import cv2

def calMaskArea(image,idx):
    mask = cv2.inRange(image, idx, idx)
    contours, hierarchy = cv2.findContours(mask, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_NONE)
    for contour in contours:
        area = cv2.contourArea(contour)
        print("图形的面积为", area)

image是包含多个封闭图形的掩膜图,如下:

idx表示掩膜的值,即图形的像素值,在RGB图像中是三维元组。e.g. (0,255,0)

contours中包含多个轮廓。

代码思路

  1. 使用cv2.inRange将图像二值化
  2. 使用cv2.findContours获取二值图像的轮廓,再使用cv2.contourArea计算每个轮廓的面积。

:直接对二值图像使用cv2.countNonZero无法分辨不同的封闭图形。

缺陷

这样计算的精度还不够高,比如计算圆形会损失1.9%的精度

圆形面积为7853.981633974483
图形的面积为 7704.0

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
计算机辅助设计AutoCAD-绘制封闭图形 计算机辅助设计AutoCAD-绘制封闭图形全文共36页,当前为第1页。 课堂讲解 使用线条命令绘制封闭图形 绘制矩形 绘制正多边形 绘制圆 绘制椭圆 绘制圆环 绘制特殊图形——点 计算机辅助设计AutoCAD-绘制封闭图形全文共36页,当前为第2页。 使用线条命令绘制封闭图形 封闭图形是指图形的起始点与结束点均在同一个点位置,且至少由3条边构成的图形。本节将简单介绍使用线条命令绘制封闭图形的方法。 使用LINE命令绘制封闭图形 使用PLINE命令绘制封闭图形 使用其他线条命令绘制封闭图形 计算机辅助设计AutoCAD-绘制封闭图形全文共36页,当前为第3页。 使用LINE命令绘制封闭图形 LINE命令是AutoCAD最基本的一项绘图命令。使用LINE命令不但可以绘制直线段,也可绘制具有封闭特性的图形。只需在命令行提示"指定下一点或 [闭合(C)/放弃(U)]:"时,选择"闭合"选项,系统自动将直线的结束点与起始点重合,此时就形成了一个封闭图形计算机辅助设计AutoCAD-绘制封闭图形全文共36页,当前为第4页。 使用PLINE命令绘制封闭图形 使用PLINE命令绘制封闭图形与使用LINE命令绘制封闭图形方法类似。当命令行提示"指定下一点或 [圆弧(A)/闭合(C)/半宽(H)/长度(L)/放弃(U)/宽度(W)]:"信息时,选择"闭合"选项即可绘制封闭图形计算机辅助设计AutoCAD-绘制封闭图形全文共36页,当前为第5页。 使用其他线条命令绘制封闭图形 在AutoCAD中,如样条曲线(SPLINE)、修订云线(REVCLOUD)等命令也具有绘制封闭图形的功能。但读者应注意在AutoCAD中,绘弧命令不具有闭合功能。 计算机辅助设计AutoCAD-绘制封闭图形全文共36页,当前为第6页。 绘制矩形 矩形即常说的长方形或正方形。使用RECTANG命令不但可以通过多种方式绘制标准矩形,而且还可以绘制出具有圆角或倒角效果的矩形图案。 使用RECTANG命令绘制的矩形是一条封闭的多段线,可以用PEDIT编辑。也可用EXPLODE命令分解成单一线段后分别进行编辑。 调用绘制矩形的命令有如下几种方法。 单击"绘图"工具栏中的 按钮。 选择[绘图] [矩形]菜单命令。 在命令行中执行RECTANG(REC)命令。 以指定角点方式绘制矩形 以指定面积方式绘制矩形 以指定尺寸方式绘制矩形 绘制圆角或倒角矩形 计算机辅助设计AutoCAD-绘制封闭图形全文共36页,当前为第7页。 以指定角点方式绘制矩形 矩形是由两对边组成的,有4个角点,只需确定其中两个对角点的位置,就可以绘制出矩形。在指定矩形的角点位置时,可以使用鼠标拾取点或在命令行中输入坐标值(绝对坐标或相对坐标)来确定。 在命令行中各选项含义如下。 倒角(C):设定矩形的倒角距离,绘制倒角的矩形。 标高(E):设定矩形在三维空间中的基面高度。 圆角(F):设定矩形的倒圆半径,绘制倒圆的矩形。 厚度(T):设定矩形的厚度,即在三维空间中Z轴方向的高度。 宽度(W):为绘制的矩形指定多段线宽度。 计算机辅助设计AutoCAD-绘制封闭图形全文共36页,当前为第8页。 以指定面积方式绘制矩形 在AutoCAD 2006中可以通过指定面积的方式,绘制已知面积大小的矩形。如绘制面积为240的矩形。 计算机辅助设计AutoCAD-绘制封闭图形全文共36页,当前为第9页。 以指定尺寸方式绘制矩形 通过指定尺寸方式可以绘制精确的矩形。如绘制如图7-1所示长为150,宽为70的矩形。 图7-1 以指定尺寸方式绘制矩形 计算机辅助设计AutoCAD-绘制封闭图形全文共36页,当前为第10页。 绘制圆角或倒角矩形 使用RECTANG命令还可以绘制具有圆角或倒角效果的矩形。如绘制如图7-2所示倒角距离均为5的倒角矩形。 图7-2 绘制倒角矩形 计算机辅助设计AutoCAD-绘制封闭图形全文共36页,当前为第11页。 由于倒角是由两条边形成的,因此,在绘制倒角矩形的过程中,需要指定第一个倒角距离和第二个倒角距离。 在绘制矩形的过程中,还需要了解以下几个选项,其含义分别如下。 标高(E):设定矩形在三维空间中的基面高度,在介绍三维绘图时,将详细介绍该功能。 厚度(T):设定矩形的厚度,即三维空间Z轴方向的高度。 宽度(W):设置矩形的线条宽度。 计算机辅助设计AutoCAD-绘制封闭图形全文共36页,当前为第12页。 绘制正多边形 使用POLYGON命令可以绘制由3~1024条边组成的正多边形。 调用绘制正多边形的命令有如下几种方法。 单击"绘图"工具栏中的 按钮。 选择[绘图] [正多边形]菜单命令。 在命令行中执行POLYGON(POL)命令。 指定多边形的

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值