基础-MVP定位-找圆算子

找圆算子基于卡尺工具来检测圆弧特征。

参数配置和使用:
期望的圆:
配置这里的参数可以快速的锁定期望的目标圆,比在图像上手动拖动卡尺要方便很多。
(手动拖动卡尺有时候会方便一点,看具体情况)
先设置参数,如果没卡准,再略微调整卡尺位置这样也很方便且快速。不需要对圆心和坐标参数算的太精准,只需要个大概的参数即可,大大减少计算难度,快速定位到圆。

圆心坐标X和Y:这就是目标圆的圆心的坐标,填个大概就可以了。
圆弧起始角度:卡尺圆弧的起始位置,即预期圆弧的起始位置,与数学直角坐标系上的角度是一致的。
角度范围:卡尺的范围,360的卡尺范围有时候找到的圆与期望的圆会有一些细微的偏差,通过调整卡尺范围可使找到的圆更符合预期。
半径

蓝色的为期望的圆,绿色的部分为找到的圆。

卡尺的参数:设置
卡尺个数,卡尺的数量,决定了找点的区域,将在每个卡尺内找到一个满足的点,将用这些点来拟合成圆,至少需要找到三个点才能拟合成圆,所以卡尺个数所能设置的最小值为三。(软件已经限制好了,无需担心会设的过小)

搜索长度:
顺着卡尺方向走,那条边的长度就是搜索长度
投影长度:
与圆弧方向平行的那条边的长度就是投影长度
忽略点个数:
忽略部分卡尺找到的点,用于去除误差较大的点,注意,卡尺数与忽略点的个数差值要大于等于3,(这个软件已经考虑到了,如果忽略点的数量设的太多了,那么软件会将忽略点数重置到比卡尺数少3个的数量,让卡尺有效的点数至少有3个,来进行圆的拟合),卡尺内红色的点即为忽略点。

搜索方向:
内向外,外向内,决定了卡尺内查找期望点的方向

边缘模式:参考找边算子
单边缘
边缘0极性:由暗到明,由明到暗,任何极性

边缘对
边缘0极性:由暗到明,由明到暗,任何极性
边缘1极性:由暗到明,由明到暗,任何极性
找到圆的结果信息在结果界面查看:
有RMS误差、原心坐标,半径
找到的点结果的信息。

同样可以右键找圆算子,显示其隐藏参数,将结果拖至显示界面,进行展示。

对比度阈值:
边界像素对比度大于等于该值才会被检测到

高斯半径:
用来对图像进行高斯模糊处理,
作用:(1)滤除一些高斯噪声,去除一些图像边缘符合高斯分布(正态分布)的噪点。
2)    忽略边缘一半的像素点,使得图像边界更加清晰。(找边界的时候,黑白边界是有过渡带的,不是直接从从黑变成白色或者从白色变成黑色的,)
参数大小设置:
高斯半径的大小,等于边缘过渡带的大小时效果最佳(可根据图像处理实际情况进行适当调整)。
心得体会:
如果要找的圆边缘的过渡带大小不均匀,有大有效,可以就按照小的边缘过渡带的值来设置。按照大的过渡带设置的话会导致图像边缘部分忽略的像素点过多,反而让边界不清晰。(如果他们相差很大,那么就用小的边缘过渡带的值加一些值。主要就是多考虑小的值,别设置的太大)。

拟合方式:Ransac拟合
        Ransac是随机抽样一致性算法,它可以从一组包含“局外点”的数据集中,通过迭代方式估计圆形参数。在拟合时使用最小二乘法进行最佳拟合,即利用已知数据得出一个圆,使之在坐标系上与已知数据之间的距离的平方和最小。
        建立模型时利用圆的一般方程x²+y²+Dx+Ey+F=0,随机选取三点构建圆模型,计算每个点到此圆的TLS(Total Least Square),TLS小于一定阈值时的点为符合模型的点,点数最多时的模型即为最佳圆模型,再根据此时的圆参数画出最终拟合圆。

你可能感兴趣的:(计算机视觉,机器学习,图像处理)