图像处理笔记(二十一):halcon在图像处理中的运用

概要:

  1. 分水岭算法做图像分割
  2. 二维码识别

稍后将其他几篇笔记全都补充上概要方便查询。

分水岭算法做图像分割

使用距离变换结合分水岭算法实现图像分割,可以用来分割仅通过阈值分割还是有边缘连接在一起的情况。
步骤:

  1. 通过threshold 及相关操作找出需要分割的图像区域;
  2. 通过distance_transform 得出距离图片,这里的距离图片算的距离是针对上面已经圈出来的区域计算的;
  3. 将灰度值范围通过scale_image_max 扩充后灰度反转;
  4. 通过watersheds_threshold 做区域分割,这里的分割是针对整张图片做分割的;
  5. 与目标图像区域做交集,得出分割后的目标图像。
  6. distance_transform(Region, DistanceImage, Metric, Foreground, Width, Height)
    计算区域内每一个点到区域边界的距离得出一张距离图片,距离边界越远的灰度值越大,中心灰度值最大,边界为0,如图:
    1032712-20190717120111274-1898313441.png

  7. watersheds_threshold(Image, Basins, Threshold)
    分水岭算法做区域分割
    分水岭算法:灰度值代表海拔高度,高灰度代表山脉,低灰度代表盆地,每一个局部极小值及影响区域代表集水盆,集水盆边界形成分水岭。
    1032712-20190717135416727-681014951.png

图中分成的一个个小块就是在做分水岭分割之后得到的,一个个的小圆就是在与原区域做交集之后得到的。

根据之前学到的,对于这样的图片区域分割,有时候根据情况也能使用膨胀腐蚀之类的方法分割出来。

~~~~~~~~~~~~~~~~~~~~~~~ 分割线 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

二维码识别

做一个小功能,halcon和C#混和编程,实时做二维码识别。最简单的做法是在halcon中做了之后导出成cs文件,将文件中的有效部分提取出来放在代码中。过程略。
halcon中实现的要点:

  1. 摄像头实时抓拍
  2. 使用 create_data_code_2d_model 生成二维条形码模型,这里需要注意的是必须提前知道我们需要解码的二维码的编码模式;
  3. 使用 find_data_code_2d 来找二维码并解析。

~~~~~~~~~~~~~~~~~~~~~~~ 分割线 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
halcon基础知识学些到这边告一段落了。
接下去需要解决的问题:怎样把学到的东西运用到图像处理中去解决缺陷检测的问题。

转载于:https://www.cnblogs.com/yutou2016/p/11202791.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值