国外交互设计网站欣赏,网站建设公司山而,wordpress建站教程费用,在线抠图文章目录 前言一、卡尺原理二、1D边缘提取三、圆拟合四、软件实现结束语 基于OpenCV与Qt5构建卡尺找圆工具 前言
博主近期基于海康Vision Master4.0做了一个工业视觉工程项目#xff0c;其中就使用到了海康VM的找圆工具#xff0c;然后博主根据其中的技术原理#xff0c;也… 文章目录 前言一、卡尺原理二、1D边缘提取三、圆拟合四、软件实现结束语 基于OpenCV与Qt5构建卡尺找圆工具 前言
博主近期基于海康Vision Master4.0做了一个工业视觉工程项目其中就使用到了海康VM的找圆工具然后博主根据其中的技术原理也仿照开发了一个类似的功能基于OpenCV和Qt5构建一个卡尺找圆的工具。卡尺找圆是在计算机视觉领域中常用的技术用于检测图像中的圆形目标广泛应用于工业自动化、机器人导航等领域。 卡尺拟合直线参考博主的利用OpenCV与Qt5构建卡尺拟合直线工具C实现 一、卡尺原理
卡尺的原理就是找N个小矩形ROI里面的灰度值突变的地方。即遍历每个小矩形ROI分别找到1个点这个点是灰度突变的峰值。然后把这N个点拟合成直线或者圆。
二、1D边缘提取 通过Qt5构建一个卡尺圆查找工具形状由一个个矩形工具构建 对平均灰度值轮廓进行高斯滤波目的是让曲线更平滑消除噪点 对平滑后的轮廓求一阶导数 根据设置的参数提取边缘点。
三、圆拟合
圆拟合是一种用于从给定的离散点集合中拟合出一个最佳的圆形的方法。它在许多领域中都有广泛的应用例如计算机视觉、几何建模等。
圆拟合的原理通常基于最小二乘法旨在找到一个圆形模型使得给定的点集与该圆形模型之间的残差平方和最小。其步骤如下 数据预处理首先对于输入的离散点集合可以进行一些必要的预处理操作例如去除异常值或噪声点确保数据质量。 初始圆形模型估计为了得到初始的圆形模型通常可以通过其中的几个点计算出初始的圆心位置和半径估计值。这可以使用一些简单的方法如三点定圆法经过任意三个非共线点确定一个圆或最小二乘法拟合一个初始圆。 最小二乘拟合在得到初始的圆形模型估计后使用最小二乘法来优化拟合结果。最小二乘法通过迭代的方式调整圆心位置和半径的值使得拟合误差最小化。 残差计算和优化在每次迭代中根据当前的圆心位置和半径计算每个点到圆的距离然后将这些距离的平方和作为拟合误差的度量。根据拟合误差通过优化算法如非线性最小二乘法或梯度下降法更新圆心和半径的值。 收敛判断对于每次迭代可以设定一个收敛条件当满足条件时停止迭代得到最终的圆形模型。
需要注意的是圆拟合方法的性能和效果取决于离散点集的分布和噪声程度。对于噪声较多或存在异常点的情况可能需要使用一些鲁棒性更好的拟合方法例如 RANSAC随机抽样一致性算法来估计圆形模型。
四、软件实现
未使用商业图像处理库而是纯粹Qt5OpenCV 选择要查找圆的图像 绘制一个矢量圆查找工具 圆查找 4.与海康Vision Master对比 海康Vision Master卡尺工具计算: 圆半径是233.628圆心(831.874,504.140) 博主开发的卡尺找圆工具计算 圆半径是233.125圆心(831.584,503.827)
结束语
由于博主能力有限本篇文章中提及的方法也难免会有疏漏之处希望您能热心指出其中的错误以便下次修改时能以一个更完美更严谨的样子呈现在大家面前。