机器视觉含有哪些硬件?

简介: 机器视觉是一项综合技术,包括图像处理、机械工程技术、控制、电光源照明、光学成像、传感器、模拟与数字视频技术、计算机软硬件技术(图像增强和分析算法、图像卡、I/O卡等)。

随着各行各业对采用图像和机器视觉技术的工业自动化、智能需求开始广泛出现,机器视觉逐步开始了工业现场的应用。
6943bc56720f7e7e5dd59017c2fa775ef11257.jpg

在政府的利好驱动下,国内机器视觉行业快速发展,中国正在成为世界机器视觉发展最活跃的地区之一。预计到2025年我国机器视觉市场规模将达246亿元。下面来深入了解一下机器视觉。

机器视觉是一项综合技术,包括图像处理、机械工程技术、控制、电光源照明、光学成像、传感器、模拟与数字视频技术、计算机软硬件技术(图像增强和分析算法、图像卡、I/O卡等)。

一个典型的机器视觉应用系统包括图像捕捉、光源系统、图像数字化模块、数字图像处理模块、智能判断决策模块和机械控制执行模块。

总的来说,机器视觉就是一个软硬件相结合的综合技术,需要软件对图像做处理,也需要硬件提供稳定和高质量的图像,两者同样重要。作为开发,软件模块比较熟悉,硬件系统的相关知识储备弱一些,本文对机器视觉中的硬件相关资源做个简单的汇总,感兴趣的朋友不妨参考看看。

内容概要:

1、工控机
工控机可以理解为PC主机,只是这个主机在图像采集和处理以及相关的控制和接口做得更强一些。在机器视觉系统中,工控机的性能直接影响整个视觉系统的处理速度和运行时间,是整个视觉系统的关键。工控机的选择需要从以下4个方面考虑:

1)尺寸

2)安装方式

3)配置

------根据自己的应用场合选择合适的配置即可。

4)接口
-------很重要,确定视觉系统中摄像机的数量、光源控制器和连接方式。如系统有8个摄像头,4个光源需要控制,摄像头通过网线连接,光源控制器是232接口,如此可以确定工控机的网络接口、串口数量。

2、相机
2.1相机类型

点阵相机/面阵相机

面阵相机:实现的是像素矩阵拍摄。相机拍摄图像中,表现图像细节不是由像素多少决定的,是由分辨率决定的。分辨率是由选择的镜头焦距决定的,同一种相机,选用不同焦距的镜头,分辨率就不同。 像素的多少不决定图像的分辨率(清晰度),那么大像素相机有何好处呢?答案只有一个:减少拍摄次数,提高测试速度。

线阵相机:顾名思义是呈“线”状的。虽然也是二维图像,但极长。几K的长度,而宽度却只有几个象素的而已。一般上只在两种情况下使用这种相机:一、被测视野为细长的带状,多用于滚筒上检测的问题。

二、需要极大的视野或极高的精度。在第二种情况下(需要极大的视野或极高的精度),就需要用激发装置多次激发相机,进行多次拍照,再将所拍下的多幅“条”形图象,合并成一张巨大的图。

因此,用线阵型相机,必须用可以支持线阵型相机的采集卡。 线阵型相机价格贵,而且在大的视野或高的精度检测情况下,其检测速度也慢--一般相机的图象是 400K~1M,而合并后的图象有几个M这么大,速度自然就慢了。慢功出细活嘛。由于以上这两个原因,线阵相机只用在极特殊的情况下。

CCD相机/CMOS相机

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

CMOS相机具有成品率高、集成度高、功耗小、价格低等优点。但本身图像的噪声比较多。目前的CMOS技术不断发展,已经克服了早期的许多缺点,发展到了图像品质方面可以与CCD技术相较量的水平。

CMOS适用于要求空间小、体积小、功耗低而对图像噪声和质量要求不是特别高的场合。如大部分辅助光照明的工业检测应用、安防保安应用、和大部分消费性商业数码相机。目前CCD工业相机仍然在视觉检测方案中占据主导地位。
2.2分辨率

相机每次采集图像的像素点数,一般对应于光电传感器靶面排列的像元数。分辨率的选择还需要根据使用场景和精度需求来定,不是越高越好。

2.3像素深度

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

2.4帧率

相机采集和传输图像的速度,对于面阵相机一般为每秒采集的帧数(Frames/Sec),对于线阵相机为每秒采集的行数(HZ),帧率的选择需要考虑拍摄动态的场景。

2.5曝光

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

2.6噪声

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

2.7开发接口

对于利用相机做视觉项目的开发,对相机的控制(拍照,摄像,保存,设置参数等)是必不可少的,一般厂家会提供控制Demo,开发时需要将控制功能应用到我们的项目中。
3、镜头
相机与镜头一般是配套的,镜头的选型主要考虑呈像的视距,镜头选型步骤:

1)计算短边对应的像素数E=B/C,相机长边和短边的像素数都要大于E;

2)像元尺寸=产品短边尺寸B/所选相机的短边像素数

3)放大倍率=所选相机芯片短片尺寸/相机短边的视野范围

4)可分辨的产品精度=像元尺寸/放大倍率(判断是否小于C)

5)物镜的焦距=工作距离/(1+1/放大倍率)单位:mm

6)像面的分辨率要大于1/(2×0.1×放大倍率)单位:lp/mm

选择的镜头的支持CCD尺寸要大于等于相机CCD传感器芯片的尺寸,另外安装座是C、CS或F型接口也要匹配,同时考虑镜头的工作距离,是否留有足够空间等。如果对镜头的选择还是拿不准的话,可以咨询厂家的技术支持,让厂家根据你的应用场景推荐合适的镜头即可。

4、光源
机器视觉中补光是必须的操作,如果单纯地调大相机的曝光时间,会增大图像的噪声,降低图像的质量,必须要选择合适的光源才行。光源的选择分光源灯和光源控制器两部分。

4.1光源灯

机器视觉提供的光源也很丰富,这是因为视觉行业应用非常广泛,需要根据具体的项目选择合适的光源,才会达到理想的效果。

常见的光源灯类型如下,可根据具体的项目来选择,

4.2光源控制器
光源控制器是为测试环境提供照明的,一般会提供开发接口,控制指定的输出端口点亮,熄灭,主要是配合相机为软件提供符合要求的图像。

5、物理环境
机器视觉系统对测试环境要求比较高,涉及到摄像头,光源,待测目标位置摆放等问题,原则是需要提供一套稳定,高质量的图像。测试环境可能还需要专业的机构来设计,如果是实验用的简易环境可以在网上购买实验用的支架即可。

相关文章
|
数据采集 前端开发
突破技术限制:使用 request-promise 库进行美团数据获取
本文展示了如何用`request-promise`爬取美团数据,重点是通过代理IP避免封禁。安装库后,配置含代理的请求选项,如`proxy`, `auth`和`headers`,并用`cheerio`解析HTML获取餐厅菜单。通过代理服务可以提高爬虫效率。
758 0
突破技术限制:使用 request-promise 库进行美团数据获取
|
计算机视觉 Python
最快速度写出一个识别效果——OpenCV模板匹配(含代码)
最快速度写出一个识别效果——OpenCV模板匹配(含代码)
1254 0
|
存储 XML 开发工具
探索安卓应用开发:从基础到进阶
在这篇文章中,我们将一起踏上安卓应用开发的旅程。不论你是编程新手还是希望提升技能的开发者,这里都有你需要的东西。我们会从最基础的概念开始,逐步深入到更复杂的主题。文章将涵盖开发环境设置、用户界面设计、数据处理以及性能优化等方面。通过理论与实践的结合,你将能够构建出既美观又高效的安卓应用。让我们一起开启这段技术之旅吧!
|
C语言
ASCII 定义了 128 个字符
【10月更文挑战第13天】ASCII 定义了 128 个字符。
876 2
|
数据采集 测试技术 API
在BrowserStack上进行自动化爬虫测试的终极指南
随着互联网的发展,数据价值日益凸显,爬虫技术成为提取网页信息的关键工具。然而,不同环境下的测试与运行挑战重重,特别是在多浏览器、多平台上保证爬虫的稳定性和兼容性尤为困难。BrowserStack作为领先的跨浏览器测试平台,提供了强大的工具和服务。本文将详细介绍如何在BrowserStack上进行自动化爬虫测试,并结合代理IP技术提升爬虫的隐蔽性和成功率。通过具体步骤和案例分析,展示如何利用Selenium、自定义用户代理和Cookie设置来应对反爬虫机制。本指南旨在为开发者提供实用模板,帮助其在多变的测试环境中构建高效的爬虫系统。
469 1
|
缓存 负载均衡 数据库
优化后端性能:提升Web应用响应速度的关键策略
在当今数字化时代,Web应用的性能对于用户体验至关重要。本文探讨了如何通过优化后端架构和技术手段,提升Web应用的响应速度。从数据库优化、缓存机制到异步处理等多个方面进行了深入分析,并提出了一系列实用的优化策略,以帮助开发者更好地应对日益增长的用户访问量和复杂的业务需求。
843 28
|
数据采集 机器学习/深度学习 算法
Python实现Stacking分类模型(RandomForestClassifier、ExtraTreesClassifier、AdaBoostClassifier、GradientBoostingClassifier、SVC)项目实战
Python实现Stacking分类模型(RandomForestClassifier、ExtraTreesClassifier、AdaBoostClassifier、GradientBoostingClassifier、SVC)项目实战
Cannot load keys from store: class path resource
Cannot load keys from store: class path resource
619 0
|
机器学习/深度学习 算法 数据可视化
技术心得记录:机器学习笔记之聚类算法层次聚类HierarchicalClustering
技术心得记录:机器学习笔记之聚类算法层次聚类HierarchicalClustering
308 0
|
Web App开发 前端开发 Java
SpringBoot之请求的详细解析
SpringBoot之请求的详细解析
318 0