双目视觉(双目相机)

1.时间同步

需要一个单独的硬件(单片机)单独给每一个相机发送触发信息,然后再接收返回。

2.相机选型: 

(1)相机的分辨率

根据对图像精度的要求来选择相机的分辨率。

(2)颜色

通常视觉中我们选择黑白相机,只有需要彩色图像时才会考虑彩色相机,因为机器视觉中黑白图像算法比较多,黑白相机使用光源成像质量比彩色相机复合白光质量要好。

(3)传感器类型 

拍摄目标静态,为了节约成本优先考虑CMOS相机,运动拍摄(飞拍)则优先考虑CCD相机。

(4)传感器尺寸

在分辨率足够的情况下,优先使用尺寸大的像元,但同时需要考虑靶面的大小,通常靶面越大,相机和镜头的价格越高。

(5)相机镜头接口

一般相机都是C/CS接口,需要考虑与镜头的对接。如果有其他接口的镜头,需要考虑相机的接口。

(6)相机输出接口

同等价位像素条件下优先选择实际输出速度快的接口类型。

CameraLink>USB3.0>GigE>1394>USB2.0+

(7)帧率

根据检测实时性的要求和算法、分辨率达到一个平衡。

3.相关知识:

(1)焦距

镜头焦距是光学系统中横梁光的聚集或发散的度量方式,指从透镜中心到光聚集之焦点的距离。

镜头焦距的大小决定着视场角的大小,拍摄的工作距离,成像视野大小和景深大小。

常用的焦距有8、12、16、25、35、50等。

(2)光圈:

一个用来控制光线透过镜头,进入相机感光面的装置。相对孔径一般刻在镜头上,如1:2.8和1:4等

(3)畸变:

镜头在成像时,特别是用焦距短的镜头拍摄大视场,图像会产生变形,这种情况叫做镜头的畸变。拍摄场景越大,所用镜头焦距越短,畸变程度越明显。

4.镜头参数间相互影响关系

(1)焦距大小的影响情况

焦距越小,景深越大;

焦距越小,畸变越大;

焦距越小,渐晕现象越严重,使像差边缘照度降低。

(2)光圈大小的影响情况

光圈越大,图像亮度越高;

光圈越大,景深越小;

光圈越大,分辨率越高;

光圈越大,渐晕现场越严重,光场照度越不均匀。

学习文章:

学习笔记-双目立体视觉简介 - 知乎 (zhihu.com)

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

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

相关文章

Python AI库 Pandas的常见操作的扩展知识

Python AI库 Pandas的常见操作的扩展知识 本文默认读者具备以下技能: 熟悉python基础知识,vscode或其它编辑工具 熟悉表格文件的基本操作 具备自主扩展学习能力 前文中对Pandas的数据结构以及基础操作做了介绍,本文中会在前文的基础上,对常见的操作进…

selenium拉动滚动条

selenium拉动滚动条 # 导包 from selenium import webdriver from time import sleep # 获取浏览器驱动对象 driver webdriver.Edge() # 最大化浏览器 driver.maximize_window() # 隐式等待 driver.implicitly_wait(30) # 打开url url r"C:\Users\黄永生\Desktop\软件测…

计算机找不到vcruntime140_1.dll,无法继续执行代码快速解决方法

vcruntime140_1.dll是一个重要的Windows操作系统中的动态链接库(DLL)文件,它是微软Visual C Redistributable软件包的组成部分。以下是该文件的详细介绍: 名称含义:“vcruntime”代表Visual C Runtime,表明…

static page 项目

static page 项目 作者:不染心 博客地址:https://blog.csdn.net/qq_38234785 源码地址:https://mbd.pub/o/bread/ZpWVlJps 未经允许,不得转载 文档版本v1,还没写完持续更新 一、引言 1. 软件概述和背景 本软件是…

STM32f103 HAL库读保护以及解除

读保护 void Flash_EnableReadProtection(void) {FLASH_OBProgramInitTypeDef OBInit;__HAL_FLASH_PREFETCH_BUFFER_DISABLE();HAL_FLASHEx_OBGetConfig(&OBInit);if(OBInit.RDPLevel OB_RDP_LEVEL_0){OBInit.OptionType | OPTIONBYTE_RDP;OBInit.RDPLevel OB_RDP_LEVEL…

FIR滤波器——DSP学习笔记三(包含一个滤波器设计的简明案例)

​​​​​​ 背景知识 FIR滤波器的特性与优点 可精确地实现线性相位响应(Linear phase response),无相位失真; 总是稳定的,所有极点都位于原点 线性相位FIR滤波器的性质、类型及零点位置 冲击响应满足:奇…

iframe父子页面通信

目录 一、 创建父页面和子页面 父页面(parent.html): 子页面(child.html): 二、 实现父子页面之间的通信 在父页面的 在子页面的 三、扩展:postMessage() 方法的语法: 一、 …

(学习日记)2024.05.03:UCOSIII第五十七节:User文件夹函数概览(uCOS-III->Source文件夹)第三部分

之前的章节都是针对某个或某些知识点进行的专项讲解,重点在功能和代码解释。 回到最初开始学μC/OS-III系统时,当时就定下了一个目标,不仅要读懂,还要读透,改造成更适合中国宝宝体质的使用方式。在学完野火的教程后,经过几经思考,最后决定自己锦上添花,再续上几章。 这…

【PyTorch】torch.gather() 用法

gather常被用于image做mask的操作中,对哪些地方进行赋值0/1 API: torch.gather — PyTorch 2.2 documentation torch.gather(input, dim, index, outNone) → Tensor gather()的意义: 顾名思义,聚集、集合:gather…

计算机网络组成—物理层

一、物理层基本概念 物理层解决如何在连接各种计算机的传输媒体上传输数据比特流,而不是指具体的传输媒体。 1物理层接口特性 机械特性:定义物理连接的特性,规定物理连接时所采用的规格、接口形状、引线数目、引脚数量和排列情况电气特性&…

VS2019配合QT5.9开发IRayAT430相机SDK

环境配置 VS2019 QT5.9 编译器版本 MSVC2017_64添加系统环境变量(完毕后重启电脑) 从VS2019中下载Qt插件 从VS2019中添加单个编译组件 上述操作完成后用VS打开工程文件,工程文件地址 : C:\Users\86173\Desktop\IRCNETSDK_W…

python基础知识分享

1程序结构 1.1分支结构 单分支结构: 例如 if 条件表达式: 语句块 双分支结构: 例如 if 条件表达式: 语句块1 else: 语句块2 多分支路结构: 例如: if 条件表达式: if 条件表达式1: 语句块1 elif 条件表达式2: 语句块2 elif 条件表达式3: 语句块3 ....... else: …

Debezium系列之:Debezium技术专栏第300篇系列文章之打通Debezium实时采集Oracle数据库数据到Kafka集群的技术

Debezium系列之:Debezium技术专栏第300篇系列文章之打通Debezium实时采集Oracle数据库数据到Kafka集群的技术 一、需求描述二、部署Debezium集群和Oracle连接器三、安装Oracle数据库四、设置具有采集Oracle数据库数据权限的账号1.以系统管理员的身份连接到数据库实例2.创建表空…

数据分析:生存分析原理和应用实例

介绍 生存分析的目的是分析某个时间点的“生存概率”是多少。基于这样的研究目的,需要提供生存数据,它是一种由不同的开始时间和结束时间组成的事件-时间的数据,比如在癌症研究领域,研究手术到死亡的过程、治疗到疾病进展等等。 在开展生存分析前,需要了解什么是删失(c…

动手学大模型应用开发--Chapter 06构建个人知识助手

文章目录 前言一、学习目标二、学习知识点概要三、实验步骤 前言 本学习笔记为datawhale动手学大模型应用开发的第六章,学习链接为: https://datawhalechina.github.io/llm-universe/ 一、学习目标 基于LangChain和RAG部署本地大模型。 二、学习知识…

时间序列生成数据,TransformerGAN

简介:这个代码可以用于时间序列修复和生成。使用transformer提取单变量或者多变时间窗口的趋势分布情况。然后使用GAN生成分布类似的时间序列。 此外,还实现了基于prompt的数据生成,比如指定生成某个月份的数据、某半个月的数据、某一个星期的…

代码随想录35期Day27-Java(day26休息)

Day27题目 LeetCode39组合总和 核心思想&#xff1a;经典回溯 class Solution {int sum 0;//记录当前元素List<Integer> path new ArrayList<>();// 记录返回值List<List<Integer>> res new ArrayList<>();public List<List<Integer…

哈夫曼编码---一种无损数据压缩算法

哈夫曼编码是一种无损数据压缩算法&#xff0c;该算法在数据压缩&#xff0c;存储和网络传输等领域广泛引用&#xff0c;对互联网的发展也产生了深远的影响。 大家熟知的数据无损压缩软件&#xff0c;如WinRAR&#xff0c;gzip&#xff0c;bzip&#xff0c;lzw&#xff0c;7-z…

mac M2 配置item2 rzsz

背景 apple m 系列处理器安装的 homebrew 跟 intel 处理器略有不同&#xff0c;其中安装目录的区别&#xff1a; m 系列处理器安装目录为 /usr/local/bin/homebrew intel 处理器安装目录为 /opt/homebrew 问题1: 卡住 产生原因&#xff1a; m 系列使用 brew install lrzs…

linux驱动-CCF-1 provider 注册时钟

CCF: common clock frameword provider 注册时钟分析 1. 待注册 时钟数据 #define _REGISTER(f, s, ...) { .clk_register (bcm2835_clk_register)f, \.supported s, \.data __VA_ARGS__ } #define REGISTER_CLK(s, ...) _REGISTER(&bcm2835_register_clock, \s, …