如何踏入机器视觉这个行业?
1、HALCON是德国MVtec公司开发的一套完善的标准的机器视觉算法包,它节约了产品成本,缩短了软件开发周期。
Halcon:底层功能算法多,运算性能快,开发需要一定软件功底和图像处理理论。
快速学习做法:研究实例、做实战项目。halcon不能提供相应的界面编程需求,需要和vs来构造MFC界面或者QT使用,才能构成一套完整软件。
2、需求主要有二维三维二维:(1)识别定位;(2)OCR识别;(3)二维码识别;(4)测量;(5)缺陷检测;(6)机器控制等三维:(1)多目标定(2)三维重建(3)三维匹配等
3、成为合格的机器视觉工程师须具备三个方面的知识
图像处理涉及以下几大领域:
A、图像处理的基本理论知识(图像理论的基础知识)
B、图像增强(对比度拉伸、灰度变换等)
C、图像的几何变换(仿射变换,旋转矩阵等)
D、图像的频域处理(傅里叶变换、DFT、小波变换、高低通滤波器设计)
E、形态学(膨胀、腐蚀、开运算和闭运算以及凸壳等)
F、图像分割
G、图像复原
H、运动图像
I、图像配准(模板匹配等)
J、模式识别(分类器训练,神经网络深度学习等)
(2)软件编程功底
具备C,C++,C#及MFC界面开发的功底
A、C语言的学习主要看谭浩强写的C语言相关知识
B、C++主要看C++primerplus书籍
C、MFC的学习主要看孙鑫编写的《VC++深入详解》这本书及相应的视频教程,并在VC++6.0软件或VS2010等软件上编写程序和实践。
D、C#可以看书籍《C#从入门到精通》、《C#入门经典》、《C#图解教程》
(3)光学知识:
光学知识主要在你设计方案时相机、光源、镜头等选型时起到关键作用。
4、学习HALCON最重要的是学习其中的方法、流程和套路
HALCON主要完成图像算法的流程套路如下:
特征提取总结:
1、几何特征(面积、周长、矩形度)
2、纹理特征(与灰度相关,如熵、能量值)
3、颜色特征
4、概率特征
5、算子描述特征
6、Hough特征(梯度直方图特征)
做机器视觉的项目,拿到项目时一般遵循如下流程:
第一步:需求分析,建立相应的方案
第二步:算法流程规划及业务逻辑设计
第三步:模块化编程及集成化实现
第四步:调试,根据反馈结果来不断的修改程序Bug,达到客户需求,最后交付客户及软硬件操作文档。
学习机器视觉的好方法:
1、学习机器视觉一定要结合项目实战,在实践中学 结经验教训,系统化学习所需知识。
2、补充一定的C++和c#知识,进行VS联合开发,客户现场的学习和现场调试,不断学习示例分析,掌握方法套路流程。
3、根据实际问题,学习模块调用,按照方法套路学习。
4、最好是先用HALCON实现图像处理部分,然后在VS2010开发软件中利用MFC图形界面实现出来,实践学习是最好的方法。