机器视觉HALCON软件学习总结
1、halcon软件提供的是快速的图像处理算法解决⽅案,不能提供相应的界⾯编程需求,需要和VC++结合起来构造MFC界⾯,才能构成⼀套完成的可⽤软件。
2、机器视觉在⼯业上的需求主要有⼆维和三维⽅⾯的
⼆维需求⽅⾯有:⑴识别定位;(2)OCR光学字符识别;(3)⼀维码、⼆维码识别及⼆者的结合;(4)测量类(单⽬相机的标定);(5)缺陷检测系列;(6)运动控制,⼿眼抓取(涉及⼿眼标定抓取等⽅⾯)
三维需求⽅⾯:(1)摄像机双⽬及多⽬标定(2)三维点云数据重构
3、要成为⼀名合格的机器视觉⼯程师必须具备以下三个⽅⾯的知识
(1)图像处理涉及以下⼏⼤领域:
A、图像处理的基本理论知识(图像理论的基础知识)
B、图像增强(对⽐度拉伸、灰度变换等)
C、图像的⼏何变换(仿射变换,旋转矩阵等)
D、图像的频域处理(傅⾥叶变换、DFT、⼩波变换、⾼低通滤波器设计)
E、形态学(膨胀、腐蚀、开运算和闭运算以及凸壳等)
F、图像分割(HALCON⾥的Blob分析)
G、图像复原
H、运动图像
I、图像配准(模板匹配等)
J、模式识别(分类器训练,神经⽹络深度学习等)
⽐较好的参考书籍有
经典教材:冈萨雷斯的《数字图像处理》及对应的MATLAB版
杨丹等编著《MATLAB图像处理实例详解》
张铮等编著《数字图像处理与机器视觉——Visual C++与MATLAB实现》
左飞编著的《数字图像处理:原理与实践(MATLAB版)》
左飞编著的《数字图像处理技术详解与Visual C++实践》
谢凤英编著的《Visual C++数字图像处理》
《精通系列·精通Visual C++数字图像处理典型算法及实现(第2版)》
(2)软件编程功底
具备C,C++,C#及MFC界⾯开发的功底
A、C语⾔的学习主要看谭浩强写的C语⾔相关知识
B、C++主要看C++ primer plus书籍
C、MFC的学习主要看孙鑫编写的《VC++深⼊详解》这本书及相应的视频教程,并在VC++6.0软件或VS2010等软件上编写程序和实践。
D、C#可以看书籍《C#从⼊门到精通》、《Head First C#》、《C#⼊门经典》、
《C#图解教程》、《C#⾼级编程》、《.Net Frameword ⾼级编程》、《CLR via C#》
(3)光学知识:
主要阅读书籍《⼯程光学》、重点放在⼏何光学⽅⾯,了解成像原理及相应的光路分析,知道光源的特性、镜头分辨率、相机分辨率等⽅⾯的知识。
光学知识主要在你设计⽅案时相机、光源、镜头等选型时起到关键作⽤。
软件功底的作⽤是软件的架构设计分析,架构包括UI层设计、业务逻辑层开发、数据层开发。
HACLON主要完成图像处理算法的实现。
⽬前市场上⼯业领域中主流的图像算法处理软件有HALCON, NIvisionpro, opencv
学习HALCON最重要的是学习其中的⽅法、流程和套路
4、HALCON主要完成图像算法的流程套路如下:
特征提取总结:
1、⼏何特征(⾯积、周长、矩形度)
2、纹理特征(与灰度相关,如熵、能量值)
3、颜⾊特征
4、概率特征
vs编程软件5、算⼦描述特征
6、Hough特征(梯度直⽅图特征)
做机器视觉的项⽬,拿到项⽬时⼀般遵循如下流程:
第⼀步:需求分析,建⽴相应的⽅案
第⼆步:算法流程规划及业务逻辑设计
第三步:模块化编程及集成化实现
第四步:调试,根据反馈结果来不断的修改程序Bug,达到客户需求,最后交付客户及软硬件操作⽂档。
学习机器视觉的好⽅法:
1、学习机器视觉⼀定要结合项⽬实战,在实践中学习总结经验教训,系统化学习所需知识。
2、补充⼀定的C++和c#知识,进⾏VS联合开发,客户现场的学习和现场调试,不断学习⽰例分析,掌握⽅法套路流程。
3、根据实际问题,学习模块调⽤,按照⽅法套路学习。
4、最好是先⽤HALCON实现图像处理部分,然后在VS2010开发软件中利⽤MFC图形界⾯实现出来,实践学习是最好的⽅法。
机器视觉学习的发展趋势是结合神经⽹络、深度学习进⾏相应的⼈⼯智能机器视觉开发。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论