(一)掰开了,揉碎了,说经典halcon中的那些算子

本文对比了Halcon与OpenCV在图像处理领域的应用特点。强调了Halcon提供全面解决方案的优势,以及OpenCV在特定场景下的灵活性。介绍了图像处理的基本流程,包括采集、预处理、分割和识别。

最重要的写在前面: 

文末:我曾尝试用OpenCV中算子来还原Halcon中的算子,但是受时间和经验的限制,只能进行到如下:如果后续有必须应用OpenCV的场景,再结合起来搞。

但是最重要的经验是:

1、Halcon提供了一整套解决问题的方案,而不像OpenCV那样从头造轮子。OpenCV除非经验和使用很熟,否则很难找到思路。而Halcon提供了大量的案例。

2、在Halcon中,提供了大量的方案,基于方案提供的思路用OpenCV复现的意义不大了。

3、如果非要用OpenCV,那么在Halcon中有F1帮助文档:可以查询算子的用法。除了对算法的用法解释外,还有【Possible Predecessors】和【Possible Successors】,这两者也提示了我们这个算子的前后应用操作。而且,通过算子最下面的【HDevelop例程】可以更好的找到实际的应用场景,以此来找到解决我们的问题的方案。

所以:专心学Halcon吧。

当你做一件事的时候,你就专心做一件事,把它学精。然后才有拓展的资本。发散、迁移、联想必须建立在一定专注力和理解力上,学不深,发散也不准确。画虎不像反类犬。

千万不要让OpenCV的思想,影响Halcon的学习。底层的思维可以相同,但不能依靠。灵活应变。

HALCON中的算子大全(中英对照)


视觉由四门学科构成:

  1. 图像处理:
  2. 数学:
  3. 光学:《工程光学》
  4. 软件(语言)工具、软件架构 

数学:矩阵变换、导数。

光学:几何光学(光路,相差、)、物理光学(衍射、干涉)。


图像有十大学科分支:

  1. 图像基本理论
  2. 图像灰度变换
  3. 图像增强
  4. 图像几何变换
  5. 形态学
  6. 图像分割
  7. 图像复原
  8. 图像频域
  9. 运动图像
  10. 图像配准

图像处理的进阶:模式识别、行为识别:真正接近人工智能的东西。:(人脸识别、车牌识别、指纹识别、虹膜识别)


安防视觉、无人机视觉、工业视觉。


二维客户需求:

  1. 识别定位
  2. 符号识别
  3. 测量需求
  4. 缺陷检测(六大方法)(难度最大)
  5. 手眼标定和抓取:(人手和脑的关系。)手脑运动三种通信方式:串口、网口、运动板卡。

识别定位:

基于条件:打光条件的稳定。否则视觉检测效果不好。

  1. blob分析+仿射变换(几何变换):blob分析:连通域分析。
    Blob分析就是对前景、背景分离(阈值筛选二值化)后的 二值图像,进行连通域提取标记。标记完成的每一个Blob都代表一个前景目标(halcon默认标红,颜色可以换),然后就可以计算连通区域Blob的一些相关特征,如:面积、质心、外接矩形等几何特征,还可以计算Blob的颜色、纹理特征,这些特征都可以作为跟踪的依据。ROI提取。
  2. 模板匹配+仿射变换

相机的采集方式: 

  • 同步采集:
  • 异步采集:

图像处理的常规套路:

第一步:采集图像

第二步:预处理:灰色对比度拉开。便于提取Blob。几何变换(旋转)

              去噪声,中值滤波、高斯滤波(距离加权)、均值滤波。孤立点去除。

               抠图,ROI提取。去掉边缘干扰。

第三步:图像分割:二值化、形态学、特征选择

第四步:识别显示、通信


形态学变换:膨胀腐蚀:

膨胀:轮廓变大

腐蚀:轮廓变小

开运算Opening:侵蚀然后膨胀。先侵蚀掉前景目标外围周边的小噪声,然后再膨胀恢复。完成前景之外的去噪。

闭运算Closing:膨胀然后侵蚀。关闭前景对象内的小孔或对象上的小黑点。区域内去噪。保证区域内的纯度。

一个是去掉前景目标中外围周边的噪点。一个是去掉目标前景内部的噪点。


第一步:图像采集:

打开Halcon中菜单栏【助手】中第一个【打开新的Image Acquisition】,在【资源】栏中【图像获取接口】中点击【自动检测接口】,然后搜索到你需要的设备。点击【连接】栏中,选择颜色空间:BGR还是Gray,代表了采集灰色还是彩色。

点击【连接】【实时】从【图形窗口】中检查是否看到了图像。

【参数】中,有相机采集参数设置:

grab_timeout:抓取延时。

shutter:快门,曝光时间。

contrast:对比度

hue:色调:是整个图像的色彩倾向:可见光光谱中能量最强时的波长。

saturation:饱和度:越高色彩越鲜艳。可见光的相对带宽。

brightness:可见光的能量强度。

sharpness:锐化,清晰度。

gamma:灰度值。参数微调。

在这里插入图片描述

点击【代码生成】中【插入代码】在【程序窗口】中看到生成的代码。在【采集】中:有个【控制流】和【采集模式】:控制流:有在循环中采集、仅初始化、采集单幅图像。采集模式:同步和异步。

以下是异步:先开始采集,然后同时Do something。

* Image Acquisition 01: Code generated by Image Acquisition 01
* Image Acquisition 01: Attention: The initialization may fail in case parameters need to
* Image Acquisition 01: be set in a specific order (e.g., image resolution vs. offset).
open_framegrabber ('DirectShow', 1, 1, 0, 0, 0
评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值