OpenCV 实战篇——如何测算出任一副图片中的物体的实际尺寸?传感器尺寸与像元尺寸的关系?

文章目录

  • 1 如何测算出任一副图片中的物体的实际尺寸
  • 2 传感器尺寸与像元尺寸的关系
  • 3 Max Frame Rate最大帧率
  • 4 为什么要进行相机标定?相机标定有何意义?
  • 5 基于相机模型的单目测距--普通相机

1 如何测算出任一副图片中的物体的实际尺寸

物体尺寸测量的思路是找一个确定尺寸的物体作为参照物,根据已知的计算未知物体尺寸。

实际尺寸 = (物体像素尺寸 × 物体距离)/(照片分辨率 × 传感器尺寸 × tan(视场角/2));

D表示对角线视角,H表示水平方向视角,V表示垂直方向视角。

opencv 单目相机pnp测距(Cpp)

基于OpenCV的精度测量项目实战

Python【OpenCV】标定后完成真实物理尺寸测量

opencv实战—物体尺寸测量

2 传感器尺寸与像元尺寸的关系

详解链接:工业相机——靶面尺寸、像元尺寸、分辨率 、传感器尺寸
在这里插入图片描述

相同分辨率的工业相机,传感器面积越大,则其单位像素的面积也越大,成像质量也会越好。同样的500万像素的工业相机,2/3”的传感器成像质量就要优于1/2”的。一般来说,工业相机的靶面大小,如果要求不是太严格,可以直接按照公式计算。通常,像工业相机厂家会告诉你多少寸的传感器,那么就可以直接使用16mm*X”的传感器得到工业相机的图像传感器的靶面对角线长度。工业相机使用16mm代表1寸,而不是使用25mm

例如1/2’传感器对角线则为8mm,按照一般的传感器的长宽比为4:3的话,那么就对应勾股定理,1/2’的传感器长宽分辨率为6.4mm、4.8mm。其实厂家也会告诉你像元的大小以及分辨率,同样可以计算传感器的靶面大小。如某相机的分辨率为2588 * 1940的500万像素,像元大小为2.2um,则其传感器的尺寸 长方向为2588 * 2.2=5694um=5.694mm,宽方向为1940 * 2.2=4268um=4.268mm即为1/2.5”的传感器。如今大多数传感器像素的形状是正方形的,如果是矩形的话,需要分别使用像素长分辨率的长、像素宽分辨率的宽即可。

Optical Format光学尺寸
光学尺寸越大,则成像系统的尺寸越大,捕获的光子越多,感光性能越好,信噪比越低。目前CMOS图像传感器的常见尺寸有1、2/3、1/2、1/3、1/4英寸等。

Pixel Size像素尺寸
芯片像元阵列上的每个像素的实际物理尺寸,通常的尺寸包括14um、10um、9um、7um、6.45um、3.75um、3.0um、2.0um、1.75um、1.4um、1.2um、1.0um等。像元尺寸从某种程度上反映了芯片的对光的响应能力,像元尺寸越大,能够接收到的光子数量越多,在同样的光照条件和曝光时间内产生的电荷数量越多。对于弱光成像而言,像元尺寸是芯片灵敏度的一种表征。

3 Max Frame Rate最大帧率

帧率指的是单位时间所记录或者播放的图片的数量,连续播放一系列图片就会产生动画效果,根据人类的视觉系统,当图片的播放速度大于15幅/秒的时候,人眼就基本看不出来图片的跳跃。在达到24幅/s~30幅/s时就已经基本觉察不到闪烁现象了。每秒的帧数或者帧率表示CMOS图像传感器在处理图像时每秒钟能够更新的次数。高的帧率可以得到更流畅、更逼真的视觉体验。

4 为什么要进行相机标定?相机标定有何意义?

为什么要进行相机标定?相机标定有何意义?

5 基于相机模型的单目测距–普通相机

基于相机模型的单目测距–普通相机

下面是关于这几个坐标系的转换。** 叙述思路从像素坐标系一步一步转换到世界坐标系,意味着如何从一个像素点获得世界坐标系的坐标点,从而可以进行实际距离测量 **。

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

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

相关文章

Java并发锁相关

锁相关 ​1. 什么是可重入锁?Java 中如何实现?​​ ​答​: 可重入锁允许一个线程多次获取同一把锁(即递归调用时无需重新竞争锁)。 ​关键点​:防止死锁,避免线程因重复请求已持有的锁而阻塞。…

Pie Menu Editor V1.18.7.exe 怎么安装?详细安装教程(附安装包)​

​​Pie Menu Editor V1.18.7.exe​ 是一款用于创建和编辑 ​饼图菜单(Pie Menu)​​ 的工具软件,通常用于游戏开发、UI设计、3D建模(如 Blender 等)、或自定义软件操作界面。 一、准备工作 ​下载文件​ 下载了 ​Pi…

基于Spark的中文文本情感分析系统研究

引言 1.1 研究背景与意义 随着互联网的普及和社交媒体的兴起、特别是自媒体时代的来临,网络文本数据呈现爆炸式增长。这些文本数据蕴含着丰富的用户情感信息,如何有效地挖掘和利用这些信息,对于了解舆情动态、改进客户服务、辅助决策分析具…

Simulink子系统、变体子系统及封装知识

1.引言 文章三相新能源并网系统序阻抗模型——序阻抗分析器IMAnalyzer介绍了一种用于分析和扫描序阻抗的软件。其中,在序阻抗扫频操作过程中,用到了一个扰动注入、测量和运算工具【IMtool】,它外表长这样: 内部长这样&#xff1a…

高阶组件介绍

高阶组件约定俗成以with开头 import React, { useEffect } from react; import { TouchableOpacity, Image, StyleSheet } from react-native;type IReactComponent React.ClassicComponentClass| React.ComponentClass| React.FunctionComponent| React.ForwardRefExoticComp…

C++ STL系列-02.泛型入门

C STL系列-02.泛型入门C中的泛型编程主要通过模板(template)实现。模板允许我们编写与类型无关的代码,是一种将类型作为参数进行编程的方式。在C中,模板分为函数模板和类模板。 1. 函数模板函数模板允许我们定义一个函数&#xff…

高效管理网络段和端口集合的工具之ipset

目录 1. 核心命令速查 2. 集合类型 3. 实战案例:使用 ipset 封禁 IP 案例 1:基础黑名单封禁(手动添加) 案例 2:自动过期和解封 案例 3:封禁 IP 和端口组合 案例 4:白名单模式 案例 5&am…

实例和对象的区别

对象(Object)是一个概念,它表示“某个类的一个成员”,是“逻辑上的个体”。实例(Instance)是一个现实,指的是在内存中真正分配了空间的对象。实例一定是对象,但对象不一定是实例。例…

Win10 Chrome认不出新Emoji?两个扩展搞定显示与输入

前言 用Win10电脑在Chrome里发消息、刷网页时,你是否遇到过这样的尴尬:别人发的、或者页面显示的 Emoji,在你屏幕上变成了空白方框,像“文字里缺了一块拼图”?其实这不是Chrome的错,也不用换电脑&#xff0…

Golang中逃逸现象, 变量“何时栈?何时堆?”

目录 什么是栈 什么是堆 栈 vs 堆(核心区别) GO编译器的逃逸分析 什么是逃逸分析? 怎么看逃逸分析结果? 典型“会逃逸”的场景 闭包捕获局部变量 返回或保存带有“底层存储”的容器 经由接口/反射/fmt 等导致装箱或被长…

MySQL入门指南:从安装到工作原理

什么是MySQL MySQL是一个开源的关系型数据库管理系统,由瑞典MySQL AB公司开发(目前属于Oracle公司),被广泛地应用在大中小型网站中 MySQL是一个小型的开源的关系型数据库管理系统,与其他大型数据库管理系统例如&…

dask.dataframe.shuffle.set_index中获取 divisions 的步骤分析

dask.dataframe.shuffle.set_index 中获取 divisions 的步骤分析 主要流程概述 在 set_index 函数中,当 divisionsNone 时,系统需要通过分析数据来动态计算分区边界。这个过程分为以下几个关键步骤: 1. 初始检查和准备 if divisions is None:…

ai生成ppt工具有哪些?10款主流AI生成PPT工具盘点

随着人工智能技术的飞速发展,AI生成PPT工具逐渐成为职场人士、学生和创作者提升效率的得力助手。这类工具通过智能算法,能够快速将文本、数据或创意转化为结构化、视觉化的演示文稿,大幅节省设计时间。1、AiPPT星级评分:★★★★★…

Qt多线程编程学习

Qt多线程编程学习 1. 项目概述 本项目展示了Qt中多线程编程的基本用法,通过继承QThread类创建自定义线程,并演示了线程的启动、执行和销毁过程。项目包含一个简单的用户界面,用户可以通过按钮控制线程的启动和结束。 1.1 项目结构 项目包含以…

加密货币武器化:恶意npm包利用以太坊智能合约实现隐蔽通信

ReversingLabs研究人员发现两个恶意npm包利用以太坊(Ethereum)智能合约隐藏并传播恶意软件。这两个名为colortoolsv2和mimelib2的软件包于2025年7月被识别,展现了开源安全攻防战中的新战术。恶意软件包伪装成实用工具攻击活动始于7月7日发布的…

Spring Boot 全局字段处理最佳实践

在日常开发中,我们总会遇到一些琐碎但又无处不在的字段处理需求:• 请求处理: 用户提交的表单,字符串前后带了多余的空格,需要手动 trim()。• 响应处理: 返回给前端的 BigDecimal 金额,因为精度问题导致JS处理出错&am…

三坐标测量机在汽车制造行业中的应用

在汽车制造业中,零部件精度决定着整车性能。从发动机活塞的微米级公差,到车身焊接的毫米级间隙,汽车制造“差之毫厘,谬以千里” ,任何细微偏差都可能引发连锁反应:发动机抖动、异响、油耗飙升,车…

机床夹具设计 +选型

机床夹具设计—第2组(钻床夹具)仿真组装视频_哔哩哔哩_bilibili 夹具-商品搜索-怡合达一站式采购平台 米思米FA标准品电子目录new 可能要吧这些定位块单独用yolo训练一边才能搞识别分析 3长条一短销定位,黄色的用来夹紧 一个面加一短轴一棱…

表格识别技术:通过计算机视觉和OCR,实现非结构化表格向结构化数据的转换,推动数字化转型。

在日常工作和生活中,我们无处不在与表格打交道。从财务报表、发票收据,到科研论文中的数据表、医疗报告,表格以其清晰、结构化的方式,承载着大量关键信息。然而,当这些表格以纸质或图片等非结构化形式存在时&#xff0…

Go基础(②Viper)

Viper 读取配置创建一个配置文件 config.yamlserver:port: 8080timeout: 30 # 超时时间(秒) database:host: "localhost"user: "root"password: "123456"name: "mydb"然后用 Viper 读取这个配置,代…