工业相机详解及选型
工业相机相对于传统的民用相机而言,具有搞图像稳定性,传输能力和高抗干扰能力等,目前市面上的工业相机大多数是基于CCD(Charge Coupled Device)或CMOS(Complementary Metal Oxide Semiconductor)芯片的相机。
一,工业相机的分类
工业相机有以下分类标准:
1,按照芯片类型可以分为 CCD 相机和 CMOS相机
CCD 相机和 CMOS 相机的主要区别如下:
(1)与 CMOS 传感器相比, CCD 传感器对光更加敏感,这是因为CCD有更大的填充因子。
(2)与 CMOS 传感器相比, CCD 传感更适合对比度低的场合,这是因为CCD可以获得更高的信噪比。
(3)与 CCD 传感器相比, CMOS传感器可以获得更高的图像输出速度,所以更适合高速场合需要。
(4)与 CCD 传感器相比, CMOS 传感器可以获得更多的输出柔性,可以任意选择图像输出的子兴趣区域来提高图像传输速度。
(5) CMOS 传感器拥有更低的能耗。
2,按照传感器的结构特性可以分为线阵相机、面阵相机
面阵相机的优点是价格便宜,处理方便,可以直接获得一幅完整的图像。线阵相机的优点是速度快,分辨率高,可以实现运动物体的连续检测,比如传送带上的细长带状物体的检测(这种情况下,面阵相机很难检测);其缺点是需要进行拼接图像的后续处理。
3,按照扫描方式可以分为隔行扫描相机、逐行扫描相机
隔行扫描相机的优点是价格便宜,但是在拍摄运动物体时,容易出现锯齿状边缘或叠影。逐行扫描相机则没有这个缺点,该相机拍摄的运动图像画面清晰,失真小。
4,按照分辨率大小可以分为普通分辨率相机、高分辨率相机
分辨率越高,则图像的细节表现越充分。
5,按照输出信号方式可以分为模拟相机、数字相机
模拟相机以模拟电平的方式表达视频信号,这种相机通常用于闭路电视或者与数字化视频波形的采集卡相连,其优点是技术成熟、成本低廉,对应的图像采集卡价格也比较低;但也有一些缺点,比如帧率低,分辨率低等;数字相机内部有一个 A / D 转换器,数据以数字形式传输,可以避免传输过程中的图像衰减或噪声。所以,在高速、高精度机器视觉中,一般都会选用数字相机。
除此之外,还可以按照输出色彩分为单色(黑白)相机、彩色相机;按照输可以分为普通速度相机、高速相机;按照响应频率范围可以分为可见光(普通)相机、红外相机、紫外相机等。
二.工业相机的主要参数
工业相机的主要参数包括分辨率,应特性、工业相机噪声、信噪比。
1,分辨率( Resolution )
分辨率即相机每次采集图像的像素点数( Pixels ),对于数字相机,一般是直接与光电传感器的像元数对应的;对于模拟相机,则取决于视频制式, PAL 制分辨率为768x576, NTSC 制分辨率为640x480。
2,像素深度( Pixel Depth )
像素深度即每像素数据的位数,一般为8b,对于数字相机还会有10b,12b等。分辨率和像素深度共同决定了图像的大小。例如,对于像素深度为8b的500万像素相机、采集的整张图片大小为500万 X8/1024/1024=37M(1024 B=1KB,102kB =1MB),增加橡素深度可以提高测量的精度,但同时也降低了系统的速度,并且我高了系统集成的难度(线缆增加,尺寸变大等)。
3,最大帧率( Frame Rate ),行频( Line Rate )
最大帧率/行频指相机采集传输图像的速率,面阵相机一般为每秒采集的帧数( Framen / Sec );线阵相机为每秒采集的行数( Hz )。
4,曙光方式( Exposure )和快门速度( Shutter )
线阵相机的曝光方式为连行曝光,可以选择固定行颗和外触发同步的采集方式,曝光时间可以与行周期一致,也可以设定一个调定的时间、而阵相机有帧曝光、场曝光和滚动行曝光等几种常见曝光方式:数字相机﹣软都爱供外触发采集的功能,快门速度一般可以达到10 us ,高速相机还可以更快。
5,像元尺寸( Pixel Size )
像元大小和像元数(分辨率)共同决定了相机靶面的大小,目前数字箱机的像元尺寸一般为3~10um,一般像元尺寸越小,制造难度越大,图像质量也越难提高。
6,光谱响应特性( Spectral Range )
光谱响应特性是指像元传感器对不同光波的敏感特性、一般响应范围为350~1000 um ,一些相机在靶面前加了一个滤镜,滤除红外光线,如果系统需要对红外感光、则可去掉该滤镜。
7,工业相机噪声
噪声是指成像过程中不希望被采集到,实际成像目标之外的信号,工业相机噪声总体上分为两类:一类是由有效信号带来的散粒噪声,这种噪声对任何相机都存在:另一类是相机本身固有的,与信号无关的噪声,它是图像传感器读出电路、相机信号处理与放大电路带来的固有噪声,每台相机的固有噪声都不相同。
8,信噪比( SNR )
信噪比是图像中信号与噪声的比值(有效信号平均灰度值与噪声均方根的比值)、代表了图像的质量,图像信噪比越高,相机性能和图像质量越好。
三,工业相机的输出接口
工业相机输出接口类型的选择主要由需要获得的数据类型决定。如果图像输出给视频监视器,那么只需要模拟输出的工业相机。如果需要将工业相机获取的图像传输给电脑处理,则有多种输出接口选择,但必须和采集卡的接口一致,通常有以下几种方式:
1,USB 接口
USB 接口直接输出数字信号图像,通信方式为串行通信,支持热拔插,会占用 CPU 资源、传输距离较短,稳定性稍差。目前广泛采用的USB2.0接口,其优点是所有电脑都配置有USB2.0接口,方便连接,不需要采集卡,其缺点是传输速率较慢,且由于接口没有螺丝固定,所以连接处容易松动,USB3.0在USB2.0的基础上新增了两组数据总线和传输协议,可以更快地传输数据。目前, USB 3.0相机还未普及,但国内外的工业相机厂商都在进行积极推进。
2,1394a/1394b接口
1394接口的协议、编码方式较佳,传输速度稳定,接口处都有螺丝紧固。常用的1394接口包括1394a接口(传输速率为400 Mb / s )和1394b接口(传输速率为800 Mb / s )。由于在苹果垄断时期1394接口未能得到普及,因此电脑上通常不包含其接口,需要使用额外的采集卡。
3,Gige 接口
Gige 接口即千兆以太网接口、 PC 标准接口,该接口的传输速率高、传输距离远(可达100 m )。 Gige 接口是一种基于千兆以太网通信协议开发的相机接口标准,
是近几年市场上应用的重点,其使用方便, CPU 资源占用少,可多台同时使用。
4, Camera Link 接口
Camera Link 接口需要单独的 Camera Link 采集卡,成本较高、便携性低,在实际应用中较少使用,但是,该接口是目前工业相机中传输速率最快的一种传输方式,一般在高分辨率的高速面阵相机和线阵相机上应用,价格昂贵。
5, HDMI 接口
HDMI ( High Definition Multimedia Interface )是一种采用数字化视频(音频)接口技术的高清晰度多媒体接口,可以满足1080P的分辨率,是适合影像传输的专用型数字化接口。该接口可同时传送无压缩的音频和视频信号,其最高数据传输速度为5 Gb / s ,同时无需在信号传送前进行数/模转换或者模/数转换。此外,采用 HDMI 规格接口的线缆没有长度的限制, HDMI 的最大传输距离为15m。
6,VGA 接口
VGA 接口是计算机的常用模拟输出接口,部分工业相机也提供该输出接口。 VGA 接口的特点是可以直接显示且显示速率高、图像清晰无闪烁、集成度高、性能稳定、故障率低。
四,工业相机的选型
1,选择工业相机的分辨率
X 方向分辨率=视野范围( X 方向)/理论精度; Y 方向分辨率=视野范围( Y 方向)/理论精度。根据目标的要求精度,可以计算出相机的分辨率。例如,对于视野大小为10mmX10mm的场合,要求的精度为0.02 mm / pixel ,则单方向上分辨率为10/0.02=500。然而,考虑到相机边缘视野的畸变以及系统的稳定性要求,一般不会只用一个像素单位对应一个测量精度值,而是选择倍数为4或者更高,这样相机的单方向分辨率为2000,相机的分辨率=2000x2000=400万,所以选用500万像素的相机即可满足。
2,选择工业相机的芯片
如果要求拍摄的物体是运动的,要处理的对象也是实时运动的物体,那么选择 CCD 芯片的相机为最适宜。但采用帧曝光(全局曝光)方式的 CMOS 相机在拍摄运动物体时绝不比 CCD 的差。如果物体运动的速度很慢,在我们设定的相机曝光时间范围内,物体运动的距离很小,换算成像素其大小为一两个像素,那么选择普通滚动曝光的 CMOS 相机也是合适的。但若超过两个像素的偏差,则物体拍出来的图像会有拖影。目前,很多高品质的 CMOS 相机完全可以替代 CCD 用于高精度、高速的场合, CMOS 将会成为主流选择。
3,选择彩色相机还是黑白相机
如果根据颜色特征处理图像,则采用彩色相机,否则建议使用黑白相机,因为同样的分辨率,黑白相机的精度比彩色的高,对于图像的边缘,使用黑白相机的效果更好。此外,做图像处理时,由于黑白工业相机得到的是灰度信息,所以可直接处理。
4,工业相机的帧率
根据要拍摄的运动物体选择相机的帧率,帧率需大于等于物体运动速度。
5,选择线阵相机还是面阵相机
对于拍摄精度要求很高,运动速度很快的物体,面阵相机的分辨率和帧率可能打不到要求,所以选择线阵相机。
6,相机和图像采集卡的匹配
1)视频信号的匹配
黑白模拟信号相机有CCIR和RS170(EIA)两种视频信号格式,通常采集卡可同时支持这两种格式的相机。
2)分辨率的匹配
每款采集卡都只支持某一分辨率范围内的相机。
3)特殊功能的匹配
如果要使用相机的特殊功能,则需先确定所用采集卡是否支持此功能,比如使用多部相机同时拍照,则采集卡必须支持多通道;如果相机是逐行扫描的,那么采集卡必须支持逐行扫描。
4)接口的匹配
确定相机和采集卡的接口是否匹配,如相机接口为 CameraLink 、Firewire1394时,由于笔记本电脑没有该接口,所以需使用额外的图像采集卡,此时要求采集卡接口与相机接口相匹配。
7,工业相机的 CCD / CMOS 靶面
靶面尺寸的大小会影响镜头焦距的长短,在相同视场角下,靶面尺寸越大,焦距越长。在选择相机时,特别是对拍摄角度有严格要求时, CCD / CMOS 靶面的大小、 CCD / CMOs 与镜头的配合情况将直接影响视场角的大小和图像的清晰度。因此,在选择 CCD / CMOS 尺寸时,要结合镜头的焦距、视场角。一般要求镜头的尺寸大于或等于相机的靶面尺寸。
相机示例(图片源自百度,如有侵权,请联系博主删除)
相关文章:

工业相机详解及选型
工业相机相对于传统的民用相机而言,具有搞图像稳定性,传输能力和高抗干扰能力等,目前市面上的工业相机大多数是基于CCD(Charge Coupled Device)或CMOS(Complementary Metal Oxide Semiconductor)芯片的相机。 一,工业相机的分类 …...
RAID 矩阵
在架构设计中,RAID矩阵(RAID Log)是一个用于项目管理和风险管理的工具,帮助团队有效管理和跟踪项目中可能影响成功交付的关键因素。与存储技术中的 RAID 不同,这里的 RAID 是一个缩写,代表: R:…...

详细分析Redisson分布式锁中的renewExpiration()方法
目录 一、Redisson分布式锁的续期 整体分析 具体步骤和逻辑分析 为什么需要递归调用? 定时任务的生命周期? 一、Redisson分布式锁的续期 Redisson是一个基于Redis的Java分布式锁实现。它允许多个进程或线程之间安全地共享资源。为了实现这一点&…...

实验3,网络地址转换
实验3:网络地址转换 实验目的及要求: 通过实验,掌握NAT技术的工作原理,了解三种不同类型NAT技术的主要作用以及各自的主要应用环境。能够完成静态NAT和复用NAT技术的应用,并熟练掌握NAT技术相关的配置命令。 实验设…...
Java 中的 String 字符串是不可变的
文章目录 什么是不可变字符串?举个例子直观理解 不可变的原理1. 内部实现2. 字符串常量池3. 线程安全 为什么要设计成不可变?什么时候用可变字符串?示例 总结推荐阅读文章 在 Java 编程中,字符串(String)是…...
计算机网络架构实例
小型企业网络 1. 终端设备: - 员工的台式电脑和笔记本电脑,用于日常办公,如文档处理、邮件收发、业务软件使用等。 - 智能手机和平板电脑,方便员工在外出或移动办公时也能接入公司网络,查看邮件和处理紧急事务。 2.…...

Chrome与Firefox浏览器HTTP自动跳转HTTPS的解决方案
一、背景介绍 随着网络安全意识的不断提高,越来越多的网站开始采用HTTPS协议,以确保数据传输的安全性。然而,有时用户在浏览网页时,可能会遇到HTTP请求被自动跳转至HTTPS的情况导致网站打不开,提示安全问题࿰…...

众数信科荣登“2024 CHINA AIGC 100”榜单
2024年10月17日,由非凡产研推出的「2024 CHINA AIGC 100」榜单隆重发布,众数信科凭借领先的企业AI智能体解决方案能力荣登榜单。 非凡产研AIGC 100 评选旨在挖掘国内具有高潜力的AI应用,为AI产业的高质量发展注入新动力。榜单覆盖了教育、医疗…...

【AI知识】距离度量和相似性度量的常见算法
本文介绍一些AI中常见的距离度量和相似性度量算法: 1. 欧几里得距离(Euclidean Distance) 欧几里得距离是最常见的距离度量方法,用来计算两个向量之间的“直线距离”,也被成为L2范数。 公式如下,其中 x…...

LeetCode1004.最大连续1的个数
题目链接:1004. 最大连续1的个数 III - 力扣(LeetCode) 1.常规解法(会超时) 遍历数组,当元素是1时个数加一,当元素是0时且已有的0的个数不超过题目限制时,个数加一,若上…...

Parallels Desktop20虚拟机软件能让你在Mac上无缝运行Windows
Code 生成器:Parallels Desktop 20最新版本虚拟机的奇妙世界 🌟【轻松跨越操作系统界限】🌟 你是否常常感到在Mac和Windows之间切换太麻烦?Parallels Desktop 20最新版,让你不再为跨系统操作而烦恼。这款虚拟机软件能让…...

Golang | Leetcode Golang题解之第476题数字的补数
题目: 题解: func findComplement(num int) int {highBit : 0for i : 1; i < 30; i {if num < 1<<i {break}highBit i}mask : 1<<(highBit1) - 1return num ^ mask }...

Spring 实现 3 种异步流式接口,干掉接口超时烦恼
大家好,我是小富~ 如何处理比较耗时的接口? 这题我熟,直接上异步接口,使用 Callable、WebAsyncTask 和 DeferredResult、CompletableFuture等均可实现。 但这些方法有局限性,处理结果仅返回单个值。在某…...

字节 HLLM 论文阅读
github连接:https://github.com/bytedance/HLLM 探讨问题: 推荐LLM的三个关键问题: LLM预训练权重通常被认为是对世界知识的概括,其对于推荐系统的价值?对推荐任务进行微调的必要性?LLM是否可以在推荐系统…...
Chromium html<iframe>对应c++接口定义
HTML <iframe> 标签 使用 <iframe> 标签 在当前 HTML 文档中嵌入另一个文档: <!DOCTYPE html> <html> <body><h1>iframe 元素</h1><iframe src"https://www.w3school.com.cn" title"W3School 在线教…...

Vue详细入门(语法【三】)
今天滴的学习目标!!! Vue组件是什么?组件的特性和优势Vue3计算属性Vue3监听属性 在前面Vue详细入门(语法【一】——【二】)当中我们学习了Vue有哪些指令,它的核心语法有哪些?今天我们…...

快速构建SpringBoot项目
快速构建SpringBoot项目 下文将简述如何快速构建一个SpringBoot项目,使用SpringData JPA实现持久层访问,集成lombok、swagger2及集成thymeleaf进行页面展示。 准备环境: JDK版本:jdk17 IntelliJ IDEA版本: 2023.2.7…...

架构设计笔记-14-云原生架构设计理论与实践
知识要点 云原生(Cloud Native)架构原则: 服务化原则:通过微服务架构,小服务(MiniService)架构把不同生命周期的模块分离出来,分别进行业务迭代,避免迭代频繁模块被慢速…...
leetcode hot100 之【LeetCode 206. 反转链表】 java实现
LeetCode 206. 反转链表 题目描述 给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。 示例 1: 输入:head [1,2,3,4,5] 输出:[5,4,3,2,1]示例 2: 输入:head [1,2] 输出&#x…...

基于Spring Cloud的电商系统设计与实现——用户与商品模块的研究(上)
操作系统:Windows Java开发包:JDK1.8 项目管理工具:Maven3.6.0 项目开发工具:IntelliJIDEA 数据库:MySQL Spring Cloud版本:Finchley.SR2 Spring Boot版本:2.0.6.RELEASE 目录 用户模块—user-…...

linux arm系统烧录
1、打开瑞芯微程序 2、按住linux arm 的 recover按键 插入电源 3、当瑞芯微检测到有设备 4、松开recover按键 5、选择升级固件 6、点击固件选择本地刷机的linux arm 镜像 7、点击升级 (忘了有没有这步了 估计有) 刷机程序 和 镜像 就不提供了。要刷的时…...

select、poll、epoll 与 Reactor 模式
在高并发网络编程领域,高效处理大量连接和 I/O 事件是系统性能的关键。select、poll、epoll 作为 I/O 多路复用技术的代表,以及基于它们实现的 Reactor 模式,为开发者提供了强大的工具。本文将深入探讨这些技术的底层原理、优缺点。 一、I…...
C++课设:简易日历程序(支持传统节假日 + 二十四节气 + 个人纪念日管理)
名人说:路漫漫其修远兮,吾将上下而求索。—— 屈原《离骚》 创作者:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊) 专栏介绍:《编程项目实战》 目录 一、为什么要开发一个日历程序?1. 深入理解时间算法2. 练习面向对象设计3. 学习数据结构应用二、核心算法深度解析…...
BLEU评分:机器翻译质量评估的黄金标准
BLEU评分:机器翻译质量评估的黄金标准 1. 引言 在自然语言处理(NLP)领域,衡量一个机器翻译模型的性能至关重要。BLEU (Bilingual Evaluation Understudy) 作为一种自动化评估指标,自2002年由IBM的Kishore Papineni等人提出以来,…...

【Linux手册】探秘系统世界:从用户交互到硬件底层的全链路工作之旅
目录 前言 操作系统与驱动程序 是什么,为什么 怎么做 system call 用户操作接口 总结 前言 日常生活中,我们在使用电子设备时,我们所输入执行的每一条指令最终大多都会作用到硬件上,比如下载一款软件最终会下载到硬盘上&am…...
HTML前端开发:JavaScript 获取元素方法详解
作为前端开发者,高效获取 DOM 元素是必备技能。以下是 JS 中核心的获取元素方法,分为两大系列: 一、getElementBy... 系列 传统方法,直接通过 DOM 接口访问,返回动态集合(元素变化会实时更新)。…...
c# 局部函数 定义、功能与示例
C# 局部函数:定义、功能与示例 1. 定义与功能 局部函数(Local Function)是嵌套在另一个方法内部的私有方法,仅在包含它的方法内可见。 • 作用:封装仅用于当前方法的逻辑,避免污染类作用域,提升…...
在golang中如何将已安装的依赖降级处理,比如:将 go-ansible/v2@v2.2.0 更换为 go-ansible/@v1.1.7
在 Go 项目中降级 go-ansible 从 v2.2.0 到 v1.1.7 具体步骤: 第一步: 修改 go.mod 文件 // 原 v2 版本声明 require github.com/apenella/go-ansible/v2 v2.2.0 替换为: // 改为 v…...

从零开始了解数据采集(二十八)——制造业数字孪生
近年来,我国的工业领域正经历一场前所未有的数字化变革,从“双碳目标”到工业互联网平台的推广,国家政策和市场需求共同推动了制造业的升级。在这场变革中,数字孪生技术成为备受关注的关键工具,它不仅让企业“看见”设…...

数据挖掘是什么?数据挖掘技术有哪些?
目录 一、数据挖掘是什么 二、常见的数据挖掘技术 1. 关联规则挖掘 2. 分类算法 3. 聚类分析 4. 回归分析 三、数据挖掘的应用领域 1. 商业领域 2. 医疗领域 3. 金融领域 4. 其他领域 四、数据挖掘面临的挑战和未来趋势 1. 面临的挑战 2. 未来趋势 五、总结 数据…...