摄像机标定05_摄像机参数的准确度

2024-04-10 21:58

本文主要是介绍摄像机标定05_摄像机参数的准确度,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

摄像机参数的准确度

摄像机参数的准确度

在摄像机标定03_标定过程中强调过,摄像机标定过程中如果标定板放置的不适当的话将导致简并性配置(degeneracies configurations),此时摄像机参数中的某个参数或某些参数将不能得到唯一值。还有影响摄像机参数准确度的最主要的因素就是用于进行标定摄像机的图像数量。
下图反映了用于摄像机标定的图像数量对参数的影响,主要显示了主距 f 的标准差、径向畸变系数k的标准差和主点 (cx,cy) 的标准差和用于标定图像数量的关系。
这里写图片描述
为了总结这些数据,我们拍摄了20幅标定板的图像。然后使用20幅图像中所有子集的 l 幅图像(l=2,,19)来标定摄像机。通过使用20幅图像中所有含有 l 幅图像的子集标定得到的摄像机参数来计算标准差。
从上图可以看出摄像机参数的准确度随使用图像数量的增加而明显增加。注意这些图像之间都是无关度量的,而不能想象成每幅图像都可以用来约束摄像机参数,要不会觉得这个结果是理所当然的。
从上图还可以看出,为了使得到的摄像机参数更加准确,就需要有相当多的标定图像,这主要是因为摄像机参数之间存在不容忽视的相关性,这些参数只能通过多次无关测量进行求解。标定板在标定图像中最好能够覆盖整个视野并尽可能覆盖摄像机外参的范围,为了得到准确的摄像机参数这点非常重要。实际上,如果标定板能够在标定图像中覆盖图像的每个角落,可以使计算得到的径向畸变系数k更准确。另外,如果标定板可以覆盖较大的深度范围,那么所有的摄像机参数都会更准确。可以通过标定板绕它的 x 轴和y轴旋转或者将标定板放置在于摄像机不同距离的位置上使标定板覆盖较大的深度范围。

调整摄像机焦距和光圈对摄像机参数的影响

下图显示了焦距变化对摄像机参数的影响,这个实验中使用 12.5mm 镜头与一个 1mm 近拍接圈。将镜头焦点调至最远和最近,在近焦时摄像机使用 1cm1cm 大小的标定板进行标定,在远焦时使用 3cm3cm 大小的标定板进行标定。这样在两种设置下焦平面上标定板大小一致。注意我们在拍摄标定图像时,两种情况下标定对象大约覆盖同样范围的景深,并且放置的位置也大约相同。
这里写图片描述
两种情况下分别拍摄标定板的20幅图像,为了从统计学上评估摄像机参数是否不同,我们取20幅图像中包含任意19幅图像的20个子集来标定摄像机。从图3.106(a)中可以明显看到调节焦点将会改变主距。另外,径向畸变系数 k 的变化也非常明显。
最后,我们将分析镜头上光圈调节时会发生什么情况。测试的环境与上面的实验类似。摄像机分别设置为f/4 f/11 。每个设置拍摄20幅 3cm3cm 标定板的图像。注意两种拍摄时拍摄标定板的图像时尽量使标定板在图像中的位置相似。摄像机使用 8.5mm 镜头和一个 1mm 的近摄接圈。同样,我们取 20 幅图像中包含任意19幅图像的20个子集来标定摄像机。

对图的分析容我问问导师后再理解!

这篇关于摄像机标定05_摄像机参数的准确度的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/892255

相关文章

一文详解PostgreSQL复制参数

《一文详解PostgreSQL复制参数》PostgreSQL作为一款功能强大的开源关系型数据库,其复制功能对于构建高可用性系统至关重要,本文给大家详细介绍了PostgreSQL的复制参数,需要的朋友可... 目录一、复制参数基础概念二、核心复制参数深度解析1. max_wal_seChina编程nders:WAL

Linux高并发场景下的网络参数调优实战指南

《Linux高并发场景下的网络参数调优实战指南》在高并发网络服务场景中,Linux内核的默认网络参数往往无法满足需求,导致性能瓶颈、连接超时甚至服务崩溃,本文基于真实案例分析,从参数解读、问题诊断到优... 目录一、问题背景:当并发连接遇上性能瓶颈1.1 案例环境1.2 初始参数分析二、深度诊断:连接状态与

史上最全nginx详细参数配置

《史上最全nginx详细参数配置》Nginx是一个轻量级高性能的HTTP和反向代理服务器,同时也是一个通用代理服务器(TCP/UDP/IMAP/POP3/SMTP),最初由俄罗斯人IgorSyso... 目录基本命令默认配置搭建站点根据文件类型设置过期时间禁止文件缓存防盗链静态文件压缩指定定错误页面跨域问题

SpringBoot请求参数接收控制指南分享

《SpringBoot请求参数接收控制指南分享》:本文主要介绍SpringBoot请求参数接收控制指南,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Spring Boot 请求参数接收控制指南1. 概述2. 有注解时参数接收方式对比3. 无注解时接收参数默认位置

Python使用getopt处理命令行参数示例解析(最佳实践)

《Python使用getopt处理命令行参数示例解析(最佳实践)》getopt模块是Python标准库中一个简单但强大的命令行参数处理工具,它特别适合那些需要快速实现基本命令行参数解析的场景,或者需要... 目录为什么需要处理命令行参数?getopt模块基础实际应用示例与其他参数处理方式的比较常见问http

Linux内核参数配置与验证详细指南

《Linux内核参数配置与验证详细指南》在Linux系统运维和性能优化中,内核参数(sysctl)的配置至关重要,本文主要来聊聊如何配置与验证这些Linux内核参数,希望对大家有一定的帮助... 目录1. 引言2. 内核参数的作用3. 如何设置内核参数3.1 临时设置(重启失效)3.2 永久设置(重启仍生效

SpringMVC获取请求参数的方法

《SpringMVC获取请求参数的方法》:本文主要介绍SpringMVC获取请求参数的方法,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下... 目录1、通过ServletAPI获取2、通过控制器方法的形参获取请求参数3、@RequestParam4、@

Spring Boot项目部署命令java -jar的各种参数及作用详解

《SpringBoot项目部署命令java-jar的各种参数及作用详解》:本文主要介绍SpringBoot项目部署命令java-jar的各种参数及作用的相关资料,包括设置内存大小、垃圾回收... 目录前言一、基础命令结构二、常见的 Java 命令参数1. 设置内存大小2. 配置垃圾回收器3. 配置线程栈大小

SpringBoot利用@Validated注解优雅实现参数校验

《SpringBoot利用@Validated注解优雅实现参数校验》在开发Web应用时,用户输入的合法性校验是保障系统稳定性的基础,​SpringBoot的@Validated注解提供了一种更优雅的解... 目录​一、为什么需要参数校验二、Validated 的核心用法​1. 基础校验2. php分组校验3

一文带你了解SpringBoot中启动参数的各种用法

《一文带你了解SpringBoot中启动参数的各种用法》在使用SpringBoot开发应用时,我们通常需要根据不同的环境或特定需求调整启动参数,那么,SpringBoot提供了哪些方式来配置这些启动参... 目录一、启动参数的常见传递方式二、通过命令行参数传递启动参数三、使用 application.pro