OpenCV计算相机与装甲板之间的距离

这个距离的计算需要建立在得知平移矩阵的计算上,想要了解平移矩阵获取的可以移步:https://www.cnblogs.com/nobodyx/p/17297244.html


先看一下代码

#include <iostream>
#include <cmath>
using namespace std;
double distance(double x1, double y1, double z1, double x2, double y2, double z2) {
return sqrt(pow(x1-x2, 2) + pow(y1-y2, 2) + pow(z1-z2, 2));
}
double getDistance(double dx, double dy, double dz) {
// 相机到物体的距离等于平移矩阵中的位移量的模
return distance(0, 0, 0, dx, dy, dz);
}
int main() {
double dx, dy, dz;
dx = -242.2960250467628;
dy = -188.0552606030399;
dz = 362.0516200001606;
//cout << "请输入相机在x、y、z三个方向上的平移量:" << endl;
//cin >> dx >> dy >> dz;
double d = getDistance(dx, dy, dz);
cout << "相机到物体的距离为:" << d << endl;
return 0;
}

1.编写求距离的函数

getDistence这个函数不过多解释了大家都可以看懂

2.求距离

这里我已经知道了平移矩阵,所以需要先求解平移矩阵,再调用函数求解距离。

posted @   XnobodyT  阅读(60)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
点击右上角即可分享
微信分享提示