在进行图像处理时,难免会遇到Blob分析,诸如判断一个轮廓是否为圆形、是否为正方形等等,以便进行过滤筛选。

1,思路

通常会采用计算该轮廓最小包裹矩形的宽高比来判断是否为圆,但是这种办法不是很严谨,比如下面的轮廓就容易被误判为圆形。


所以,本人想了另外一种办法来避免这种误判。
1:计算轮廓点的形心,记为A。
2:计算所有轮廓点距A的距离,记为集合{Radius}
3:计算集合{Radius}的均值与标准差,均值作为虚拟半径。
4:计算标准差与均值的比值,若比值小于某阈值则判定为圆,反之,非圆。

代码如下:

 /**@作用:判断一个轮廓(一段闭合轮廓)是否近似圆形。*@contour:少于6个点直接返回false。*@sdRatio: 各个点离质心距离的标准差与平均值的比值阈值。若大于该阈值,视为非圆形。*@返回值:  true:是近圆形; false:非近圆形*/bool IsCircle(

判断一个轮廓是否为圆形相关推荐

  1. opencv判断一个点是否在轮廓内pointPolygonTest的用法

    OpenCV函数pointPolygonTest(): C++: double pointPolygonTest(InputArray contour, Point2f pt, bool measur ...

  2. open cv轮廓周围绘制圆形和矩形

    APIapproxPolyDP(精简多边形轮廓点数) 作用是把一个很多点的多边形变成一个点数适中的多边形 在这个多边形里面找它的最小连接矩形和最小的圆 approxPolyDP ( InputArra ...

  3. 判断一个点是否在RotatedRect中

    openCV函数pointPolygonTest(): C++: double pointPolygonTest(InputArray contour, Point2f pt, bool measur ...

  4. 6-1 判断一个点是否在一个圆的内部 (20 分)

    创建一个表示点的类Point,运用组合的方式创建圆形类. 圆形有个成员函数isPointIn用于判断一个点是否在该圆形的内部. 完成对应类代码,使得主函数可以正确运行. 注意类的数值型数据成员类型为浮 ...

  5. JS判断一个值是什么类型

    判断js数据类型有很多方法,我这里介绍以下三种常见的方法 1.typeof运算符 typeod是最常见的,使用它会返回一个字符串,设置函数对象和基本类型(js中的基本类型:number,string, ...

  6. linux判断是否能上网_母亲提醒女儿:判断一个男人是否值得嫁,从这两点就能轻易看出...

    没有哪个母亲不希望自己的女儿能够在长大之后嫁给一个出色的男人. 当然,这样的男人不需要有太多的钱或者出色的外貌,但必须得具备一定的人品. 我的一个朋友今年26岁,已经到了适婚年龄的她渴望着嫁给一个好男 ...

  7. python怎样判断一个文件是否存在_python如何判断一个文件是否存在

    python如何判断一个文件是否存在 发布时间:2020-09-23 11:38:42 来源:亿速云 阅读:82 作者:Leah python如何判断一个文件是否存在?针对这个问题,这篇文章详细介绍了 ...

  8. 判断一个IP区间(或IP)是否被另一个IP区间所包含

    以下方法实现判断一个IP是否被一个IP区间所包含 有一些静态方法可能引用了同名空间的自定义的类, 至于合并两个相临的IP段,可对其中的最大或最小IP+1 using System; using Sys ...

  9. python任意输入一个正整数、判断该数是否为素数_Python编程判断一个正整数是否为素数的方法,python素数...

    Python编程判断一个正整数是否为素数的方法,python素数 本文实例讲述了Python编程判断一个正整数是否为素数的方法.分享给大家供大家参考,具体如下: import string impor ...

最新文章

  1. Android线程池简单使用
  2. chm文件无法正常显示
  3. leetcode145. 二叉树的后序遍历(dfs)
  4. 基于Bootstrap和animate.css的模态框动画效果
  5. html怎么添加遮罩层,如何在浏览器窗口上添加一个遮罩层
  6. 海外市场鸿蒙系统,华为海外市场已恢复,鸿蒙系统首发应用在荣耀智慧屏,8月上市...
  7. 使用Mediacoder压制带有图片的ass字幕
  8. 武汉大学计算机学院 夏令营,武汉大学计算机学院2020保研夏令营通知
  9. java- string转成 json
  10. 【软件测试基础知识】SDK是什么?
  11. 产品经理如何进行市场分析的知识点
  12. FlowJO X 流式补偿调整
  13. 最全的的初中数学公式大全
  14. 【读书笔记】小狗钱钱
  15. CSS复合选择器、元素显示模式、背景
  16. innodb_flush_method 的理解
  17. table行的折叠和展开
  18. 论文检测系统如何选择?
  19. 阵列卡u盘安装系统步骤_最简单实用的raid重装系统图文教程
  20. [前端笔记——CSS] 10.层叠与继承+选择器

热门文章

  1. 网络层提供的两种服务
  2. Ganymed SSH-2 for Java系列11之SCPClient
  3. mysql8 2058_SQLyog连接MySQL8.0报2058错误的解决方案
  4. 微软Azure组面试(部分)
  5. 在线编码工具_每个新编码员都需要25种工具
  6. JDK8新特性Stream流使用详解
  7. windows端的MarginNote:BookxNote
  8. 英文学习20180621
  9. 7 轮面试后,还是挂了 | Google 中国面经分享
  10. java寻宝题目,寻宝