相机、镜头参数详解以及相关计算公式
一、工业相机参数
1、分辨率
相机每次采集图像的像素点数,也是指这个相机总共有多少个感光晶片。在采集图像时,相机的分辨率对检测精度有很大的影响,在对同样打的视场成像时,分辨率越高,对细节的展示越明显。
相机像素 = 水平分辨率 * 垂直分辨率
芯片尺寸 = 水平像素尺寸 * 水平分辨率
感光芯片尺寸=分辨率∗像元尺寸
分辨率( Pixel ) = 相机视野( mm ) / 像素精度( mm / Pixel )
2、精度
精度指一个像素表示实际物体的大小,用(um*um)/pixel表示。注意,像元尺寸并不等于精度,像元尺寸是相机机械构造时固定的,而精度与相机视野有关,是变化的。精度值越小,精度越高。
单个像素对应的大小 = 视野宽 / 宽度分辨率 = 视野高 / 高度分辨率
镜头倍率 = 芯片尺寸 / 实际所需视野
像素精度 = 像素尺寸 / 镜头倍率
像素精度 = 相机视野 / 相机分辨率
3、帧率/行频
帧率:fps帧率,对应面阵相机,表示每秒能够拍摄的图片张数。
行频:16kHz行频,对应线阵相机,表示每秒能够扫描的行数。最大图像分辨率为分辨率*行频(例2048x16k);
帧率和行频体现相机的最大工作效率,与曝光共同决定成像图片的明暗,帧率和行频很高且曝光低,则图片很暗;帧率和行频很低且曝光高,则图片很亮。
4、像元尺寸
像元尺寸指芯片像元阵列上每个像元的实际物理尺寸,例如3.75umx3.75um 等。像元尺寸从某种程度上反映了芯片的对光的响应能力,像元尺寸越大,能够接收到的光子数量越多,在同样的光照条件和曝光时间内产生的电荷数量越多。对于弱光成像而言,像元尺寸是芯片灵敏度的一种表征。像元尺寸和像元数(分辨率)共同决定了相机靶面的大小,通常工业相机像元尺寸为2μm~14μm。
像元尺寸(宽) = 传感器尺寸(宽) / 分辨率(宽)
像元尺寸(高) = 传感器尺寸(高) / 分辨率(高)
5、曝光时间
曝光时间时为了将光投射到照相感光材料的感光面上,快门所要打开的时间。曝光时间和实际的帧率成反比,也就是曝光时间越长,实际的采集帧率会越低,一般为3um-10ms。
曝光时间 = 像元尺寸 / 像的运动速度 = 像素精度 / 物体的运动速度
放大倍率 = CCD感光尺寸 / 视场FOV = 焦距 / 工作距离
相机的飞拍曝光数值计算
案例1:物体的运动速度是150mm/s,沿着芯片的水平方向运动,相机是1/2芯片(6.4mm*4.8mm),视场水平方向长度是20mm,像元尺寸是4.65um,计算成像时不产生拖影的曝光时间。
首先计算出像的运动速度
放大倍数 = CCD感光尺寸 / 视场FOV = 6.4mm / 20mm = 0.32,
像的运动速度 = 放大倍率 * 物体的运动速度 = 0.32 * 150mm/s = 48mm/s,
曝光时间 = 像元尺寸 / 像的运动速度 = 4.65um / 48mm/s = 0.000097s = 97us,
最后曝光时间设置为100us即可。
案例2:玻璃转盘设备,使用的相机是GMAX3265(6500万相机,相机的像元尺寸是3.2μm*3.2μm),0.52倍率的圆心镜头,转盘3600脉冲转一圈,软件设定的运行速度180脉冲/s,玻璃转盘的盘子直径500mm
计算公式1:
转盘转一圈的时间 = 一圈的脉冲 / 运行速度 = 3600 / 180 = 20秒;
物体的运动速度 = 转盘的盘子直径 * 3.14 / 转盘转一圈的时间 = 500 * 3.14 / 20 = 78.5mm/s
像的运动速度 = 放大倍率 * 物体的运动速度 = 78.5 * 0.52 = 40.82mm/s
曝光时间 = 像元尺寸 / 像的运动速度 = 3.2 / 40.82 = 78.39us
最后曝光时间设置为80us
计算公式2:
转盘转一圈的时间 = 一圈的脉冲 / 运行速度 = 3600 / 180 = 20秒;
物体的运动速度 = 转盘的盘子直径 * 3.14 / 转盘转一圈的时间 = 500 * 3.14 / 20 = 78.5mm/s
像素精度 = 像元尺寸 / 镜头的倍率 = 3.2 / 0.52 = 6.153846um
曝光时间 = 像素精度 / 物体的运动速度 = 6.153846 / 78.5 = 78.39us
6、靶面尺寸(传感器尺寸)
图像传感器的感光部分的大小,通常指的是图像传感器的对角线长度,在同样镜头情况下,靶面越大,视场越大,靶面越小,视场越小。传感器(CCD/CMOS)尺寸的表示方法大惑不解,因为像1/1.8英寸、2/3英寸之类的尺寸,既不是任何一条边的尺寸,也不是其对角线尺寸,看着这样的尺寸,往往难以形成具体尺寸大小的概念。
| 传感器类型 | 宽度(mm) | 高度(mm) | 对角线(mm) |
| 1/3'' | 4.800 | 3.600 | 6.000 |
| 1/2.5'' | 5.760 | 4.290 | 7.182 |
| 1' | 12.700 | 9.600 | 16.000 |
| 2/3'' | 8.800 | 6.600 | 11.000 |
| 1/2'' | 6.400 | 4.800 | 8.000 |
| 4/3'' | 18.800 | 13.500 | 22.500 |
CCD尺寸一般用英寸来表示,靶面尺寸就是CCD尺寸
靶面尺寸 = 对角线尺寸
靶面面积 = 传感器宽度 * 传感器高度
二、镜头参数
1、焦距
与光轴平行的光线射入凸透镜时,理想的镜头应该是所有的光线聚集在一点后,再以锥状扩散开来,这个聚集所有光线的点叫做焦点。对于单个透镜来说,焦距是指从光心到焦点的距离,如图一;对于多个透镜组成的镜头组来说,焦距是指像方主平面到焦点的距离,如图二。
焦距 = (工作距离 * 相机传感器短边尺寸)/ 物体宽度
或 焦距 = 工作距离 * 放大倍率
焦距、像距、物距之间的关系:
(1 / 物距)+ (1 / 像距)= (1 / 焦距)
2、光圈
光圈是一个用来控制光线透过镜头进入机身内感光面光量的装置,在拍摄高速运动物体时,由于曝光时间短,需要使用大光圈。
光圈大小一般用F表示,以镜头焦距f和通光孔径直径D的比值来衡量,当光圈物理孔径不变时,镜头中心与感光器件距离越远,F值越大,光圈越小;反之,F值越小,光圈越大。
一般通过调整通光孔径大小来调节光圈,完整的光圈数值系列如下:F1,F1.4,F2,F2.8,F4,F5.6,F8,F11,F16,F22,F32,F44,F64。
光圈系数F = 焦距f / 通光孔径D
3、分辨率
图像系统可以测到的受检验物体上的最小可分辨特征尺寸,多数情况下,视野越小,分辨率越好
4、工作距离
工作距离指的是镜头的最下端到景物之间的距离。一般的镜头是可以看到无限远的,也就是说是没有上限的。镜头上有两个刻度的调节圈分别是调节光圈和调焦圈,在调节圈上标有的刻度表示此时镜头的工作距离。

5、视场(FOV)
视场也叫视野范围,视野指的是镜头能看到的最大范围,也就是镜头所能覆盖的有效工作区域。
6、景深(DOF)
在最小工作距离到最大工作距离之间的范围称为景深(纵向的范围),景深内的物体都可以清晰成像。景深一般可以通过光圈调节,光圈越小,景深越大。

能清晰成像的最近物平面称为近景平面,它与对准平面的距离称为前景深L1。
能清晰成像的最远物平面称为远景平面,它与对准平面的距离称为后景深L2。
景深=前景深+后景深:
其中: :容许弥散圆直径,f:镜头焦距,F:镜头的拍摄光圈值,L:对焦距离
光圈,镜头焦距、拍摄距离对景深的影响:
1)、镜头光圈:光圈越大,景深越小;光圈越小,景深越大;
2)、镜头焦距:镜头焦距越长,景深越小;距离越短,景深越大;
3)、拍摄距离:距离越远,景深越大;距离越近,景深越小
7、视角
视角即视线的角度,也就是镜头能看多"宽"。焦距越小,视角越大,最小工作距离越短,视野越大。
镜头选型实例:
已知客户观察范围为30mm*30mm,工作距离为100mm,CCD尺寸为1/3',那么需要多少焦距的镜头
计算方法:
1/3'=3.6mm(垂直) 芯片垂直方向的大小
f=(100*3.6)/30
参考:工业相机与镜头选型方法(含实例)_工业相机选型-CSDN博客
相关文章:
相机、镜头参数详解以及相关计算公式
一、工业相机参数 1、分辨率 相机每次采集图像的像素点数,也是指这个相机总共有多少个感光晶片。在采集图像时,相机的分辨率对检测精度有很大的影响,在对同样打的视场成像时,分辨率越高,对细节的展示越明显。 相机像素…...
【微服务】组件、基础工程构建(day2)
组件 服务注册和发现 微服务模块中,一般是以集群的方式进行部署的,如果我们调用的时候以硬编码的方式,那么当服务出现问题、服务扩缩容等就需要对代码进行修改,这是非常不好的。所以微服务模块中就出现了服务注册和发现组件&…...
ESP32微信小程序SmartConfig配网
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 ESP32&微信小程序SmartConfig配网 前言一、SmartConfig是什么?二、使用乐鑫官方的smart_config例子1.运行照片 三、微信小程序总结 前言 本人是酷爱ESP32S3这…...
【PostgreSQL】提高篇——深入了解不同类型的 JOIN(INNER JOIN、LEFT JOIN、RIGHT JOIN、FULL JOIN)应用操作
1. JOIN 的基础概念 在 SQL 中,JOIN 是用于从两个或多个表中组合行的操作。JOIN 允许我们根据某些条件将表中的数据关联在一起。常见的 JOIN 类型包括: INNER JOIN:仅返回两个表中满足连接条件的行。LEFT JOIN(或 LEFT OUTER JO…...
师生健康信息管理:SpringBoot技术突破
第4章 系统设计 4.1 系统体系结构 师生健康信息管理系统的结构图4-1所示: 图4-1 系统结构 登录系统结构图,如图4-2所示: 图4-2 登录结构图 师生健康信息管理系统结构图,如图4-3所示。 图4-3 师生健康信息管理系统结构图 4.2…...
【完-网络安全】Windows注册表
文章目录 注册表启动项及常见作用五个根节点常见入侵方式 注册表 注册表在windows系统的配置和控制方面扮演了一个非常关键的角色,它既是系统全局设置的存储仓库,也是每个用户的设置信息的存储仓库。 启动项及常见作用 快捷键 WinR打开运行窗口&#x…...
车辆重识别(2021NIPS在图像合成方面,扩散模型打败了gans网络)论文阅读2024/10/01
本文在架构方面的创新: ①增加注意头数量: 使用32⇥32、16⇥16和8⇥8分辨率的注意力,而不是只使用16⇥16 ②使用BigGAN残差块 使用Big GAN残差块对激活进行上采样和下采样 ③自适应组归一化层 将经过组归一化操作后的时间步和类嵌入到每…...
掌控物体运动艺术:图扑 Easing 函数实践应用
现如今,前端开发除了构建功能性的网站和应用程序外,还需要创建具有吸引力且尤为流畅交互的用户界面,其中动画技术在其中发挥着至关重要的作用。在数字孪生领域,动画的应用显得尤为重要。数字孪生技术通过精确模拟现实世界中的对象…...
Python从入门到高手4.2节-掌握循环控制语句
目录 4.2.1 理解循环控制 4.2.2 for循环结构 4.2.3 循环结构的else语句 4.2.4 while循环结构 4.2.5 循环结构可以嵌套 4.2.6 国庆节吃好玩好 4.2.1 理解循环控制 我们先来搞清楚循环的含义。以下内容引自汉语词典: 循环意指往复回旋,指事物周而复始地运动或变…...
CSS 中的overscroll-behavior属性
overscroll-behavior 是 CSS 中的一个属性,它用于控制元素在发生滚动时,当滚动范围超出其边界时的行为。这个属性对于改善用户体验特别有用,尤其是在移动端设备上,当用户尝试滚动一个已经达到滚动极限的元素时,可以通过…...
GPT对话知识库——在STM32的平台下,通过SPI读取和写入Flash的步骤。
目录 1,问: 1,答: 步骤概述 步骤 1:SPI 初始化 步骤 2:Flash 初始化(可选) 步骤 3:发送读取命令 示例:发送读取数据命令 步骤 4:读取数据…...
Pytorch基本知识
model.state_dict()、model.parameters()和model.named_parameters()的区别 parameters()只包含模块的参数,即weight和bias(包括BN的)。 named_parameters()返回包含模块名和模块的参数的列表,列表的每个元素均是包含layer name和layer param的元组。layer param就是param…...
vue3使用Teleport 控制台报警告:Invalid Teleport target on mount: null (object)
Failed to locate Teleport target with selector “.demon”. Note the target element must exist before the component is mounted - i.e. the target cannot be rendered by the component itself, and ideally should be outside of the entire Vue component tree main.…...
使用产品前的环境搭建
对于想学习编程的朋友们,使用本产品解决日常功能需求的同时会对自己编程能力具有较大帮助和提升。 目录 环境搭建 前言: 安装python 安装vscode 下载安装Anaconda 通过conda配置python环境 创建虚拟环境 查看环境是否创建成功 激活环境 安装pyt…...
JAVA基础语法 day07
一、final关键字 1.1final的基础知识 用来修饰类,方法,变量 final修饰类,该类被称为终极类,不能被继承了 final修饰方法,该方法称为终极方法,不能被重写了 final修饰变量,该变量仅能被赋值…...
ZLMediaKit编译运行
ZLMediaKit-github官网 快速开始 代码依赖与版权声明 MediaServer支持的HTTP MediaServer支持的HTTP HOOK API cd ZLMediaKit mkdir build cd build cmake … && make -j20 cd ZLMediaKit/release/linux/Debug ./MediaServer //./MediaServer -h 查看 //./MediaSe…...
AlmaLinux 9 安装mysql8.0.38
文件下载 https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.39-linux-glibc2.12-x86_64.tar 选择合适系统版本 下载后解压 tar -xvf mysql-8.0.39-linux-glibc2.12-x86_64.tar解压后里面有三个文件夹 使用mysql-8.0.39-linux-glibc2.12-x86_64.tar.xz即可,…...
NLP任务之文本分类(情感分析)
目录 1 加载预训练模型对应的分词器 2 加载数据集 3 数据预处理 4 构建数据加载器DataLoader 5 定义下游任务模型 6 测试代码 7 训练代码 #做(中文与英文的)分类任务,Bert模型比较合适,用cls向下游任务传输数…...
MIMO 2T4R BBU RHUB AAU
MIMO(Multiple-Input Multiple-Output,多输入多输出)是一种无线通信技术,它通过在发射端和接收端使用多个天线来提高数据传输速率和信号质量。"2T4R"是MIMO技术中的一种配置,其中"2T"代表有两个发…...
图说数集相等定义表明“R各元x的对应x+0.0001的全体=R“是几百年重大错误
黄小宁 设集A{x}表A各元均由x代表,{x}中变量x的变域是A。其余类推。因各数x可是数轴上点的坐标故x∈R变为实数yx1的几何意义可是:一维空间“管道”g内R轴上的质点x∈R(x是点的坐标)沿“管道”g平移变为点y…...
手游刚开服就被攻击怎么办?如何防御DDoS?
开服初期是手游最脆弱的阶段,极易成为DDoS攻击的目标。一旦遭遇攻击,可能导致服务器瘫痪、玩家流失,甚至造成巨大经济损失。本文为开发者提供一套简洁有效的应急与防御方案,帮助快速应对并构建长期防护体系。 一、遭遇攻击的紧急应…...
【Linux】shell脚本忽略错误继续执行
在 shell 脚本中,可以使用 set -e 命令来设置脚本在遇到错误时退出执行。如果你希望脚本忽略错误并继续执行,可以在脚本开头添加 set e 命令来取消该设置。 举例1 #!/bin/bash# 取消 set -e 的设置 set e# 执行命令,并忽略错误 rm somefile…...
调用支付宝接口响应40004 SYSTEM_ERROR问题排查
在对接支付宝API的时候,遇到了一些问题,记录一下排查过程。 Body:{"datadigital_fincloud_generalsaas_face_certify_initialize_response":{"msg":"Business Failed","code":"40004","sub_msg…...
SciencePlots——绘制论文中的图片
文章目录 安装一、风格二、1 资源 安装 # 安装最新版 pip install githttps://github.com/garrettj403/SciencePlots.git# 安装稳定版 pip install SciencePlots一、风格 简单好用的深度学习论文绘图专用工具包–Science Plot 二、 1 资源 论文绘图神器来了:一行…...
如何在看板中体现优先级变化
在看板中有效体现优先级变化的关键措施包括:采用颜色或标签标识优先级、设置任务排序规则、使用独立的优先级列或泳道、结合自动化规则同步优先级变化、建立定期的优先级审查流程。其中,设置任务排序规则尤其重要,因为它让看板视觉上直观地体…...
React19源码系列之 事件插件系统
事件类别 事件类型 定义 文档 Event Event 接口表示在 EventTarget 上出现的事件。 Event - Web API | MDN UIEvent UIEvent 接口表示简单的用户界面事件。 UIEvent - Web API | MDN KeyboardEvent KeyboardEvent 对象描述了用户与键盘的交互。 KeyboardEvent - Web…...
【Go语言基础【13】】函数、闭包、方法
文章目录 零、概述一、函数基础1、函数基础概念2、参数传递机制3、返回值特性3.1. 多返回值3.2. 命名返回值3.3. 错误处理 二、函数类型与高阶函数1. 函数类型定义2. 高阶函数(函数作为参数、返回值) 三、匿名函数与闭包1. 匿名函数(Lambda函…...
CSS | transition 和 transform的用处和区别
省流总结: transform用于变换/变形,transition是动画控制器 transform 用来对元素进行变形,常见的操作如下,它是立即生效的样式变形属性。 旋转 rotate(角度deg)、平移 translateX(像素px)、缩放 scale(倍数)、倾斜 skewX(角度…...
[ACTF2020 新生赛]Include 1(php://filter伪协议)
题目 做法 启动靶机,点进去 点进去 查看URL,有 ?fileflag.php说明存在文件包含,原理是php://filter 协议 当它与包含函数结合时,php://filter流会被当作php文件执行。 用php://filter加编码,能让PHP把文件内容…...
Qt 事件处理中 return 的深入解析
Qt 事件处理中 return 的深入解析 在 Qt 事件处理中,return 语句的使用是另一个关键概念,它与 event->accept()/event->ignore() 密切相关但作用不同。让我们详细分析一下它们之间的关系和工作原理。 核心区别:不同层级的事件处理 方…...
