Halcon学习中的一些领悟

看图片是,不要看图片表面,脱光了看,要看到他们内在像素关系

而且做视觉要有一种使命感。去了解很多行业后,你会发现,学会越多的套路你就越成功,当然牛逼的是不用套路,无招胜有招,

视觉的需求:
二维:1识别定位 2 OCR,一二维码识别 3 测量 4 缺陷检测 5运动控制–手眼标定–手眼抓取
三维:1双目标定,2 点云数据重建

在halcon中进行图像处理,在vc或C#中进行程序架构搭建和UI界面设计
MFC的架构
1创建窗口类,2注册窗口类3创建窗口4 更新显示窗口5消息循环6退出程序、
软件编程有三层:
第一层 UI界面层第二层 业务逻辑层第三层 数据层。要有产品的概念

通用算法流程
图像采集-预处理(增强对比度(如算子emphasize,线性变换scale_image),去燥(中均高滤波),灰度形态学)—图像分割(blob)—特征提取(区域特征,颜色或灰度图像特征,XLD特征)—(如要用深度学习还需对特征进行训练识别最后显示)识别显示—数据计算/通信

更简略还可直接分为获取图像-分割图像-得到特征-显示-

预处理还有(基于空间域的中值滤波,均值滤波,高斯滤波,模板方式,灰度变换,求动态范围,基于频域的高低带通滤波,灰度变换,反正)。

视觉有三个方向的知识点:
一、图像处理:
十大领域:1图像基本理论,2图像增强(emphasize ) 3图像的几何变换(仿射变换,极坐标变换)4图像的频域(常用于缺陷检测,与blob配合) 5形态学(开,闭,腐蚀膨胀,击中,击不中) 6图像分割(如Blob,边缘提取,reduce_domain) 7图像复原 8运动图像(相邻两帧图像的分析,运动检测,差分) 9图像配准(如模板匹配) 10图像的灰度变换(scale_image)

二、软件 语言基础(C++ C C# java) 架构基础(语言用的平台,如VC++ ) 推荐C++书-孙兴的
完成架构方面的编程-三层-一是UI界面层,二是业务逻辑层 三是数据层。

三、光学 推荐书(工程光学) 重点是几何光学。 主要是发挥选型的作用

项目方式:
需求分析(能不能做)-建立方案-算法流程规划-业务逻辑-编程(模块化编程或集成化编程)-调试-测试-试用-交货

职业方向:三种视觉工程师
1是做集成应用
2做某个模块的算法
3只做方案的

成为一个设计师,架构师,而不是码农

学习方法

学例子、解套(知道什么套路)-拆套(套路为自己所用)-上套(直接用到项目里)
结合实战。先做一个算法上的编程-做一个界面架构上的编程
活的境界,活学活用。

在图像分割里:常常逼近一个感兴趣的ROI区域,在此区域里继续做一些blob分析,再提取感兴趣的目标

参考:图形处理的通用步骤 或者说是流程

你可能感兴趣的:(Halcon学习记录)