Halcon图像预处理

课程基本信息

  • 课程名称:Halcon图像预处理技术
  • 课时安排:4课时(180分钟)
  • 授课对象:机器视觉中级学习者
  • 先修知识:Halcon基础语法、图像采集

教学目标

  1. 掌握图像预处理的必要性和基本流程
  2. 熟练使用Halcon进行各类图像增强操作
  3. 能够根据实际需求选择合适的预处理方法
  4. 理解预处理对后续处理效果的影响

教学重点与难点

  • 重点
    • 图像滤波算法及应用场景
    • 图像增强方法对比
  • 难点
    • 形态学操作原理
    • 频域处理理解

教学准备

  1. 软件环境:Halcon 20.11+
  2. 实验图像:
    • 低对比度图像
    • 噪声图像(高斯/椒盐噪声)
    • 模糊图像
  3. 辅助工具:图像处理效果对比表格

教学内容设计

一、课程导入(20分钟)

1. 预处理重要性案例

  • 未经预处理的检测失败案例
  • 预处理前后的效果对比

2. 预处理流程框架

1
2
3
4
5
graph LR
A[原始图像] --> B[去噪]
B --> C[增强]
C --> D[边缘强化]
D --> E[特征提取]

二、图像增强技术(60分钟)

1. 灰度变换

  • 线性变换:scale_image
    1
    scale_image(Image, ImageScaled, 2.5, -100) // 对比度增强
  • 非线性变换:log_transform, exp_transform
  • 直方图均衡化:equ_histo_image
    1
    equ_histo_image(Image, ImageEquHist)

2. 对比度调整

  • 自适应直方图均衡化:adapt_histo_equal
  • 局部对比度增强:emphasize

3. 实验对比

方法 优点 缺点 适用场景
线性变换 计算快 可能过增强 整体对比度低
直方图均衡 自动调整 可能噪声放大 灰度集中
自适应均衡 局部效果好 计算量大 光照不均

三、图像滤波去噪(60分钟)

1. 空间域滤波

  • 均值滤波:mean_image
    1
    mean_image(ImageNoise, ImageMean, 5, 5)
  • 高斯滤波:gauss_filter
  • 中值滤波:median_image
  • 双边滤波:bilateral_filter

2. 频域滤波

  • 傅里叶变换:fft_image
  • 频域滤波:convol_fft

3. 噪声类型与滤波选择

1
2
3
4
5
6
7
graph TD
A[噪声类型] --> B[高斯噪声]
A --> C[椒盐噪声]
A --> D[泊松噪声]
B --> E[高斯滤波]
C --> F[中值滤波]
D --> G[泊松滤波]

四、形态学处理(40分钟)

1. 基本操作

  • 腐蚀:erosion_circle
    1
    erosion_circle(Region, RegionErosion, 3.5)
  • 膨胀:dilation_rectangle1
  • 开运算:opening_circle
  • 闭运算:closing_rectangle1

2. 高级应用

  • 形态学梯度:morph_grad
  • 顶帽变换:top_hat
  • 边界提取:boundary

3. 结构元素设计

  • 圆形:gen_circle
  • 矩形:gen_rectangle1
  • 自定义:gen_struct_elements

五、综合实验(60分钟)

案例:PCB板缺陷检测预处理

  1. 原始图像问题分析:

    • 光照不均
    • 轻微模糊
    • 表面纹理干扰
  2. 预处理方案:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    * 光照校正
    hom_mat2d_identity(HomMat2D)
    hom_mat2d_scale(HomMat2D, 0.8, 0.8, 0, 0, HomMat2DScale)
    affine_trans_image(Image, ImageScaled, HomMat2DScale, 'constant', 'false')

    * 去噪增强
    median_image(ImageScaled, ImageMedian, 'circle', 3, 'mirrored')
    emphasize(ImageMedian, ImageEmphasize, 7, 7, 1.5)

    * 边缘强化
    laplace_of_gauss(ImageEmphasize, ImageLaplace, 3)
  3. 效果评估指标:

    • 信噪比提升率
    • 缺陷区域对比度
    • 特征保留度

教学互动设计

  1. 讨论环节:

    • “对于金属表面划痕检测,应该选择哪些预处理方法?”
    • “如何评估预处理效果的好坏?”
  2. 实验对比:

    • 分组尝试不同参数组合
    • 预处理效果PK赛

课后作业

  1. 基础题:

    • 对提供的图像尝试5种不同的预处理组合
    • 记录每种方法的效果差异
  2. 提高题:

    • 设计针对透明物体表面检测的预处理流程
    • 编写自适应预处理参数的程序

教学评估

  1. 实验报告评分标准:

    • 方法多样性(30%)
    • 效果对比分析(40%)
    • 创新性(30%)
  2. 课堂测验:

    • 滤波算法选择
    • 形态学操作效果预测

常见问题解决方案

  1. 过度平滑问题:

    • 减小滤波核尺寸
    • 改用保边滤波
  2. 细节丢失:

    • 结合多尺度处理
    • 使用非线性增强

拓展学习

  1. 进阶方向:

    • 基于深度学习的预处理
    • 多光谱图像处理
  2. 推荐实验:

    • 不同光照条件下的预处理对比
    • 运动模糊图像的恢复