工业相机基本参数以及选型

from: https://blog.csdn.net/dcrmg/article/details/52851913

工业相机基础知识(一)

CCD与CMOS

工业相机按照图像的传感器元件的不同分为CCD(Charge Coupled Device,电荷耦合元件)和CMOS(金属氧化物半导体元件)两类,两者的区别如下:

成像过程不同:

CCD仅有一个(或少数几个)输出节点统一输出数据,信号一致性好,而CMOS芯片中每个像素都有自己的信号放大器,各自进行电荷到电压的转换,输出信号的一致性较差,比CCD的信号噪声更多,但是CMOS的一个显著优点是功效较低。

集成性不同:

CCD的制造工艺复杂,输出的只是模拟电信号,还需要后续的译码器,模拟转换器,图像信号处理器等,集成度低。COMS可以把信号放大器,模数转换器等集成在一块芯片上,集成度高,成本低。随着CMOS成像技术的进步,CMOS未来会有越来越多的应用场景。

图像输出速度不同:

CCD采用逐个光敏输出,速度较慢,CMOS每个电荷元件都有独立的装换控制器,读出速度很快,FPS在500以上的高速相机大部分使用的都是CMOS。

噪声方面:

CCD技术较为成熟,成像质量相较CMOS具有一定优势,CMOS的集成度更高,各元器件间距距离更近,干扰更多。


线阵相机与面阵相机


线阵相机的传感器只有一行感光元素,一般应用于需要高频扫描和高分辨率的场合。线阵CCD的优点是一维像元数可以做到很多,一般长度有2K,4K,8K,12K,但线阵CCD获取图像必须配以扫描运动,为了能确定图像上每一个像素点在被测件上的对应位置,还需要配以光栅等器件记录线阵CCD每一扫描行的坐标,并配以线阵相机专用的图像采集卡,这就导致线阵相机系统较为复杂,成本略高,并用容易受扫描运动的精度和稳定性的影响。面阵相机的像元在纵横两个方向上间隔的离散度是一致的,而线阵CCD的像元间距和扫描行距上一般是有差别的,由于扫描行距受机械传动部分的限制,远大于像元间距。

面阵相机有比线阵相机更多的感光镜片,以矩阵排列,例如常说的百万像素相机即表示感光镜片矩阵W*H约等于1000*1000。面阵相机一次成像,它的分辨率指的是一个感光晶片代表的实物物体的大小。数值越小,分辨率越高,相同的相机选用不同集中的箭头,分辨率就不同。在表现图像细节方面,不是由相机的像素多少来决定的,而是由分辨率决定的。同等分辨率条件下,像素越多可以成像的区域面积越大。


工业相机的输出接口:


工业相机输出接口类型的选择主要由需要获得的数据类型决定。如果图像输出直接给视频监视器,那么只需要模拟输出的工业相机。如果需要将工业相机获取的图像传输给电脑处理,则有多种输出接口选择,但必须和采集卡的接口一致,通常有以下几种方式:

1.USB接口

USB接口直接输出数字图像信号,串行通信,支持热拔插,传输速度在120Mbps-480Mbps之间,会占用CPU资源。传输距离较短,稳定性稍差。

目前广泛采用的USB2.0接口,是最早应用的数字接口之一,具有开发周期短,成本低廉的特点。其缺点是传输数据较慢,传输数据过程需要CPU参与管理,占用资源,且由于接口没有螺丝固定,链接容易松动,最新的USB3.0接口使用了新的USB协议,可以更快的传输数据,但目前USB3.0的相机市场上不是很多。

2.1394a/1394b接口

俗称火线接口,是美国电气和电子工程师学会(IEEE)制定的一个标准工业串行接口。所以又称为“IEEE1394”,现主要用于视频采集,数据传输率可达800Mbps,支持热拔插。电脑上使用1394接口需要使用额外的采集卡,使用不方便,且由于早期苹果对该技术的垄断,市场普及率较低,已慢慢被市场所淘汰。

3.Gige接口

千兆以太网接口,PC标准接口,传输速率和距离都更高。是一种基于千兆以太网通信协议开发的相机接口标准,特点是快捷的数据传输速度和高达100米的传输距离。是近几年市场上应用的重点,使用方便,CPU资源占用少,可多台同时使用。

4.Camera Link接口

需要单独的Camera Link采集卡,成本较高,便携性低,实际应用中较少,但是是目前工业相机中传输速度最快的一种传输方式,一般在高分辨率的高速面阵相机和线阵相机上应用,价格昂贵。


工业相机基本参数以及选型参考(二)


  • 分辨率

相机每次采集图像的像素点数,一般对应于光电传感器靶面排列的像元数,如1920*1080。

  • 像素深度

每位像素数据的位数,常见的是8bit,10bit,12bit。分辨率和像素深度共同决定了图像的大小。例如对于像素深度为8bit的500万像素,则整张图片应该有500万*8/1024/1024=37M(1024bit=1KB,1024KB=1M)。增加像素深度可以增强测量的精度,但同时也降低了系统的速度,并且提高了系统集成的难度(线缆增加,尺寸变大等)。

  • 最大帧率/行频

相机采集和传输图像的速度,对于面阵相机一般为每秒采集的帧数(Frames/Sec),对于线阵相机为每秒采集的行数(HZ)。

  • 曝光的方式和快门速度

工业线阵相机都是逐行曝光的方式,可以选择固定行频和外触发同步的方式,曝光时间可以与行周期一致,也可以设定一个固定的时间;面阵相机有帧曝光、场曝光和滚动曝光几种常见方式,工业数字相机一般都提供外触发采图的功能,快门速度一般可到10ms,高速相机还会更快。

  • 像元尺寸

像元大小和像元数(分辨率)共同决定了相机靶面的大小。目前工业数字相机像元尺寸一般位3μm~10μm,一般像元尺寸越小,制造难度越大,图像质量也越不容易提高。

  • 光谱响应特性

是指该像元传感器对不同光波的敏感特性,一般响应范围为350nm~1000nm,一些相机在靶面前面加了一个滤镜,滤除红外线,如果系统需要对红外感光时可去掉该滤镜。

  • 工业相机噪声

噪声是指成像过程中不希望被采集到的,实际成像目标之外的信号。总体上分为两类,一类是由有效信号带来的散粒噪声,这种噪声对任何相机都存在;另一类是相机本身固有的与信号无光的噪声。它是由于图像传感器读出电路、相机信号处理与放大电路带来的固有噪声,每台相机的固有噪声都不一样。

  • 信噪比

相机的信噪比定义为图像中信号与噪声的比值(有效信号平均灰度值与噪声均方根的比值),代表了图像的质量,图像信噪比越高,相机性能和图像质量越好。


如何选择合适的工业相机:


  • 1. CCD Or CMOS

CCD提供很好的图像质量、抗噪能力,尽管由于增加了外部电路使得系统的尺寸变大,复制下提高,但在电路设计师可更加灵活,更好的提升CCD相机某些特别关注的性能。CCD更适合于对相机性能要求非常高而对成本控制不太严格的应用领域,如天文、高清晰的医疗X光影像、其他需要长时间曝光,对图像噪声要求比较严格的应用场合。

CMOS具有成品率高、集成度高、功耗小、价格低等优点。但本身图像的噪声比较多。目前的CMOS技术不断发展,已经克服了早期的许多缺点,发展到了图像品质方面可以与CCD技术相较量的水平。CMOS适用于要求空间小、体积小、功耗低而对图像噪声和质量要求不是特别高的场合。如大部分辅助光照明的工业检测应用、安防保安应用、和大部分消费性商业数码相机。目前CCD工业相机任然在视觉检测方案中占据主导地位。

  • 2. 合适的分辨率

根据目标的要求精度,反推出相机的像素精度。相机单方向分辨率=单方向视野范围除以理论精度。

例如对于视野大小为10*10mm的场合,要求精度为0.02mm/pixel,则当方向上分辨率=10/0.02=500.然而考虑到相机边缘视野的畸变以及系统的稳定性要求,一般不会只用一个像素单位对应一个测量精度值,一般选择倍数为4或者更高,这样相机单方向分辨率为2000,相机的分辨率=2000*2000=400万,所以选用500万像素的相机即可满足。

  • 3. 足够的相机帧率

当被测物体有运动要求时,要选择帧数较高的工业相机,一般来说分辨率越高,帧数越低。

  • 4. 合适的镜头

选择的镜头的支持CCD尺寸要大于等于相机CCD传感器芯片的尺寸,另外安装座是C、CS或F型接口也要匹配,同时考虑镜头的工作距离,是否留有足够空间等。


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/458232.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

读《我是一只IT小小鸟》有感

学期刚开始老师就在课堂上给我们这些未来的IT行业工作者推荐了这本《我是一只IT小小鸟》。其实在这之前我对这本书是早有耳闻的,许多人的推荐足以证明它是一本好书,然而那时的我并未能料到自己会成为软件工程专业的学生,也对这个专业一无所知…

socket编程初级

什么是socket定义socket通常也称作套接字,用于描述IP地址和端口,是一个通信链的句柄,应用程序通常通过套接字向网络发出请求或者应答网络请求。socket起源于Unix,而Unix/Linux基本哲学之一就是“一切皆文件”,对于文件…

OpenCV—基本数据结构与示例

OpenCV的基本数据结构及示例OpenCV中强大的Mat类型大家已经比较熟悉了。这里梳理一些在工程中其他经常用到的几种基本数据类型。包括:VecScalarPointSizeRectRotatedRect1. Vec类1.1 基本概念Vec是一个模板类,主要用于存储数值向量。1.2 用法&#xff08…

使用var声明的变量 和 直接赋值并未声明的变量的区别

在看JS高级程序设计时忽然想到这个问题,众所周知,直接赋值一个变量而为声明,会产生一个全局变量(或者说是全局对象的属性),但用var声明的变量 和 直接赋值而并未声明的变量 都有哪些区别呢,这是…

转载-程序员编程技术迅速提高的终极攻略

2019独角兽企业重金招聘Python工程师标准>>> 前言 你是否觉得自己从学校毕业的时候只做过小玩具一样的程序?走入职场后哪怕没有什么经验也可以把以下这些课外练习走一遍(朋友的抱怨:学校课程总是从理论出发,作业项目都…

工作记录二-Docker+Dockerfile

1. 安装虚拟机 Oracle VM VirtualBox, 安装centos 7.2版本2. 需要在命令行中先设置代理: export http_proxyproxy.xxxxx.com:8080 3. 运行 yum install docker安装docker 安装 docker-compose curl -L https://github.com/docker/compose/releases/down…

SVM

from:https://blog.csdn.net/liugan528/article/details/79448379 SVM 1. 基本概念 支持向量机(Support Vector Machine, SVM)的基本模型是在特征空间上找到最佳的分离超平面使得训练集上正负样本间隔最大。SVM是用来解决二分类问题的有监督学…

listView当中有嵌套了有onClickListener的控件时ListView自身的onItemClick无响应的解决方案...

参考:http://www.cnblogs.com/bluestorm/archive/2013/03/24/2979557.html 解决方案 在ListView要显示的Item的外层加上 android:descendantFocusability"blocksDescendants"转载于:https://www.cnblogs.com/jinglecode/p/5683724.html

LoadRunner常用术语

1.场景 2.负载发生器 3.虚拟用户 4.虚拟用户脚本 5.事务 6.思考时间 7.集合点 8.事务响应时间 转载于:https://www.cnblogs.com/Andy-Lv/p/5263707.html

跟我学Shiro目录贴

2019独角兽企业重金招聘Python工程师标准>>> http://jinnianshilongnian.iteye.com/blog/2018398 转载于:https://my.oschina.net/zhanggongming/blog/714844

【WinForm-无边框窗体】实现Panel移动窗体,没有边框的窗体

没有边框的窗体怎么移动?其实方法有很多,下面介绍一种用控件来移动窗体,Panel或PictureBox都可。主要设置控件的MouseDowm和MouseLeave事件。 第一步:窗体设计 窗体最上面是一个panel1 窗体最下面是一个Panel3,只显示最…

\Grokking Algorithms\简介与作者采访

\关键点\这本书目的是告诉读者解决问题的新方法。 \这本书试图通过插图来让大家更容易掌握主题,避免部分读者觉得太费解。 \这本书不仅适合没有接触过算法的人,也适合刚从计算机专业毕业的学生。 \这本书提供了非常多的例子和简单练习。 \这并不是一本参…

ZedGraph使用经验

开源的统计图控件中基本常用的是OpenFlashChar和ZedGraph,今天就先来讲讲ZedGraph的使用。 ZedGraph资源 ZedGraph来源:http://sourceforge.net/project/showfiles.php?group_id114675ZedGraph相关例子资源:http://zedgraph.org/wiki/index.…

[转载]聊一聊人员培养

转载自“搜狗测试”微信。 人员培养的痛点 大家在组内人员培养是否遇到了如下问题: 组员成长缓慢,无法达到预期 有时候感觉组员没啥进步,有时候感觉组员挺好的,无法统一评价 脑子里都是组员的问题,无法集中精力做其他…

QCon2016旧金山大会焦点分享者确认

QCon旧金山大会是由InfoQ举办的连续十年的最大的英语会议,它将在今年11月7-9日在旧金山湾区举行。\\在QCon大会涵盖了一系列深入的技术,架构师、资深开发者所关注的国际事件,聚焦创新领域和软件发展趋势,QCon大会每年在美国、中国…

怎样安装两个tomcat,怎样配置

装两个tomcat 各自是6.0和7.0 可想执行tomcat6.0 可是实际上却执行tomcat7.0 两个版本号都是用解压缩包 事实上就是不能执行tomcat6.0 仅仅能执行7.0 两个环境变量都配置了。port也改了 还是不行 我遇到这样的情况了,不知大家遇到没有,例如以下是我的…

机器学习实战之SVM

一引言:支持向量机这部分确实很多,想要真正的去理解它,不仅仅知道理论,还要进行相关的代码编写和测试,二者想和结合,才能更好的帮助我们理解SVM这一非常优秀的分类算法支持向量机是一种二类分类算法&#x…

模拟分页效果

css部分&#xff1a; <style type"text/css">.main{width:800px;zoom:1;margin:0 auto;}.item{width:800px;overflow:hidden;}ul{padding:0;width:860px;zoom:1;}.clear{zoom:1;}.clear:after{content:"";display:block;height:0;clear:both;visibil…

XML基本概念及增删改查操作

一、概念及特征&#xff1a; 1. XML 指可扩展标记语言(Extensible Markup Language)&#xff0c;用户可以自己定义标签。XML 被设计用来传输和存储数据&#xff0c;而 HTML 用于格式化并显示数据&#xff0c;并且HTML不能自定义标签。 2. XML 文档形成一种树结构&#xff0c; X…

mysql 时间类型 datetime,timestamp

2019独角兽企业重金招聘Python工程师标准>>> CURRENT_TIMESTAMP 的 timestamp 意思是 根据 mysql 的当前时间&#xff0c;使用mysql 的当前时间。 参考地址&#xff1a;http://blog.sina.com.cn/s/blog_67cc6e7d0100nrwk.html datetime 和 timestamp 都是保存时间格…