相机标定将图像坐标和地理坐标联系起来,可以得到相机视域,并根据视域可得到相机的点位置以及相机方位角

1、利用相机视域求相机位置,即视域两条线的交点,利用直线方程求解:

                                

2、相机方位角的求解,思路是:首先求出视域中点坐标,中点坐标的连线与正北方向的夹角即为相机方位角。

                                            

看了网上众多代码,参考其中一篇,改进后,在此附上方位角求解的c++版本算法:

/*根据两点经纬度坐标来求取该直线与正北方向的夹角,即方位角*/
#include<iostream>
#include<math.h>
#include<string.h>
using namespace std;int main()
{double pi=3.1415926;//地球纵横轴半径double Rc = 6378137;double Rj = 6356725;double longitude1, latitude1, longitude2, latitude2;//经纬度double m_radlon1, m_radlat1, m_radlon2, m_radlat2;//转为弧度制double Ec1, Ed1, Ec2, Ed2;//输入两点经纬度坐标longitude1 = 119.983875;latitude1 = 31.81912509;longitude2 = 119.9837622;latitude2= 31.81839832;//转化为弧度制m_radlon1 = longitude1 * pi/180;m_radlat1 = latitude1 * pi / 180;m_radlon2 = longitude2 * pi / 180;m_radlat2 = latitude2 * pi / 180;//Ec1 = Rj + (Rc - Rj)*(90.0 - latitude1) / 90.0;Ed1 = Ec1 * cos(m_radlat1);Ec2 = Rj + (Rc - Rj)*(90.0 - latitude2) / 90.0;Ed2 = Ec2 * cos(m_radlat2);double dx, dy;dx = (m_radlon2 - m_radlon1)*Ed1;dy = (m_radlat2 - m_radlat1)*Ec1;double angle = 0;//方位角angle = atan(abs(dx / dy)) * 180 / pi;double dLo, dLa;dLo = longitude2 - longitude1;dLa = latitude2 - latitude1;if (dLo > 0 && dLa <= 0){angle = (90 - angle) + 90;}else if (dLo <= 0 && dLa < 0){angle += 180;}else if (dLo < 0 && dLa >= 0){angle = (90 - angle) + 270;}else{angle = angle;}cout << "方位角是:" << angle << endl;return 0;}

相机标定后得到相机视域,并根据相机视域求取摄像机位置和摄像机方位角相关推荐

  1. 相机标定后图像像素和物理尺寸对应_你需要事件相机标定板,咱做了个

    事件相机标定板简介 事件相机标定板是我司听到客户有这个需求之后,为响应客户,解决事件相机标定问题而研发的产品. 主要用于新型事件相机的标定工作以及普通相机的标定工作,通过标定软件获取相机标定结果数据. ...

  2. 相机计算坐标公式_相机标定后,从图像坐标(像素)向物理坐标的转换计算,...

    各位大侠,本人用1组35张图片,标定相机参数.分别用MATLAB和OPENCV分别标定,标定结果基本一致. 现在,我希望从标定的一副图像中(使用这幅图像标定的相机外参),计算图像上几个红点之间的在3维 ...

  3. 基于OpenCV的单目相机标定与三维定位

    相机是产生图像数据的硬件,广泛应用于消费电子.汽车.安防等领域.围绕着相机衍生出一系列的研究与应用领域,包括传统的图像处理和基于深度学习的智能应用等.目前大火的自动驾驶中相机也是重要的硬件组成,如环视 ...

  4. 【相机标定与三维重建原理及实现】学习笔记1——相机模型数学推导详解

    目录 前言 一.小孔成像模型 二.坐标系的变换 1.世界坐标系到相机坐标系的变换(刚体变换)[xw^→xc^\boldsymbol {\hat{x_{w}}}\rightarrow \boldsymb ...

  5. 立体视觉入门指南(5):双相机标定【再不收藏我收费了~】

    亲爱的同学们,我们的世界是3D世界,我们的双眼能够观测三维信息,帮助我们感知距离,导航避障,从而翱翔于天地之间.而当今世界是智能化的世界,我们的科学家们探索各种机器智能技术,让机器能够拥有人类的三维感 ...

  6. opencv相机标定

    python 完整标注流程, python+opencv相机标定 - wenboz - 博客园 相机标定需要输出的参数: 焦距 像素或者物理单位mm 像素对应的物理长度 光心与物理senser中心的偏 ...

  7. matlab 工业相机 曝光时间_实战 | 相机标定

    知乎的公式格式有点问题,请看原文链接: 实战 | 相机标定​mp.weixin.qq.com 什么是相机标定?我们为什么需要相机标定? 相机标定就是确定相机内参和外参的过程,其结果精度会直接影响视觉系 ...

  8. 结构光三维重建Projector-Camera Calibration投影仪相机标定

    结构光三维重建-Projector-Camera Calibration投影仪相机标定 目录 结构光三维重建-Projector-Camera Calibration投影仪相机标定 1.结构光相机标定 ...

  9. c++ opencv 通过网络连接工业相机_摄像头和机器人视觉开发中的「相机标定」,你了解多少?...

    目前我们团队在做一个项目,通过采集到的人脸图像测量人脸上两个瞳孔间的实际距离.注意是实际距离,不是两个瞳孔之间隔多少个像素点.找了很久资料,好像"相机标定"可以解决我的问题,看了不 ...

  10. 张正友相机标定程序实现

    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/hongbin_xu/article/details/78988450 前言 在前面的博客中( 三维重 ...

最新文章

  1. Mysql锁专题:InnoDB锁概述
  2. 深度学习框架PyTorch学习——训练一个分类器
  3. POSIX文件及目录管理
  4. 设△ABC的内角A,B,C,所对的边分别为a,b,c,且acosB-bcosA=3/5c,则tan(A-B)的最大值为
  5. 关于.NET微服务最热门的问题解答
  6. java 运行main_使用maven运行Java Main的三种方法解析
  7. 【Python3网络爬虫开发实战】1.3.1-lxml的安装
  8. Servlet案例6:显示用户的上次访问时间
  9. Nacos 新增命名空间
  10. TelephonyManager与PhoneInterfaceManager应用
  11. preg_match 参数获取两个_摄像相机标定到底是啥?标定完成得到的参数有什么用?...
  12. js控制flash播放器
  13. 人才管理是什么意思_复合型人才是什么意思(复合型人才八种能力)
  14. 科研写作——常见句式(十一)
  15. LS1046:挂载根文件系统
  16. matlab与c/c++混合...,matlab与c/c++ 混合编程之 MCR | 学步园
  17. STL官网学习笔记——set_intersection
  18. 步进电机选型(转载)
  19. PS动作制作3D分散抽离人物粉尘特效
  20. axure专业级图表/地图可视化元件库 – Axhub Charts Pro V2.1.1

热门文章

  1. ios 制作方形头像
  2. 多种多样的语音连麦方式
  3. lone warrior
  4. 面向开发者稳定、安心的APP内测托管平台
  5. 我喜欢生命本来的样子
  6. numpy 三角函数 sin()、cos()、tan() 反三角函数arcsin,arccos,arctan numpy.degrees()
  7. python求零点极点增益_传递函数的零点、极点怎么解释,有什么用?
  8. 快速应对面试--分门别类--9.回溯和递归
  9. 使用Mybaties xml的增删改查
  10. Spring常用注解介绍 [附带代码]