机器视觉检测系统采用摄像头将检测到的目标转换成图像信号,传输到专用图像处理系统,根据像素分布和亮度,颜色等信息,转化为数字信号,这些图像处理系统信号执行各种操作,以提取目标的特征,如面积,数量,位置,长度,然后根据预设的允许性和其他条件,包括大小,输出结果,角度,数量,通过/失败,存在/不存在等,实现自动识别。
如果你以前没有接触过机器视觉,而你想要学习机器视觉,那么你可能就会有第一个疑惑:机器视觉到底好不好学?想要学会机器视觉必须掌握哪些知识?要想学好机器视觉,需要对机器视觉的知识体系有所了解。下面我们就来分享一下各个部分需要掌握的知识点。
1、视觉成像部分
视觉成像又包含几个典型组件: 光源,镜头,CCD工业相机。
光源和镜头都需要我们掌握光学知识,不同的打光方式,可以让相机对物体产生完全不同的成像;而镜头的倍率,焦距,视野等的选择不同直接决定了成像的逼真度。对于一名机器视觉工程师来说,掌握如何选择镜头,如何选择光源,如何确定打光方式是最基本的技能。
工业相机需要我们掌握光电知识,掌握相机传感器的区别,掌握图像成像的基本知识如清晰度,动态范围,视场角等等,这样我们才能根据需求和场景选择正确的相机,最快速的掌握这些知识的方法是买一台入门级单反来研究透这些成像参数和成像的关系。
2、图像处理部分
图像处理我们一般理解是在PC机器上进行的,实际上在工业领域,大部分采用工控机,因为它稳定,加上有成本优势。近些年的发展,嵌入式硬件也在蓬勃发展,很多工厂对于小的需求比如控制几百台仪表盘的开关和状态监控,完全可以利用树莓派等开源硬件实现。对于入门者来说,可以优先掌握PC平台,X86平台的开发,在熟悉之后可以延展到嵌入式平台。在软件部分,大部分应用层采用C#,.net,QT,C++来实现,因此掌握这其中的一门编程语言是必备的;而在图像算法层面,典型的开源算法有opencv,商用的有halcon,visionpro等,建议最开始可以先以halcon入门;如果在算法层面想进一步深入,可以研究一下机器学习,这可能是未来的主要方向。对于理论方面,更多的是掌握图像处理的基本概念,这本书《机器视觉算法与应用》,值得一看。
3、运动控制部分
典型的运动控制卡如固高,可以入手研究一下。更为高级一点的PLC,也可以玩起来,这部分的难点在于,精度的矫正,因为很多场景和需求对精度的要求是非常高的。除了以上三点,整体方案的搭建能力是至关重要的, 因为方案需要把这些部分都串起来,并且能够和现实场景联系起来,满足实际的生产自动化需求。