Halcon 图像预处理总结

图像预处理就是在提取目标物之前对图像进行一些预处理,预处理通常包括两大方向:去噪和图像增强。

1.去噪


去噪有分为时域去噪和频域去噪

a)时域去噪通常手法为:

  1. 中值滤波:Media_Image  中值滤波的原理是拿特征区域在图像滑动,每一点(与特征区域的中点重合)的值为特征区域所覆盖的范围的中值
  2. 均值滤波·:mean_image 均值滤波的原理是拿特征区域在图像滑动,每一点(与特征区域的中点重合)的值为特征区域所覆盖的范围的均值
  3. 高斯滤波:guss_image 高斯滤波的原理类似,只不过特征区域内的每个点做了加权处理,可以根据需要让哪个单元的权重大,哪个单元的权重小

b)频域内的去噪

  1. 高通滤波 :让图像中高频部分通过,通常会留下边缘,起到锐化的作用
  2. 低通滤波 :让图像的低频部分通过,通常弱化边缘,会得到比较平缓的图像
  3. 中通滤波:让图像中中频部分通过
  4. 高斯滤波

2.图像增强

1.灰度变换(scale_image)

    原理:可以理解为用一个模板扫描图像中的每一个像素,模板中像素最大值和最小值的差作为模板中心像素点的值。
    作用:拉开图像的对比度,让图像中黑的地方更黑,亮的地方更亮。

2.emphasize:增强图像的高频区域(边缘和拐角),使图像看起来更清晰。

3.直方图均衡化(equ_histo_image)

4.灰度图像形态学

  1. gray_opening:结构元素在图像中滑,灰度值最高的值作为新值,有使图像变亮的作用。 
  2. gray_closing:结构元素在图像中滑,灰度值最低的值作为新值,有使图像变暗的作用。 
  3. gray_range_rect:用一个矩形结构元素在图像中滑动,新值 = (矩形中最大的)灰度值-(矩形中最大的)最小的灰度值

一是原始图像,二是经过开运算图像,三为顶帽操作后图像。

read_image (Image01, 'C:/Users/Technical/Desktop/01.jpg')
rgb1_to_gray (Image01, GrayImage)
gray_opening_shape (GrayImage, ImageOpening, 20, 20, 'octagon')
sub_image (GrayImage, ImageOpening, ImageSub, 1, 0)

 

### Halcon 图像预处理算子列表及用法 Halcon 是一种强大的机器视觉软件工具包,提供了丰富的图像预处理功能。这些功能通过一系列算子实现,能够有效提升图像的质量并改善后续分析的效果。 #### 1. **直方图均衡化** - 使用 `equ_histo_image` 函数可以对输入图像进行直方图均衡化操作,从而提高对比度。 - 示例代码: ```hdevelop read_image(Image, 'image.jpg') equ_histo_image(Image, ImageEqu) [^1] ``` #### 2. **边缘检测** - 边缘检测是图像预处理中的重要步骤之一,可以通过多种方法完成。例如,Prewitt 方法是一种经典的边缘检测算法。 - Prewitt 边缘检测的具体实现方式如下: ```hdevelop prewitt_amp(Image, ImageEdgeAmp) [^3] ``` - 此外,还可以尝试其他边缘检测算子,如 Sobel 和 Canny 等。 #### 3. **形态学运算** - 形态学运算是基于集合论的一种图像处理技术,常用于去除噪声、填补孔洞以及提取特定形状的目标。 - 主要包括腐蚀 (`dilation_circle`) 和膨胀 (`erosion_circle`) 运算: ```hdevelop dilation_circle(Image, DilatedImage, 5.0) erosion_circle(DilatedImage, ErodedImage, 5.0) ``` #### 4. **几何变换** - 对于存在形变或者位置偏差的图像,通常需要对其进行几何矫正。这一步骤涉及矩阵计算和齐次坐标的转换。 - 参考资料提到过这一过程的重要性及其具体应用背景[^2]。 - 实现示例: ```hdevelop hom_mat2d_identity(HomMat2DIdentity) affine_trans_image(Image, TransformedImage, HomMat2DIdentity, 'constant', 'false') ``` #### 5. **灰度调整** - 调整图像的整体亮度或对比度也是常见的需求。可通过线性拉伸或其他非线性映射来达成目标。 - 关键函数有 `convert_to_gray` 和 `intensity` 等。 --- ### 总结 上述列举了几类典型的 Halcon 预处理算子,并附上了简单的说明与实例演示。实际项目开发过程中可能还需要结合具体情况灵活选用不同的组合策略以满足特殊场景下的性能指标要求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值