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

news2025/1/16 20:18:14

文章目录

  • 背景
  • 实际效果
  • 查找资料
    • 资料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.coloradmin.cn/o/829718.html

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

相关文章

GPU 容器虚拟化新能力发布和全场景实践

今天给大家分享的主题是百度智能云在「GPU 容器虚拟化」方面的最新进展和全场景实践,希望通过这次分享和大家一起探讨如何在实际业务场景更好的应用 GPU 容器虚拟化技术。 本次分享将首先介绍百度智能云 GPU 容器虚拟化 2.0 的升级变化,然后介绍新版本中…

pycharm——漏斗图

import pyecharts.options as opts from pyecharts.charts import Funnel""" Gallery 使用 pyecharts 1.1.0 参考地址: https://echarts.apache.org/examples/editor.html?cfunnel目前无法实现的功能:1、暂时无法对漏斗图的长宽等范围操作进行修改 ""…

销售管理怎么做?(企业老板销售负责人必看)

阅读本文您可以了解:1、销售管理的定义;2、销售管理的重要性;2、如何做好销售管理。 大家好,作为一名有着十年销售经验的顾问,今天就和大家聊聊怎么做好销售管理。 一、销售管理的定义 销售管理是一种组织和规划销售…

移动硬盘格式化,一招搞定!

“新买了个移动硬盘,才将一些文件保存进去。今天将移动硬盘与电脑连接后,却提示我只能将它格式化,否则无法使用。这是为什么呢?硬盘格式化怎么操作呢?” 在使用移动硬盘的时候,可能会由于各种原因&#xff…

解决码云gitee或者github出现The requested URL returned error: 403

出现场景 要把某个项目push到码云上,已经设置了仓库地址,在最后一步直接报错。 adodeMacBook-Pro:yimabao ado$ git push --set-upstream origin master remote: [session-774b45b9] Access denied fatal: unable to access https://gitee.com/mzmilk/…

构建vue项目配置和环境配置

目录 1、环境变量process.env配置2、vue package.json多环境配置vue-cli-service serve其他用法vue-cli-service build其他用法vue-cli-service inspect其他用法3、vue导出webpack配置4、配置打包压缩图片文件5、打包去掉多余css(由于依赖问题暂时未实现)6、打包去除console.…

室温超导材料技术

自 1911 年荷兰物理学家海克昂内斯(Heike Onnes)发现固态汞的超导性之后,超导现象一直都是科学家们的热门研究领域。近年来,关于超导的研究热度更是有增无减,如何实现室温常压超导已经成为物理和材料领域的重要课题。 …

「2024」预备研究生mem-论证推理强化:五大秒杀思路(下)

一、通过第三者建立联系 二、幸存者偏差 三、稀释 四、选修 练习题

导轨安装一路输入两路输出模拟信号隔离分配器0-20mA/0-±10V/0-±100mV/0-±10mA/0-±20mA

概述 导轨安装DIN12 IPO OC系列模拟信号隔离放大器是一种将输入信号隔离放大、转换成按比例输出的直流信号混合集成厚模电路。产品广泛应用在电力、远程监控、仪器仪表、医疗设备、工业自控等需要直流信号隔离测控的行业。此系列产品内部采用了线性光电隔离技术相比电磁隔离具…

Python爬虫—破解JS加密的Cookie

前言 在进行网站数据爬取时,很多网站会使用JS加密来保护Cookie的安全性,而为了防止被网站反爬虫机制识别出来,我们通常需要使用代理IP来隐藏我们的真实IP地址。 本篇文章将介绍如何结合代理IP破解JS加密的Cookie,主要包括以下几个…

复亚智能打造全新云平台:让无人机任务管理更智能、更简单

复亚智能全新升级的MindView云平台,对航线规划、任务管理、自动飞行、数据管理等各个环节开展可视化、数字化、智能化监管,从任务到结果的“看得清”、“管得住”、“查得准”,带来更轻松的操作,改善作业效率、安全保障和用户体验…

Git标签

一、分离头指针 假如我们的代码现在处于第四个节点C4上,我们想要回到第二个节点C2的代码 git switch [节点码前几位] --detach # 回到指定节点 这时我们就能看到通过HEAD指针指向C2节点回到C2节点的代码。 当我们头指针没有指向某个分支的头部时,这种…

4、链表。

哈希表介绍 哈希表的简单介绍 1)哈希表在使用层面上可以理解为一种集合结构 2)如果只有key,没有伴随数据value,可以使用HashSet结构(C++中叫UnOrderedSet) 3)如果既有key,又有伴随数据value,可以使用HashMap结构(C++中叫UnOrderedMap) 4)有无伴随数据,是HashMap和Has…

一个 OpenTiny,Vue2 Vue3 都支持!

大家好,我是 Kagol,OpenTiny 开源社区运营,TinyVue 跨端、跨框架组件库核心贡献者,专注于前端组件库建设和开源社区运营。 今天给大家介绍如何同时在 Vue2 和 Vue3 项目中使用 TinyVue。 TinyVue 是一套跨端、跨框架的企业级 UI…

AI深度学习部署全记录

AI部署流程,以PyTorch为例: 1.Torch.Model->ONNX->ONNXSIM->TensortRT->落地 2.Torch.Model->Pt->ONNX->ONNXRunTime->落地 3.Torch.Model->Pt->Libtorch->落地 4.Torch.Model->PNNX->TensorRT->落地 5.…

途乐证券|七大科技巨头,股价集体下跌!国际油价大跌!这一夜发生了啥?

当地时间周三,受前一天惠誉评级下调美国长时间外币发行人违约评级影响,金融商场危险偏好遭到按捺,全球股票、多数大宗产品等危险资产价格普跌,美国三大股指集体跌落。到收盘,道指跌0.98%,标普500指数跌1.38…

【2023年电赛】运动目标控制与自动追踪系统(E 题)最简单实现

本方案的思路是最简单的不涉及复杂算法:识别矩形框,标记矩形框,输出坐标和中心点,计算长度,控制舵机移动固定长度!仅供完成基础功能参考,不喜勿喷! # 实现运动目标控制与自动追踪系…

使用上 Spring 的事件机制

本文主要是简单的讲述了Spring的事件机制,基本概念,讲述了事件机制的三要素事件、事件发布、事件监听器。如何实现一个事件机制,应用的场景,搭配Async注解实现异步的操作等等。希望对大家有所帮助。 Spring的事件机制的基本概念 …

Windows驱动开发必备工具

Windows驱动开发必备工具 设备树文软件 可以查看设备信息 数字签名工具安装包 开发用的数字签名证书密钥 断点命中工具包(双机调试必备) 二进制文件解析工具 日志查看工具(必备) IRP查看工具 C驱动开发相关书籍 有需要工具、书籍…

零基础也能懂:用9个简单步骤解说Spring MVC运行流程!

大家好,我是小米!今天,我将带你深入探索 Spring MVC 的运行流程,让你对这个技术有更深刻的理解。无需担心,我会用简单易懂的语言,详细解释每个步骤,让你信心满满地迎接校招面试的挑战&#xff0…