为了说明这个问题,我觉得应该先要简单地说明另一个问题:国内外机器视觉发展的不同。我本人认为,只有先搞清了两边的不一样,才便于说清如何下手学习。
机器视觉发展至今,一句话概括,可以很清清楚楚地分为三个部分:
01
底层开发部分
第一类:就是我们常说的从事底层开发工作的人,开发通用视觉系统(如:DVT,西门子,欧姆龙,EVISION,COGNEX等等)的开发人员,也就是DVT,COGNEX这些公司开发部的技术职工。
02
二次开发部分
第二类:就是大家所说的OEM用户,从事二次开发工作的人。是专门用第一类人所开发出的系统,给第三类人搞二次开发,开发各种专为第三类人所用的系统。
03
最终使用部分
第三类人,就是用户(end user),从事最终使用视觉系统的人。这类人是真正将机器视觉系统应用到各个领域中的人,他们不仅在各自的行业中使用种种已经开发成型的机器视觉系统。而且负责对各类系统进行测试及评估。
举个实际例子,比如有不少朋友问过这类问题:如何检测某一工件;检测光盘表面的系统该如何配置CCD相机、镜头及灯源等。这些朋友应该算是第三类人;再比如:问应该用哪家公司的开发软件;用什么样的CCD;如何标定等,说的就是第二类人。
或许有的朋友会这样说:我虽然是第三类人,但我对机器视觉有兴趣,想自己学习啊!这就是我想讨论的:到底如何学习机器视觉?我个人认为,应该先确定自己的身份,从自己具体的需要入手来学习。
学习前先确定自己的身份
▲▲▲
要成为第一类人,又分硬件及软件两种。要对自己所负责的这个模块非常了解,搞软件要知道算法及运行速度;搞硬件要明白公司所选用芯片的特点等等。同时还要清楚对手公司的优缺点以及机器视觉这一行的种种动态和最新技术。
想成为第二类人,你一定要是个通才。就是说什么都要知道一点。不仅要了解第三类人的要求,而且也要知道各种第一类人(不同品牌的视觉卡及软件包)的水平。
要成为第三类人,不仅要有机器视觉基本的相关知识。而且,要对自己所工作的行业及领域的机器视觉系统非常熟悉。专作你这行的机器视觉公司有哪几家,各有什么优缺点等等。总结一下。这三种人相比,第一类人一定要专业,对机器视觉的某一领域非常非常了解;第二类人虽比不上第一类人那么专业,但更加全面;第三类人更熟悉各个应用系统开发公司(第二类人)的优缺点。