两个镜头、视野、分辨率不同的相机(rgb、红外)的视野校正

文章目录

  • 背景
  • 实际效果
  • 查找资料
    • 资料1
    • 资料2
  • 解决方案
  • 最终结果

背景

目前在做的项目用到两个摄像头,一个是热成像摄像头、另一个是普通的rgb摄像头。
一开始的目标是让他们像素级重合,使得点击rgb图像时,即可知道其像素对应的温度。但是在尝试的过程中,发现基本不可能。因为由于纵深、遮挡、透视变形、视差等问题,两个摄像头拍摄到的东西可能会很不一样,对不上。
但是应该可以参考opencv的双目标定,做出横向对齐的效果。【opencv/samples/cpp/stereo_calib.cpp】
在这里插入图片描述

实际效果

但是尝试了直接用这个方法来操作,发现出来的效果简直毫无效果,画面随意飞,有时整个画面黑屏,看不到任何东西。

查找资料

然后不断地找资料,发现很早之前就有人尝试了类似的想法了。

资料1

【stereoCalibrate for different cameras (rgb and infrared)】
这个人有一组照片,里面有rgb照片以及与其对应的ir照片,他放在这里,可以从这里下载(需要梯子)【rgb+ir】。
在这里插入图片描述他的需求也是实现两个相机画面的极平面、极线对齐。直接用了stereoCalibrate出来的效果不好。
他提出这个问题之后,有个人【BConic,之前好像是叫AldurDisciple】回答了他。说可以尝试一下先独立地对每个相机进行标定,得到相机内参,然后再设置参数 CALIB_USE_INTRINSIC_GUESS + CALIB_FIX_INTRINSIC 去使用stereoCalibrate,应该能够取得较好的效果。
在这里插入图片描述

从后续来看,提出问题的人【DmT021】反馈基本解决了问题。

资料2

从另外一篇问答【Big reprojection error while using OpenCV cvStereoCalibrate to calibrate a pair of cameras with different resolution】来看,这种先独立标定再联合求解的方法应该是可行的。
在这里插入图片描述

解决方案

先独立地对每个相机进行标定,然后再联合使用stereoCalibrate进行标定。
在进行标定之前,先对图像进行剪裁、缩放,使他们具有同样的尺寸。(上面的资料好像说不用同样尺寸也行,暂时不清楚他们是如何使用的)
在使用stereoCalibrate时,注意参数为CALIB_USE_INTRINSIC_GUESS + CALIB_FIX_INTRINSIC 。

最终结果

一般,但是咬咬牙应该也可以用。
两个图像都旋转且裁剪了很多。有可能是我的样本的问题,后面采集多一些不同角度的再来标定试试。
在这里插入图片描述


参考:
【基于OpenCV的双目测距系统实现】
【双目相机标定以及立体测距原理及OpenCV实现】

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

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

相关文章

js中的设计模式

设计模式 代码整体的结构会更加清楚,管理起来会更加方便,更好地维护 设计模式是一种思想 发布订阅 模块化开发 导入很多模块 容器即数组存储未来要执行的方法,同addEventListener 数组塌陷问题* 由于删除了元素,导致从删除元素的位…

ppt怎么压缩到10m以内?分享好用的压缩方法

PPT是一种常见的演示文稿格式,有时候文件过大,我们会遇到无法发送、上传的现象,这时候简单的解决方法就是压缩其大小,那怎么才能将PPT压缩到10M以内呢? PPT文件大小受到影响的主要因素就是以下几点: 1、图…

VR全景旅游,智慧文旅发展新趋势!

引言: VR全景旅游正在带领我们踏上一场全新的旅行体验。这种沉浸式的旅行方式,让我们可以足不出户,却又身临其境地感受世界各地的美景。 一.VR全景旅游是什么? VR全景旅游是一种借助虚拟现实技术,让用户…

AssetBundle学习

官方文档:AssetBundle 工作流程 - Unity 手册 (unity3d.com) 之前写的博客:AssetBundle学习_zaizai1007的博客-CSDN博客 使用流程图: 1,指定资源的AssetBundle属性 (xxxa/xxx)这里xxxa会生成目录&…

Arcgis 分区统计majority参数统计问题

利用Arcgis 进行分区统计时,需要统计不同矢量区域中栅格数据的众数(majority),出现无法统计majority参数问题解决 解决:利用copy raster工具,将原始栅格数据 64bit转为16bit

iOS 应用上架流程详解

iOS 应用上架流程详解 欢迎来到我的博客,今天我将为大家分享 iOS 应用上架的详细流程。在这个数字化时代,移动应用已经成为了人们生活中不可或缺的一部分,而 iOS 平台的 App Store 则是开发者们发布应用的主要渠道之一。因此,了解…

Vision Transformer (ViT):图像分块、图像块嵌入、类别标记、QKV矩阵与自注意力机制的解析

作者:CSDN _养乐多_ 本文将介绍Vision Transformers (ViT)中的关键点。包括图像分块(Image Patching)、图像块嵌入(Patch Embedding)、类别标记、(class_token)、QKV矩…

微服务 云原生:搭建 K8S 集群

为节约时间和成本,仅供学习使用,直接在两台虚拟机上模拟 K8S 集群搭建 踩坑之旅 系统环境:CentOS-7-x86_64-Minimal-2009 镜像,为方便起见,直接在 root 账户下操作,现实情况最好不要这样做。 基础准备 关…

pycharm——涟漪散点图

from pyecharts import options as opts from pyecharts.charts import EffectScatterc (EffectScatter().add_xaxis( ["高等数学1,2","C语言程序设计","python程序设计","大数据导论","数据结构","大数据…

CentOS 8 上安装 Nginx

Nginx是一款高性能的开源Web服务器和反向代理服务器,以其轻量级和高效能而广受欢迎。在本教程中,我们将学习在 CentOS 8 操作系统上安装和配置 Nginx。 步骤 1:更新系统 在安装任何软件之前,让我们先更新系统的软件包列表和已安…

opencv 31-图像平滑处理-方框滤波cv2.boxFilter()

方框滤波(Box Filtering)是一种简单的图像平滑处理方法,它主要用于去除图像中的噪声和减少细节,同时保持图像的整体亮度分布。 方框滤波的原理很简单:对于图像中的每个像素,将其周围的一个固定大小的邻域内…

HTTP、HTTPS协议详解

文章目录 HTTP是什么报文结构请求头部响应头部 工作原理用户点击一个URL链接后,浏览器和web服务器会执行什么http的版本持久连接和非持久连接无状态与有状态Cookie和Sessionhttp方法:get和post的区别 状态码 HTTPS是什么ssl如何搞到证书nginx中的部署 加…

Sqli-labs1~65关 通关详解 解题思路+解题步骤+解析

Sqli-labs 01关 (web517) 输入?id1 正常 输入?id1 报错 .0 输入?id1-- 正常判断是字符型注入,闭合方式是这里插一句。limit 100,1是从第100条数据开始,读取1条数据。limit 6是读取前6条数据。 ?id1 order by 3-- 正常判断回显位有三个。?id…

ChatGPT在法律行业的市场潜力

​ChatGPT现在已经成为我们的文字生成辅助工具、搜索引擎助手,许多体验过它的朋友会发现对它越来越依赖,并将其逐渐融入到自己的日常工作、生活。但有一点值得注意:这种人工智能除了技术可行、经济价值可行还要与相关规范即人类普遍的价值观念…

轻松批量文件改名!一键翻译重命名文件夹/文件,省时高效!」

繁忙的数字时代,我们经常需要处理大量的文件和文件夹。而手动逐个更改文件名不仅费时费力,还容易出错。因此,我们为您带来了一款强大的工具——批量文件改名软件!现在,您可以一键翻译重命名文件夹和文件,轻…

csdn新星计划vue3+ts+antd赛道——利用inscode搭建vue3(ts)+antd前端模板

文章目录 ⭐前言⭐利用inscode免费开放资源💖 在inscode搭建vue3tsant项目💖 调整配置💖 antd 国际化配置💖 用户store💖 路由权限💖 预览 ⭐结束 ⭐前言 大家好,我是yma16,本文分享…

Day10-作业(SpringBootWeb案例)

作业1:完成课上预留给大家自己完成的功能 【部门管理的修改功能】 注意: 部门管理的修改功能,需要开发两个接口: 先开发根据ID查询部门信息的接口,该接口用户查询数据并展示 。(一定一定先做这个功能) 再开发根据ID…

YOLOv5改进系列(18)——更换Neck之AFPN(全新渐进特征金字塔|超越PAFPN|实测涨点)

【YOLOv5改进系列】前期回顾: YOLOv5改进系列(0)——重要性能指标与训练结果评价及分析 YOLOv5改进系列(1)——添加SE注意力机制

[JAVA基础]自动拆装箱NPE问题

1.自动拆装箱场景 自动装箱 当把字面量转换成包装类的时候会自动装箱 比如: Integer a 1; Integer b 1; 自动拆箱 当你对包装类的对象进行运算(如加法、减法等)时,Java会自动进行拆箱操作。拆箱是将包装类型的对象转换为相应的基…

华为云hcip核心知识笔记(数据库服务规划)

华为云hcip核心知识笔记(数据库服务规划) 1.云数据接库优势 1.1云数据库优点有: 易用性强:能欧快速部署和运行 高扩展:开放式架构和云计算存储分离 低成本:按需使用,成本更加低廉 2.云数据库r…