【opencv】教程代码 —features2D(4)利用两张摄像机拍摄的图片计算单应性矩阵...

c011209281ae0e106040e01dc4bfab67.png

homography_from_camera_displacement.cpp

3c402bf19ec1bddb8a29a20d23b16c94.png

Chessboard poses 棋盘姿态

1641b7fc55e4c3e5ced790fe5ed1c22e.png

使用根据相机位移计算的单应性扭曲图像

a3f7f7f6404160a24bb86a6fca3efa10.png

使用根据绝对相机姿势计算的单应性扭曲图像

415bf793b7c344a67510d6e1b49678c0.png

Warped images comparison 扭曲图像比较

左侧-nfindHomography  右侧-使用根据相机位移计算的单应性扭曲图像

终端输出:

Euclidean Homography:(根据相机位移计算单应性)
[0.2215344870864446, -0.9949332344575121, 0.1140657984013492;
 0.6776201343947539, 0.1839368762588706, -0.1530250021245755;
 0.3300066201371719, -0.5683454599466965, 1]
Euclidean Homography 2:(同上,但使用绝对相机姿势而不是相机位移 仅供检查)
[0.2215344870864446, -0.9949332344575118, 0.1140657984013491;
 0.6776201343947537, 0.1839368762588706, -0.1530250021245755;
 0.3300066201371718, -0.5683454599466965, 1]




findHomography H:
[0.3290339333220099, -1.244138808862929, 536.4769088231476;
 0.6969763913334047, -0.0893590907257152, -80.3406850408241;
 0.0004051172959296097, -0.001079740100565012, 1]
homography from camera displacement:(相机位移的单应性)
[0.4160569974777896, -1.306889022263172, 553.7055455031656;
 0.7917584238390836, -0.06341244817498765, -108.2770026444472;
 0.0005926357279773245, -0.00102065172285972, 1]
homography from absolute camera poses:(绝对相机姿势的单应性)
[0.4160569974777895, -1.306889022263171, 553.7055455031656;
 0.7917584238390833, -0.06341244817498759, -108.2770026444472;
 0.0005926357279773244, -0.00102065172285972, 1]

d9fdeae07ea7e41f52e738ff039ed57f.png

// 包含必要的库
#include <iostream> // 用于基本输入输出
#include <opencv2/core.hpp> // 包含OpenCV库的核心部分
#include <opencv2/imgproc.hpp> // 包含OpenCV库的图像处理部分
#include <opencv2/highgui.hpp> // 包含OpenCV库的高级GUI部分
#include <opencv2/calib3d.hpp> // 包含OpenCV库的相机标定和3D重建部分


using namespace std; // 使用标准命名空间
using namespace cv; // 使用OpenCV命名空间


namespace // 定义一个无名命名空间
{
enum Pattern { CHESSBOARD, CIRCLES_GRID, ASYMMETRIC_CIRCLES_GRID }; // 定义一个枚举类型Pattern,包含棋盘、圆形网格和非对称圆形网格三种模式


void calcChessboardCorners(Siz
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值