视觉开发应用1- 机器视觉基本知识之工业相机

主流开发软件的介绍

  1. Halcon HALCON是德国MVtec公司开发的一套完善的标准的机器视觉算法包(商业用途),在欧洲以及日本的工业界已经是公认具有最佳效能的Machine Vision软件。视觉算法数量最丰富,开发效率最高的一款软件,可以在三大主流操作系统上使用。支持C、C++、VB、C#、delphi等语言的编程接口支持
  2. OpenCV 是一个开源的视觉软件库,可以运行在Linux、Windows、Android和Mac OS,IOS操作系统上;编程接口支持:c,c++,Python,c#,java等编程语言;;
  3. Visionpro ,Visionpro是美国康耐视公司开发的机器视觉软件(商业用途);编程接口支持c++,c#,vb.net等编程语言;;
  4. Mil Mil是加拿大Matrox公司开发的机器视觉软件(商业用途);编程接口支持c++,c#,vb.net等编程语言;

工业相机介绍

原理 :相机是将光信号转为电信号,从而形成数字图像的元器件。
工业相机分类

 按芯片类型:CCD相机、CMOS相机。其主要区别如下:
     CMOS(互补金属氧化物半导体)
     1. 采用CMOS芯片,价格相对CCD相机较低
     2. CMOS芯片曝光方式一般为卷帘式快门曝光,适合拍摄静止物,体拍					摄运动物体有拖影,且图像会变形
     3. .色彩还原性较差
     4.  芯片动态范围较小,灵敏度较差但在光照充足的情况下,也能取得较好的图像效果
     5.  系统噪声:中到
  CCD(电荷耦合器件)
   1. 采用CCD芯片,价格较高
   2.  CCD芯片曝光方式一般为帧(全局快门)曝光,适合拍摄静止或运动	物体.
   3. 色彩还原性好
   4.  芯片动态范围较大,灵敏度好,成像效果对外界打光的依赖比CMOS芯片低
   5.  系统噪声:低
按照传感器结构特征 : 线性相机、面针相机。
按照扫描方式:隔行扫描、逐行扫描
按照输出信号 :数字相机、模拟相机
按照色彩 :彩色相机、黑白相机

工业相机的主要参数

   1、分辨率 :决定了图像细节性的大小
   2、速度(帧频/行频):快门速度和帧速率,快门是每帧画面曝光的时间;帧速率,单位时间内工业相机处理数据的速度。一般情况下,读取速度越快,单位时间内获得的图像信息就越多,每秒显示出的图像帧数就越多,那么成像质量就越高,而且对于高速运动物体的图像采集有着显著的作用。
   3、噪声:相当于干扰,热噪声、信号噪声、读取噪声。
   4、信噪比:在图像传感器的成像过程中,真实的信号是无法探测到的理想值。在成像过程中理想值被引入了一系列的不确定性,最终形成读出信号也即图像。此过程中的不确定性被统一称为噪声。而信号与噪声的比值被定义为信噪比(Signal-to-NoiseRatio, SNR)。信噪比应该越高越好。
   5、动态范围:指的是照片高光和暗部的跨度,记录的是一个范围值。
   6、像元深度:即像元灰度值,具有特殊的比特位数,称为像元深度。对于黑白相机这个值的方位通常是8-16bit。像元深度定义了灰度由暗道亮的灰阶数。例如,对于8bit 的相机0 代表全暗而255 代表全亮。介于0 和25之间的数字代表一定的亮度指标。10bit 数据就有1024个灰阶而12bit有4096个灰阶。每一个应用我们都要仔细考虑是否需要非常细腻的灰度等级。从8bit上升到10bit 或者12bit 的确可以增强测量的精度,但是也同时降低了系统的速度,并且提高了系统集成的难度(线缆增加,尺寸变大),因此我们也要慎重选择。
   7、光谱响应:由于成像传感器,并不知道光的颜色,而是通过波长来进行成像的,相机的光谱响应是将不同波段入射光的光能转换成电能的能力。
   8、光学接口:接口是指相机与镜头之间的借口,常用的镜头的借口有C 口,CS 口,F 口

智能工业相机与一般工业相机

	智能相机是一种高度集成化的微小型机器视觉系统;而工业相机是机器视觉系统的组成部分之一。在智能相机中,以上算法都封装成固定的模块,用户可直接应用而无需编程。

工业相机的一般步骤

   	第一步,首先需要知道系统精度要求和工业相机分辨率;
	第二步,需要知道系统速度要求与工业相机成像速度;
	第三步,需要将工业相机与图像采集卡一并考虑,因为这涉及到两者的匹配;
	第四步,价格的比较。
   注意点:
    1、根据应用的不同来决定是需要选用CCD 还是CMOS 相机 CCD 工业相机主要应用在运动物体的图像提取,如贴片机,当然随着CMOS 技术的发展,许多贴片机也在选用CMOS 工业相机。
 用在视觉自动检查的方案或行业中一般用CCD 工业相机比较多。 CMOS 工业相机由成本低,功耗低也应用越来越广泛。
 	2、分辨率的选择
		首先考虑待观察或待测量物体的精度,根据精度选择分辨率。其次看工业相机的输出,若是体式观察或机器软件分析识别 ,分辨率高是有帮助的;若是VGA 输出USB输出,在显示器上观察,则还依赖于显示器的分辨率,工业相机的分辨率再高,显示器分辨率不够,也是没有意义的;利用存储卡或拍照功能,工业相机的分辨率高也是有帮助的。
	3、与镜头的匹配
		传感器芯片尺寸需要小于或等于镜头尺寸,C 或CS 安装座也要匹配(或者增加转接口);
	4、相机帧数选择
		当被测物体有运动要求时,要选择帧数高的工业相机。但一般来说分辨率越高,帧数越低

相机的分辨率(像素)确定

	首先考虑待观察或待测量物体的精度,根据精度选择分辨率。相机像素精度=单方向视野范围大小/相机单方向分辨率。则相机单方向分辨率=单方向视野范围大小/理论精度。
	若单视野为5mm长,理论精度为0.02mm,则单方向分辨率=5/0.02=250。
	然而为增加系统稳定性,不会只用一个像素单位对应一个测量/观察精度值,一般可以选择倍数4或更高。这样该相机需求单方向分辨率为1000,选用130万像素已经足够。

为什么要在机器视觉检测中使用线阵相机?

	1.线阵相机有更高的分辨率;线阵相机每行像素一般为1024,2048,4096,8012;而一般的面阵相机仅为640,768,1280,大于2048
	2.线阵相机的采集速度更快;不同型号的线阵相机采集速度从每秒5000 行-60000 行不等,用户可以选择没几行或者每十几行即构成一帧图像进行处理一次,因此可以达到很高的帧率。
	3.线阵相机可以不间断的连续采集和处理;线阵相机可以对直线运动的物体(直线导轨,滚筒上的纸张,织物,印刷品,传送带上的物体等)进行连续采集。
	4.线阵相机有更简单合理的构造。与面阵相机相比,线阵相机不会浪费分辨率采集到无用数据。

线阵相机有哪些特点?

	1.线阵相机使用的线扫描传感器通常只有一行感光单元(少数彩色线阵使用三行感光单元的传感器)
	2.线阵相机每次只采集一行图像;
	3.线阵相机每次只输出一行图像;
	4.与传统的面阵相机相比,面阵扫描每次采集若干行的图像并以帧方式输出。

如何选择线阵相机?

	1.计算分辨率;幅宽除以最小检测精度得出每行需要的像素。
	2.检测精度;幅宽除以像素得出实际检测精度。
	3.扫描行数;每秒运动速度长度除以精度得出每秒扫描行数。
	根据以上计算结果选择线阵相机举例如下:如幅宽为1600 毫米、精度1 毫米、运动速度22000mm/s 相机:1600/1=1600 像素 最少2000 像素,选定为2k 相机 1600/2048=0.8 实际精度 22000mm/0.8mm=27.5KHz
	 应选定相机为2048 像素28kHz 相机

工业相机输入、输出接口有哪些?

1.Camera Link;
2.IEEE 1394 ;
3.USB2.0 ;
4.Ethernet ;
5.USB3.0 ;

视觉开发应用1- 机器视觉基本知识之工业相机_第1张图片

你可能感兴趣的:(计算机视觉,计算机视觉)