opencv aruco参数分析

aruco.cpp
在287行有一个DetectInitialCandidatesParallel
在这里面有并行操作,用于对图像进行二值化,之后检测二值化后的图像中是否存在marker。

其循环次数直接和adaptiveThreshWinSizeMin adaptiveThreshWinSizeMax adaptiveThreshWinSizeStep相关。默认情况下分别是3 23 10,也就是会循环三次分别用3 13 23的二值化系数,其中数字越大,二值化以后的边缘越粗。实测认为23太大,循环为为3 6 9 即可。
至于adaptiveThreshConstant暂时觉得没有什么贡献,这个数值越高,二值化以后的图中孤立的噪声点越少,默认是7,可调为20。
adaptiveThreshWinSize参数没有用到,删了。

函数传入了Range就是adaptiveThreshWinSizeMin adaptiveThreshWinSizeMax 之间循环的次数。

minMarkerPerimeterRate是限制了图像中marker的最小边长尺寸,将这个修改为0.5会发现很多小的marker检测不出来。

程序通过findContours查找闭合边缘,然后先
根据min/maxMarkerPerimeterRate挑选出适合长度的区域

检查矩形以及凸型 使用approxPolyDP函数 输入一组点,输出该该点集的拟合图形,其中拟合偏差度由accuracyRate决定,其越小,拟合的越精确。默认是0.05,如果改为0.01则找出的区域在边角跳动很剧烈,因为阈值太严格,每张图像多多少少有噪声,这些噪声会直接影响结果。所以保持默认的0.05.
通过检查拟合出来的点集的size是否为4来筛选出矩形。通过isContourC

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值