HALCON案例提取三角形

目录

1.案例要求

2.思路和操作

3.最终实现效果

4.总结

一、mean_image算子的核心作用

二、dyn_threshold的动态分割机制

三、联合应用的典型场景


1.案例要求

只提取三角形部分,要求圆润

2.思路和操作

*加载图像
read_image (Image, 'E:/ai/回放/day6/作业/三角形缺陷/1.jpg')
*转换为灰度图
rgb1_to_gray (Image, GrayImage)
*选中纸张区域
binary_threshold (GrayImage, Region, 'max_separability', 'dark', UsedThreshold)
*把选中区域剪切出来
reduce_domain (GrayImage, Region, ImageReduced)
*线性平滑图像
mean_image (ImageReduced, ImageMean, 100, 3)
*局部阈值分割图像
dyn_threshold (GrayImage, ImageMean, RegionDynThresh, 5, 'light')
*闭运算 线膨胀后腐蚀 填充小空洞,连接相邻物体
closing_circle (RegionDynThresh, RegionClosing, 3.5)
*连通域处理
connection (RegionClosing, ConnectedRegions)
*筛选出三角形区域
select_shape (ConnectedRegions, SelectedRegions, 'area', 'and', 1000, 99999)
*将区域转化为凸度
shape_trans (SelectedRegions, RegionTrans, 'convex')
*获取区域的轮廓 或者用boundary (RegionTrans, RegionBorder, 'inner')
gen_contour_region_xld (RegionTrans, Contours, 'border')
*最后显示出找到的三角形区域
dev_display (GrayImage)
dev_display (Contours)

3.最终实现效果

4.总结

一、mean_image算子的核心作用

  1. 原理与功能 :mean_image通过均值滤波实现图像平滑,其核心公式为对邻域像素的灰度值取平均。该算子尤其适用于抑制高频噪声,并为后续的动态阈值分割提供参考图像。滤波器的掩膜尺寸(MaskWidthMaskHeight)直接影响平滑效果:尺寸越大,平滑效果越显著,但可能丢失细节。

  2. 参数调优要点

    • 掩膜尺寸选择:根据目标特征尺寸调整。例如,若目标直径约为D,建议掩膜尺寸为2D+1(如网页6中划痕检测案例使用7×7掩膜) 
    • 奇数尺寸规则:若输入偶数值,Halcon会自动调整为最近的奇数值(如输入8→9),确保掩膜中心明确(不建议这样做)
    • OpenCL加速限制:对于大尺寸图像或高动态范围数据(如int4/real类型),需注意可能的溢出问题,此时应优先使用CPU版本 

二、dyn_threshold的动态分割机制

  1. 原理与功能 dyn_threshold通过比较原始图像(OrigImage)与参考图像(ThresholdImage,通常由mean_image生成)的局部灰度差异实现分割。其条件判断根据LightDark参数决定:

    • 'light':提取比参考图像亮超过Offset的区域。
    • 'dark':提取比参考图像暗超过Offset的区域。
    • 'equal'/'not_equal':基于灰度差异的相似性或差异性分割 
  2. 参数调优策略

    • Offset灵敏度:通常建议设为5-40。过小(如<5)会引入噪声,过大(如>60)可能导致漏检(如表面划痕检测使用Offset=5) 
      参考图像生成:除mean_image外,还可使用gauss_filterbinomial_filter生成更平滑的参考图像(如使用高斯滤波预处理原子图像) 
    • 掩膜尺寸与目标关系:参考图像的掩膜尺寸需覆盖目标特征(如晶体分析使用21×21掩膜) 

三、联合应用的典型场景

  1. 表面缺陷检测 如金属表面划痕检测案例:

    • 步骤mean_image平滑→dyn_threshold提取暗像素→形态学连接断裂区域 
    • 优势:有效处理光照不均,突出低对比度缺陷 
  2. 微观结构分析 如晶体分割:

    • 步骤:大尺寸mean_image抑制背景→dyn_threshold提取暗区→基于形状特征筛选目标 
    • 技巧:结合select_shape过滤面积和形状异常区域 
  3. 工业零件检测 如中食品包装质检:

    • 步骤:动态阈值分割标签字符→结合形态学去噪 
    • 扩展:与connectionselect_shape联用,实现复杂结构的分割 

每个需求的实现方式都有许多种,我提供的只是其中一种,大家可以发散思路,多角度的来完成。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值