从刚毕业开始到现在,一直在学习视觉相关的知识,不知不觉,已经五个月过去了,以前总觉得娱乐、休息的时间过得很快,没想到工作的时候,时间好像也过得蛮快的!来回想一下,这五个月,都学到了啥。
毕业后来到公司,开始了视觉的学习。说实话刚开始确实有点懵,对视觉也是没啥概念,Tony跟我说让我学习视觉方面的知识,刚开始觉得视觉挺高大上的,也没想那么多,就像公司同事们说的那句话一样,先猛chacha地干了再说!最开始,从概念上了解视觉开始,需要先知道,视觉,它是什么?我想,现在我应该能大概回答一下这个问题了。视觉,简单来说,就是给机器装上眼睛,让机器代替我们人眼去看。这是在网上看到的一个对机器视觉很通俗的解释,我觉得视觉不仅仅是要代替我们去看,在某种程度上来说,它还要代替我们去思考(虽然它的“思想”都是我们给的),是我们的思想的载体!从本质上来说,机器视觉最核心的还是图像处理,虽然光源、镜头、相机这些硬件设备也很重要,但是对图像的最终处理才代表了视觉的水平!不过我现在的工作,倒用不着去研究那些高深的图像处理算法(这个活儿目前中国人基本没有做得好的),我要做的是,在视觉算法库的基础上做二次开发,比如halcon、visionPro、OpenCV、SCI,能用好这些库,做好公司的视觉软件,就OK了!
好了,下一个问题,视觉能干什么?视觉能干的事情就太多了,各行各业,都能看到视觉的身影,汽车、激光、人脸识别、印刷、AOI、追踪定位......总的说来,视觉的应用有四大类:定位、检测、测量、识别。具体到我们激光行业的话,四大类应用都有涉及,目前的话,我们主要是定位、测量、检测。
接下来,就是视觉系统的组成。分为硬件和软件两部分。硬件:光源、镜头、相机、图像采集卡;软件:视觉处理软件。常用光源的种类有:条形光源、环形光源、同轴光源、点光源、线形光源、背光源,当然还可以针对具体的项目定制非标光源;镜头的种类主要是根据焦距来分的,有广角镜头(焦距<50mm),远距镜头(焦距>50mm),远心镜头(景深打、视野小);相机的分类就比较复杂一点,根据芯片的类型分,有数字相机和模拟相机;根据成像的颜色分可分为黑白相机和彩色相机;根据产品运动状态,选择线阵相机或者面阵相机;根据芯片材料的不同,分为CCD和CMOS;最近还听到一种分类方式,是根据相机的快门的曝光方式分的,分为全局相机和卷帘相机。最后就是软件了,最终的成型的视觉软件就不说了,肯定每个公司或者领域都有自己独特的视觉软件,但是所依赖的算法库也就只有几种:halcon、visionPro、OpenCV、MATLAB;
再就是设备的选型,要说这个的话还得好好整理下,在这里就不细说了,大概就是:
1.光源的打光方式,这是设备选型和项目评估中最重要也最复杂的一个环节,虽然去了OPT几天,但是也就看到了个皮毛;
2.镜头的选型相对来说比较简单,只需要考虑焦距,工作距离,芯片的尺寸、畸变、景深、分辨率的大小以及和相机的接口;
3.相机的选型需要考虑的参数就会多一点,分辨率、帧率、视野大小、物体运动状态、芯片尺寸、与镜头的接口、相机输出的接口、采集图像的颜色等;
4.软件的选择会比较灵活一点,根据不同的项目、不同的精度要求、可以选择不同的软件,达到最高的性价比。
最后就来说说视觉设备的主要供应商,其实这部分我接触的供应商虽然有一些,但是可能功课做得不够,对各个供应商的优势及劣势,还不能很好地把握,这也是以后工作中需要注意的一个地方。
1.光源的供应商:OPT,锐视、CCS、KKIMAC;其中,CCS是日本的一个企业,他们是最早做光源的;KKIMAC也是日本的公司,他们的优势主要是点光源和一些小光源做得比较好;OPT是国内最大的光源公司,光源的质量上有保障;锐视也是在东莞的一家做光源的公司,它们的产品性价比比较高;
2.镜头的供应商:据我所知,主要有映美精和凌云,还有一些做相机的企业大部分都会有自己的镜头,映美精和凌云的产品接触得不多,也不是很了解,后续再补充;
3.相机的供应商:康耐视、基恩士、Basler、大华、灰点、MV、CIS......康耐视是美国的的公司,他们的相机很贵,但是是品牌,稳定性等各方面都比较好,在高精度的项目中可以使用;基恩士主要是智能相机,就是将他们的处理软件集成到相机中去了,用户使用起来会很方便,但确实也很贵,用户能做的工作相对来说就不是很多了,不太适合我们;其他的相机没怎么接触过,以后再说吧;
4.软件的选型:主要还是根据项目来,一般的项目,精度要求不高的项目,就用国内一些视觉公司自己开发的开发包就能处理了;但是如果是高精度的、复杂的项目还是要用国外的算法库,像halcon和visionPro。
总结下来,发现对以前的知识还是有些遗忘,也发现了之前的学习盲点,比如:视觉设备的供应商以及他们各自的强项,这可能是由于之前在学习选型的时候重点放在了用参数来选型,忽略了不同的供应商提供的不同的产品这一块;接下来的工作首先是用SCI算法库基于QT开发视觉界面;在应用阶段还要继续设备选型、打光的深入学习;然后基于halcon以及visionPro的算法库的视觉界面的开发;再后面可能就是基于OpenCV来开发自己的算法库,集成封装成界面!
原文地址:https://www.cnblogs.com/sx-software-zys/p/10049774.html