[Halcon&拟合] 边缘拟合算法拓展

简介: [Halcon&拟合] 边缘拟合算法拓展

一. 首先,平滑灰度值轮廓,确定一阶导数和二阶导数。

measure_projection — 提取一个垂直于矩形或环形圆弧的灰度值轮廓。
 create_funct_1d_array — 根据y值序列创建一个函数。
 smooth_funct_1d_gauss — 用高斯函数平滑等距一维函数。
 derivate_funct_1d — 计算一个函数的导数(一阶/二阶)。
derivate_funct_1d (SmoothedFunction, 'first', FirstDerivative)
derivate_funct_1d (SmoothedFunction, 'second', SecondDerivative)

二. 确定一阶导数过零点的位置,即,(平滑的)灰度值轮廓有最小值和最大值的位置。

zero_crossings_funct_1d — 计算函数的过零。
zero_crossings_funct_1d (FirstDerivative, ZeroCrossings)

三. 选择最小值的位置。(即二阶导数为正的位置)其中平滑的灰度值轮廓具有高曲率,即,其中二阶导数的绝对值较大。这个标准确保只选择突出的线。(找到灰度值变化较大的位置,即线条的位置,即可将线条绘制出来)

MinimumMagnitudeOfSecondDerivative := 8
PositionOfSalientLine := []
for i := 0 to |ZeroCrossings| - 1 by 1
    get_y_value_funct_1d (SecondDerivative, ZeroCrossings[i], 'constant', Y)
    if (Y > MinimumMagnitudeOfSecondDerivative)
        PositionOfSalientLine := [PositionOfSalientLine,ZeroCrossings[i]]
    endif
endfor

四. 效果:

参考:halcon例程中的measure_caliper(测量卡尺的节距线之间的距离)

目录
相关文章
|
7月前
|
算法
【MATLAB】数据拟合第12期-基于高斯核回归的拟合算法
【MATLAB】数据拟合第12期-基于高斯核回归的拟合算法
340 0
|
7月前
|
机器学习/深度学习 算法 数据挖掘
【MATLAB】数据拟合第10期-二阶多项式的局部加权回归拟合算法
【MATLAB】数据拟合第10期-二阶多项式的局部加权回归拟合算法
196 0
|
7月前
|
算法
基于最小二乘正弦拟合算法的信号校正matlab仿真,校正幅度,频率以及时钟误差,输出SNDR,SFDR,ENOB指标
基于最小二乘正弦拟合算法的信号校正matlab仿真,校正幅度,频率以及时钟误差,输出SNDR,SFDR,ENOB指标
|
7月前
|
机器学习/深度学习 分布式计算 并行计算
【MATLAB】史上最全的13种数据拟合算法全家桶
【MATLAB】史上最全的13种数据拟合算法全家桶
1277 1
|
7月前
|
机器学习/深度学习 文字识别 算法
[Halcon&图像] 缺陷检测的一些思路、常规检测算法
[Halcon&图像] 缺陷检测的一些思路、常规检测算法
2259 1
|
7月前
|
机器学习/深度学习 数据采集 算法
|
7月前
|
算法
算法系列--动态规划--背包问题(4)--完全背包拓展题目(上)
算法系列--动态规划--背包问题(4)--完全背包拓展题目(上)
48 0
|
7月前
|
算法 数据挖掘
[Halcon&图像] 阈值分割算法拓展
[Halcon&图像] 阈值分割算法拓展
145 1
|
7月前
|
机器学习/深度学习 分布式计算 并行计算
【MATLAB】数据拟合第11期-基于粒子群迭代的拟合算法
【MATLAB】数据拟合第11期-基于粒子群迭代的拟合算法
192 0
|
18天前
|
算法
基于WOA算法的SVDD参数寻优matlab仿真
该程序利用鲸鱼优化算法(WOA)对支持向量数据描述(SVDD)模型的参数进行优化,以提高数据分类的准确性。通过MATLAB2022A实现,展示了不同信噪比(SNR)下模型的分类误差。WOA通过模拟鲸鱼捕食行为,动态调整SVDD参数,如惩罚因子C和核函数参数γ,以寻找最优参数组合,增强模型的鲁棒性和泛化能力。