优化标定的加入与实现

.cpp文件声明变量和函数,避免局部函数无法使用全局变量,而还可以思考都在.h文件中声明,现在只是为了测试算法是否合适,后面重新写的时候尽量都放在同一个.cpp文件中。

cc dcc;                                      //标定畸变参数
double xd[centerNum], yd[centerNum], rd2[centerNum];
//CPOINTI centerfcalib1[centerNum];
//void *three_params_optimization_error(integer* m_ptr, integer* n_ptr, doublereal* params, doublereal* err, integer*);void three_params_optimization();
void five_params_optimization();
void five_params_reoptimization();
void nine_params_optimization();
void full_params_optimization();void improve_param();//调用上面的函数void ReCompute_xd_yd_rd2();
void Compute_xd_yd_rd2();
void Compute_Rz_Tx_Ty();
void Compute_sx();
void Compute_Rx_Ry_Tz_k1();

主函数中调用:

Compute_xd_yd_rd2();Compute_Rz_Tx_Ty();           //step2:dcc.Rz Tx Ty          Compute_sx();                 //step3:dcc.sxCompute_Rx_Ry_Tz_k1();        //step4:dcc.Rx Ry tz k1          /**************************five steps to optimize 11 params*************************/improve_param();/*three_params_optimization();               five_params_optimization();               five_params_reoptimization();nine_params_optimization();                      full_params_optimization();   */

improve_param函数(方便调参):

void improve_param()
{three_params_optimization();five_params_optimization();five_params_reoptimization();nine_params_optimization();full_params_optimization();}

注意修改的内容:老程序像素为9.9,新的为5.68。
两个变量需要修改,以便使用。

cc dcc;        //标定畸变参数,只有标定文件中使用
/*
如果放在.h文件中,局部函数无法识别
*/

下面这个是物理坐标,只有标定文件中用到。

double xd[centerNum], yd[centerNum], rd2[centerNum];
/*下面是赋值
xd[i] = 5.86 * 1e-3 * (pMain->centerfcalib[i].x - dcc.cx);//centerfcalib[i] 标定时点击记录点记录下标定点的(畸变)像素坐标
yd[i] = 5.86 * 1e-3 * (pMain->centerfcalib[i].y - dcc.cy);//这三个都转成了中心点的物理坐标rd2[i] = SQR(xd[i]) + SQR(yd[i]);
*/

优化标定的加入与实现相关推荐

  1. Halcon学习笔记:Halcon标定步骤-3d_coordinates.hdev示例

    Halcon标定步骤 1.设置相机内部参数的初始值 StartCamPar := [0.016,0,0.0000074,0.0000074,326,247,652,494] set_calib_dat ...

  2. 多传感器融合定位十五-多传感器时空标定(综述)

    多传感器融合定位十五-多传感器时空标定 1. 多传感器标定简介 1.1 标定内容及方法 1.2 讲解思路 2. 内参标定 2.1 雷达内参标定 2.2 IMU内参标定 2.3 编码器内参标定 2.4 ...

  3. 圆形标定板的图像校正

    1. 背景介绍 双目系统在相机标定时,需要将印制有圆形标志点的标定板摆放不同的位置并摄取图像,然后根据这些图像提取圆形标志点的亚像素中心标定相机内外参数.但是拍摄的图像中有的会像如图所示,相机与标定板 ...

  4. 计算机视觉:相机模型与参数标定

    目录 一.针孔照相机模型 1.像主点偏移 2.内参矩阵 3.畸变现象 4.畸变校正 二.照相机标定 1.标定原理 2.实验流程 三.代码实现(python+opencv) 1.数据准备 2.代码实现 ...

  5. 备战美赛,这些你应该知道的知识点

    国赛刚过完 美赛就接踵而来 只剩下两个多月的时间 不少准备参赛的小伙伴在后台咨询 该如何准备美赛 为了更好地帮助大家进攻美赛 超模君特意邀请到 今年国赛A题Matlab创新奖&一等奖获奖者 方 ...

  6. 2019年中国研究生数学建模竞赛D题 汽车行驶工况构建【信息交流】

    2019年中国研究生数学建模竞赛D题 汽车行驶工况构建 一.问题背景 汽车行驶工况(Driving Cycle)又称车辆测试循环,是描述汽车行驶的速度-时间曲线(如图1.2,一般总时间在1800秒以内 ...

  7. 2019年全国研究生数学建模 D题 汽车行驶工况构建 建模及经历分享

    目录 前言 解题和建模 题目 题目分析 问题一 问题二 问题三 参考文献 建模经历分享 组队与队友 关于选题 建模开始 前言 距离2019年的研究生数学建模国赛结束有将近三个月了,前不久比赛结果公布, ...

  8. 2019年中国研究生数学建模竞赛D题 汽车行驶工况构建

    2019年中国研究生数学建模竞赛D题 汽车行驶工况构建 一.问题背景 汽车行驶工况(Driving Cycle)又称车辆测试循环,是描述汽车行驶的速度-时间曲线(如图1.2,一般总时间在1800秒以内 ...

  9. 《Optimising the selection of samples for robust lidar camera calibration》论文解读

    Abstract 我们提出了一个鲁棒的标定方法,优化标定样本的选择,以估计适合整个场景的标定参数.我们根据一种被称为质量可变性(VOQ)的指标自动化数据选择过程,将用户误差最小化,该指标为每一组标定样 ...

最新文章

  1. Flink1.7.2 sql 批处理示例
  2. 模拟storage copy 功能失败的记录
  3. 解决mysql导入数据文件过慢的问题
  4. Android--手势触控屏幕控制/GestureDetector
  5. Async和Await如何简化异步编程几个实例
  6. Entity相互关系
  7. 燃烧青春和诗意的IT人生
  8. Visual Studio 2022编译x86 或者 win32程序时的错误MSB6006
  9. 史蒂夫乔布斯6月斯坦佛大学演讲: 必须找到你所钟爱的东西
  10. 前端必须懂的计算机网络知识—(跨域、代理、本地存储)
  11. nexus3下载地址
  12. 阿里巴巴整理的python_阿里P8大佬整理的2020年最全99道python面试题,文末附答案...
  13. 好家伙!QQ正在读取你所有的浏览器历史记录?腾讯致歉后,网友评论绝了
  14. React Native常用第三方汇总
  15. 完全卸载Oracle数据库步骤
  16. 全网首发:安装Python(或其他软件)出现0x80072f7d错误的解决办法
  17. 可行性研究及需求分析
  18. 在中国移动(中国联通、中国电信)工作是一种怎样的体验?
  19. 用Desmos玩极坐标
  20. 关于DM8168平台扩展PCIE网卡的问题

热门文章

  1. 《AngularJS实战》——3.1 模板中的过滤器
  2. 在ie7中overflow: hidden失效问题哦及解决方案
  3. 在LINUX终端和VIM下复制粘贴
  4. JS URL 编码 PHP 解码{%u5F00%u53D1}
  5. 使用matlab做可重复性实验结果——rng
  6. 大数据计算引擎发展的四个阶段
  7. 关于MAC升级后,vim更新插件报错
  8. JAVA(利用jsp+javabean+servlet)实现简易计算器
  9. PAT 1025 反转链表 (25)(STL-map+思路+测试点分析)
  10. 使用sqlite3解决IDEA中SVN更新提示cleanup却无法cleanup的问题