当前位置: 首页 > article >正文

一文掌握工业相机选型计算

目录

一、基本概念

1.1 物方和像方

1.2 工作距离和视场

1.3 放大倍率

1.4 相机芯片尺寸

二、公式计算

三、实例应用


一、基本概念

1.1 物方和像方

在光学领域,物方(Object Space)是与像方(Image Space)相对的概念,用于描述光学系统中光线或物体所在的空间区域。

  • 物方:指光学系统(如镜头、相机)中,实际物体所处的空间范围,即被观察、拍摄的对象所在的物理空间。
  • 像方:指光学系统中,物体通过光学元件成像后所在的空间范围(如相机传感器、胶片上的成像区域)。

1.2 工作距离和视场

(1)镜头工作距离(WD):镜头物方端面到被拍摄物体表面的物理距离。

(2)光源工作距离(LWD):光源物方端面到被照射物体表面 的物理距离。

(3)视场(FOV):也称视野,是指能被视觉系统观察到的物方可视范围大小。

对于镜头而言,可观察到的视场跟镜头放大倍率及相机芯片选择有关。因此通常建议根据被观察物体的尺寸,先确定所需的视场,再确定相机芯片尺寸及镜头放大倍率。在实际工程项目中,考虑到机械误差等问题,视场通常要大于待观测物体的实际尺寸,以确保在机械误差的范围内,物体始终位于视觉系统的可视范围内。

1.3 放大倍率

机器视觉行业里提到的镜头光学放大倍率通常是指垂轴放大倍率,即像和物的大小之比,计算方法如下:

 光学放大倍率=感光芯片长边/视野长边

 可见,光学放大倍率和所选相机芯片及所需视场相关。

【示例1】

问题:已知相机芯片为2/3英寸(8.8mm*6.6mm),视场长宽为:10mm* 8mm,计算放大倍率。

解答

如用长边计算,放大倍率=8.8mm/10mm=0.88x;

如用短边计算,放大倍率=6.6mm/8mm=0.825x;

此时应取小的倍率0.825x 作为待选镜头的光学放大倍率。否则,短边视场将不能满足要求。(若取0.88倍,则短边视场=6.6mm/0.88x=7.5mm<8mm)。

在实际工程项目中,通常无需长短边都计算。经验的方法是:若视场接近于正方形或圆形,则取短边计算;若视场为长条形,则取长边计算。

1.4 相机芯片尺寸

在前面描述放大倍率和镜头像面尺寸时都涉及到相机芯片尺寸。通常相机厂商是以英寸的形式表示的,但在实际计算时,需要换算成各边以毫米为单位的计量方式。

但对于相机芯片尺寸而言,1 inch≠ 25.4mm,而有其特有的换算关系。以下是常见的尺寸对应关系:

1.1英寸——靶面尺寸为宽12mm*高12mm,对角线17mm1英寸 ——靶面尺寸为宽12.7mm*高9.6mm,对角线16mm2/3英寸——靶面尺寸为宽8.8mm*高6.6mm,对角线11mm 1/1.8英寸——靶面尺寸为宽7.2mm*高5.4mm,对角线9mm1/2英寸——靶面尺寸为宽6.4mm*高4.8mm,对角线8mm1/3英寸——靶面尺寸为宽4.8mm*高3.6mm,对角线6mm 1/4英寸——靶面尺寸为宽3.2mm*高2.4mm,对角线4m

最准确的芯片尺寸计算方法是:

相机像素颗数x像素尺寸=芯片尺寸。如某相机分辨率为5120x5120, 像素尺寸为4.5µmx4.5µm, 则芯片为正方形,边长=5120x4.5µm=23040µm=23.04mm。

二、公式计算

根据前面的概念介绍,可以得出面阵相机镜头选型的核心计算公式:

光学放大倍率   =   相机芯片长度 / 视野长边   =  焦距f  /  工作距离WD

示意图如下:

按照前面的核心公式,工业镜头的焦距(f mm)可以根据FOV(视场), WD(工作距离) 和芯片尺寸计算出来:

焦距计算公式:

焦距f = WD × 芯片尺寸 / FOV

三、实例应用

问题:已知参数如下:

(1)相机配置为: 芯片长宽为5.7*4.3mm, 分辨率为:2592*1944, 像元尺寸为2.2*2.2um

(2)物距:60mm

(3)视野大小:12mm*9mm

应选择何种镜头?

答案:按照前面公式  焦距1 = 60*4.3/9 = 28.7    焦距2 = 60*5.7/12 = 28.5

为了能覆盖视野,选择更短的焦距,因此应选择28.5mm焦距的镜头。

相关文章:

一文掌握工业相机选型计算

目录 一、基本概念 1.1 物方和像方 1.2 工作距离和视场 1.3 放大倍率 1.4 相机芯片尺寸 二、公式计算 三、实例应用 一、基本概念 1.1 物方和像方 在光学领域&#xff0c;物方&#xff08;Object Space&#xff09;是与像方&#xff08;Image Space&#xff09;相对的…...

记录心态和工作变化

忙中带闲的工作 其实工作挺忙的, 总是在赶各种功能点. 好巧的是iOS那边因为上架的问题耽搁了一些时间, 从而让Android的进度有了很大的调整空间. 更巧的是后端那边因为对客户端的需求不是很熟悉, 加上Android海外这块的业务他也是第一次接触. 所以需要给他留一些时间把各个环节…...

深入理解 TypeScript 中的 unknown 类型:安全处理未知数据的最佳实践

在 TypeScript 的类型体系中&#xff0c;unknown 是一个极具特色的类型。它与 any 看似相似&#xff0c;却在安全性上有着本质差异。本文将从设计理念、核心特性、使用场景及最佳实践等方面深入剖析 unknown&#xff0c;帮助开发者在处理动态数据时既能保持灵活性&#xff0c;又…...

LabVIEW机械振动信号分析与故障诊断

利用 LabVIEW 开发机械振动信号分析与故障诊断系统&#xff0c;融合小波变换、时频分布、高阶统计量&#xff08;双谱&#xff09;等先进信号处理技术&#xff0c;实现对齿轮、发动机等机械部件的非平稳非高斯振动信号的特征提取与故障诊断。系统通过虚拟仪器技术将理论算法转化…...

Helm配置之为特定Deployment配置特定Docker仓库(覆盖全局配置)

文章目录 Helm配置之为特定Deployment配置特定Docker仓库(覆盖全局配置)需求方法1:使用Helm覆盖值方法2: 在Lens中临时修改Deployment配置步骤 1: 创建 Docker Registry Secret步骤 2: 在 Deployment 中引用 Secret参考资料Helm配置之为特定Deployment配置特定Docker仓库(覆…...

【Spring】Spring中的适配器模式

欢迎来到啾啾的博客&#x1f431;。 记录学习点滴。分享工作思考和实用技巧&#xff0c;偶尔也分享一些杂谈&#x1f4ac;。 欢迎评论交流&#xff0c;感谢您的阅读&#x1f604;。 目录 适配器模式Spring MVC的适配器模式 适配器模式 适配器模式&#xff08;Adapter Pattern&a…...

GO学习指南

GO学习指南 主题一 go语言基础知识讲解 go语言面向对象编程 go语言接口详解 go语言协程 主题二 web基础知识 后续内容请大家持续关注&#xff0c;每月一主题&#xff0c;让各位读者能零基础、零成本学习go语言...

2、ubuntu系统配置OpenSSH | 使用vscode或pycharm远程连接

1、OpenSSH介绍 OpenSSH&#xff08;Open Secure Shell&#xff09;是一套基于SSH协议的开源工具&#xff0c;用于在计算机网络中提供安全的加密通信。它被广泛用于远程系统管理、文件传输和网络服务的安全隧道搭建&#xff0c;是保护网络通信免受窃听和攻击的重要工具。 1.1…...

MySQL面试知识点详解

一、MySQL基础架构 1. MySQL逻辑架构 MySQL采用分层架构设计&#xff0c;主要分为&#xff1a; 连接层&#xff1a;处理客户端连接、授权认证等 服务层&#xff1a;包含查询解析、分析、优化、缓存等 引擎层&#xff1a;负责数据存储和提取&#xff08;InnoDB、MyISAM等&am…...

小白入门:GitHub 远程仓库使用全攻略

一、Git 核心概念 1. 三个工作区域 工作区&#xff08;Working Directory&#xff09;&#xff1a;实际编辑文件的地方。 暂存区&#xff08;Staging Area&#xff09;&#xff1a;准备提交的文件集合&#xff08;使用git add操作&#xff09;。 本地仓库&#xff08;Local…...

RPC与SOAP的区别

一.RPC&#xff08;远程过程调用&#xff09;和SOAP&#xff08;简单对象访问协议&#xff09;均用于实现分布式系统中的远程通信&#xff0c;但两者在设计理念、协议实现及应用场景上存在显著差异。 二.对比 1.设计理念 2.协议规范 3.技术特性 4.典型应用场景 5.总结 三.总结…...

Day11-苍穹外卖(数据统计篇)

前言&#xff1a; 今天写day11的内容&#xff0c;主要讲了四个统计接口的制作。看起来内容较多&#xff0c;其实代码逻辑都是相似的&#xff0c;这里我们过一遍。 今日所学&#xff1a; Apache ECharts营业额统计用户统计订单统计销量排行统计 1. Apache ECharts 1.1 介绍 A…...

Tomcat简述介绍

文章目录 Web服务器Tomcat的作用Tomcat分析目录结构 Web服务器 Web服务器的作用是接收客户端的请求&#xff0c;给客户端作出响应。 知名Java Web服务器 Tomcat&#xff08;Apache&#xff09;&#xff1a;用来开发学习使用&#xff1b;免费&#xff0c;开源JBoss&#xff0…...

《从零开始:Spring Cloud Eureka 配置与服务注册全流程》​

关于Eureka的学习&#xff0c;主要学习如何搭建Eureka&#xff0c;将order-service和product-service都注册到Eureka。 1.为什么使用Eureka? 我在实现一个查询订单功能时&#xff0c;希望可以根据订单中productId去获取对应商品的详细信息&#xff0c;但是产品服务和订单服…...

如何保证RabbitMQ消息的顺序性?

保证RabbitMQ消息的顺序性是一个常见的需求&#xff0c;尤其是在处理需要严格顺序的消息时。然而&#xff0c;默认情况下&#xff0c;RabbitMQ不保证消息的全局顺序&#xff0c;因为消息可能会通过不同的路径&#xff08;例如不同的网络连接或线程&#xff09;到达队列&#xf…...

FPGA学习知识(汇总)

1. wire与reg理解&#xff0c;阻塞与非阻塞 2. 时序取值&#xff0c;时钟触发沿向左看 3. ip核/setup debug 添加 ila 一、ila使用小技巧 二、同步复位、异步复位和异步复位同步释放 设计复位设计&#xff0c;尽量使用 异步复位同步释放&#xff1b;尽管该方法仍然对毛刺敏感…...

c语言 写一个五子棋

c语言 IsWin判赢 display 画 10 x 10 的棋盘 判断落子的坐标是否已有棋子 判断落子坐标范围是否超出范围 // 五子棋 #include <stdio.h> #include <stdlib.h>// 画棋盘 10 x 10的棋盘&#xff0c;len为行数 void display(char map[][10], int len) {system(&q…...

Redisson分布式锁-锁的可重入、可重试、WatchDog超时续约、multLock联锁(一文全讲透,超详细!!!)

本文涉及到使用Redis实现基础分布式锁以及Lua脚本的内容&#xff0c;如有需要可以先参考博主的上一篇文章&#xff1a;Redis实现-优惠卷秒杀(基础版本) 一、功能介绍 (1)前面分布式锁存在的问题 在JDK当中就存在一种可重入锁ReentrantLock&#xff0c;可重入指的是在同一线…...

Python爬虫实战:研究源码还原技术,实现逆向解密

1. 引言 在网络爬虫技术实际应用中,目标网站常采用各种加密手段保护数据传输和业务逻辑。传统逆向解密方法依赖人工分析和调试,效率低下且易出错。随着 Web 应用复杂度提升,特别是 JavaScript 混淆技术广泛应用,传统方法面临更大挑战。 本文提出基于源码还原的逆向解密方法…...

WordPress Relevanssi插件时间型SQL注入漏洞(CVE-2025-4396)

免责声明 本文档所述漏洞详情及复现方法仅限用于合法授权的安全研究和学术教育用途。任何个人或组织不得利用本文内容从事未经许可的渗透测试、网络攻击或其他违法行为。使用者应确保其行为符合相关法律法规,并取得目标系统的明确授权。 对于因不当使用本文信息而造成的任何直…...

Adobe Illustrator学习备忘

1.移动画板&#xff1a;需按住空格键加鼠标一块才能拖动 2.放大缩小画板&#xff1a;按住Alt键加鼠标滚轮 3.撤回&#xff1a;CtrlZ 4.钢笔练习网站&#xff1a;The Bzier Game...

C#中的dynamic与var:看似相似却迥然不同

在C#编程的世界里&#xff0c;var和dynamic这两个关键字常常让初学者感到困惑。它们看起来都在定义变量时省略了显式类型声明&#xff0c;但实际上它们的工作方式和应用场景有着天壤之别。今天&#xff0c;让我们一起揭开这两个关键字的神秘面纱。 var&#xff1a;编译时的类型…...

求职困境:开发、AI、运维、自动化

文章目录 问&#xff1a;我的技术栈是web全栈&#xff08;js&#xff0c;css&#xff0c;html&#xff0c;react&#xff0c;typscript&#xff09;&#xff0c;C开发&#xff0c;python开发&#xff0c;音视频图像开发&#xff0c;神经网络深度学习开发&#xff0c;运维&#…...

语言模型:AM-Thinking-v1 能和大参数语言模型媲美的 32B 单卡推理模型

介绍 a-m-team 是北科 &#xff08;Ke.com&#xff09; 的一个内部团队&#xff0c;致力于探索 AGI 技术。这是一个专注于增强推理能力的 32B 密集语言模型。 a-m-team / AM-Thinking-v1 是其旗下的一个语言模型&#xff0c;采用低成本的方式能实现和大参数模型媲美。 DeepSe…...

ChatGPT:OpenAI Codex—一款基于云的软件工程 AI 代理,赋能 ChatGPT,革新软件开发模式

ChatGPT&#xff1a;OpenAI Codex—一款基于云的软件工程 AI 代理&#xff0c;赋能 ChatGPT&#xff0c;革新软件开发模式 导读&#xff1a;2025年5月16日&#xff0c;OpenAI 发布了 Codex&#xff0c;一个基于云的软件工程 AI 代理&#xff0c;它集成在 ChatGPT 中&#xff0c…...

docker compose up -d 是一个用于 通过 Docker Compose 在后台启动多容器应用 的命令

docker compose 表示调用 Docker Compose 工具&#xff0c;用于管理基于 YAML 文件定义的多容器应用。 up 核心指令&#xff0c;作用是根据 docker-compose.yml 文件中的配置&#xff0c;创建并启动所有定义的服务、网络、卷等资源。 如果容器未创建&#xff0c;会先构建镜像&…...

智能视觉检测技术:制造业质量管控的“隐形守护者”

在工业4.0浪潮的推动下&#xff0c;制造业正经历一场以智能化为核心的变革。传统人工质检模式因效率低、误差率高、成本高昂等问题&#xff0c;逐渐难以满足现代生产对高精度、高速度的需求。智能视觉检测技术作为人工智能与机器视觉融合的产物&#xff0c;正成为制造业质量管控…...

利用html制作简历网页和求职信息网页

前言 大家好&#xff0c;我是maybe。今天下午初步学习了html的基础知识。做了两个小网页&#xff0c;一个网页是简历网页&#xff0c;一个网页是求职信息填写网页。跟大家分享一波~ 说明:我不打算上传图片。所以如果有朋友按照我的代码运行网页&#xff0c;会出现一个没有图片…...

Problem E: List练习

1.题目描述 运用List完成下面的要求: 1) 创建一个List&#xff0c;在List中增加三个工人&#xff0c;基本信息如下&#xff1a; 姓名 年龄 工资 Tom 18 3000 Peter 25 3500 Mark 22 3200 2) 插入一个工人&#xff0c;信息为&#xff1a;姓名&#xff1a;Robert&#xff0…...

卷积神经网络进阶:转置卷积与棋盘效应详解

【内容摘要】 本文深入解析卷积神经网络中的转置卷积&#xff08;反卷积&#xff09;技术&#xff0c;重点阐述标准卷积与转置卷积的计算过程、转置卷积的上采样作用&#xff0c;以及其常见问题——棋盘效应的产生原因与解决方法&#xff0c;为图像分割、超分辨率等任务提供理论…...