当前位置: 首页 > news >正文

OpenCV图像拼接(1)自动校准之校准旋转相机的函数calibrateRotatingCamera()

  • 操作系统:ubuntu22.04
  • OpenCV版本:OpenCV4.9
  • IDE:Visual Studio Code
  • 编程语言:C++11

算法描述

cv::detail::calibrateRotatingCamera 是OpenCV中用于校准旋转相机的函数。它特别适用于那种相机相对于一个固定的场景进行纯旋转运动的情况,比如在全景拼接过程中。此函数可以从一系列单应性矩阵(Homography Matrices)中估计出相机的内参矩阵。

函数原型

bool cv::detail::calibrateRotatingCamera 	
(
 	const std::vector< Mat > &  	Hs,
	Mat &  	K 
) 	

参数

  • Hs: 包含了从不同视角拍摄同一场景得到的单应性矩阵的向量。每个单应性矩阵描述了场景中点在两幅图像之间的变换关系。
  • K: 输出参数,代表校准后得到的相机内参矩阵。该矩阵通常形式如下:
    [fx 0 cx]
    [0 fy cy]
    [0 0 1]

代码示例

#include <iostream>
#include <opencv2/opencv.hpp>
#include <opencv2/stitching/detail/autocalib.hpp>  // 确保包含正确的头文件
#include <vector>

using namespace cv;
using namespace cv::detail;

int main()
{
    // 假设我们已经计算出了多个单应性矩阵
    std::vector< Mat > Hs = {
        ( Mat_< double >( 3, 3 ) << 1.0, 0, 0, 0, 1.0, 0, 0, 0, 1.0 ), ( Mat_< double >( 3, 3 ) << 0.9848, -0.1736, 0, 0.1736, 0.9848, 0, 0, 0, 1.0 )
        // 添加更多单应性矩阵...
    };

    // 相机内参矩阵初始化为单位矩阵
    Mat K = Mat::eye( 3, 3, CV_64F );

    // 调用calibrateRotatingCamera函数
    bool success = calibrateRotatingCamera( Hs, K );

    if ( success )
    {
        std::cout << "校准成功!内参矩阵为:\n" << K << std::endl;
    }
    else
    {
        std::cerr << "校准失败!" << std::endl;
    }

    return 0;
}

运行结果

校准成功!内参矩阵为:
[inf, -nan, -nan;
 0, -nan, -nan;
 0, 0, -nan]

相关文章:

  • 在线JSON格式校验工具站
  • 详细介绍IDI_APPLICATION和IDC_ARROW
  • ubuntu20.04使用matlab2024a快捷键调整
  • Python 爬取 1688 关键词搜索接口数据返回说明
  • vue el-table 设置selection选中状态
  • MySql面试总结(三)
  • matlab近似计算联合密度分布
  • 阿里云国际站代理商:如何构建交互式安全分析看板?
  • vue3+el-cascader-panel+多选+动态加载+默认展开+选中查询节点并展开+查询到的这一条自动滚动到顶部+tooltip效果
  • 高铁监控存储扩容-DS SAN存储磁盘阵列
  • Python中数据结构元组详解
  • LangChain开发(一)介绍和第一个例子
  • 什么是 BA ?BA怎么样?BA和BI是什么关系?
  • Nginx的HTTPS配置
  • 【论文笔记】Transformer
  • OpenCV专利收费免费模块介绍
  • QT二 QT使用generate form 生成常用UI,各种UI控件
  • Function Calling的核心机制与挑战
  • 【k8s】利用Kubernetes卷快照实现高效的备份和恢复
  • Three.js世界中的三要素:场景、相机、渲染器
  • 外交部:正确认识和对待历史是检验日本能否恪守和平发展承诺的重要标准
  • 佩斯科夫:俄会考虑30天停火提议,但试图对俄施压无用
  • 人民日报刊文:守护“技术进步须服务于人性温暖”的文明底线
  • 2025柯桥时尚周启幕:国际纺都越来越时尚
  • 代理销售保险存在误导行为,农业银行重庆市分行相关负责人被罚款0.1万元
  • 一热就出汗 VS 热死都不出汗的人,哪个更健康?