[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(测量卡尺的节距线之间的距离)

目录
相关文章
|
5月前
|
算法
【MATLAB】数据拟合第12期-基于高斯核回归的拟合算法
【MATLAB】数据拟合第12期-基于高斯核回归的拟合算法
104 0
|
5月前
|
机器学习/深度学习 算法 数据挖掘
【MATLAB】数据拟合第10期-二阶多项式的局部加权回归拟合算法
【MATLAB】数据拟合第10期-二阶多项式的局部加权回归拟合算法
49 0
|
3月前
|
算法
基于最小二乘正弦拟合算法的信号校正matlab仿真,校正幅度,频率以及时钟误差,输出SNDR,SFDR,ENOB指标
基于最小二乘正弦拟合算法的信号校正matlab仿真,校正幅度,频率以及时钟误差,输出SNDR,SFDR,ENOB指标
|
5月前
|
机器学习/深度学习 分布式计算 并行计算
【MATLAB】史上最全的13种数据拟合算法全家桶
【MATLAB】史上最全的13种数据拟合算法全家桶
245 1
|
20天前
|
机器学习/深度学习 数据采集 算法
|
21天前
|
算法
算法系列--动态规划--背包问题(4)--完全背包拓展题目(上)
算法系列--动态规划--背包问题(4)--完全背包拓展题目(上)
20 0
|
5月前
|
机器学习/深度学习 文字识别 算法
[Halcon&图像] 缺陷检测的一些思路、常规检测算法
[Halcon&图像] 缺陷检测的一些思路、常规检测算法
356 1
|
5月前
|
机器学习/深度学习 分布式计算 并行计算
【MATLAB】数据拟合第11期-基于粒子群迭代的拟合算法
【MATLAB】数据拟合第11期-基于粒子群迭代的拟合算法
67 0
|
5月前
|
算法 数据挖掘
[Halcon&图像] 阈值分割算法拓展
[Halcon&图像] 阈值分割算法拓展
53 1
|
13天前
|
机器学习/深度学习 人工智能 算法
基于DCT和扩频的音频水印嵌入提取算法matlab仿真
本文介绍了结合DCT和扩频技术的音频水印算法,用于在不降低音质的情况下嵌入版权信息。在matlab2022a中实现,算法利用DCT进行频域处理,通过扩频增强水印的隐蔽性和抗攻击性。核心程序展示了水印的嵌入与提取过程,包括DCT变换、水印扩频及反变换步骤。该方法有效且专业,未来研究将侧重于提高实用性和安全性。