优化标定的加入与实现
优化标定的加入与实现
.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]);
*/
优化标定的加入与实现相关推荐
- Halcon学习笔记:Halcon标定步骤-3d_coordinates.hdev示例
Halcon标定步骤 1.设置相机内部参数的初始值 StartCamPar := [0.016,0,0.0000074,0.0000074,326,247,652,494] set_calib_dat ...
- 多传感器融合定位十五-多传感器时空标定(综述)
多传感器融合定位十五-多传感器时空标定 1. 多传感器标定简介 1.1 标定内容及方法 1.2 讲解思路 2. 内参标定 2.1 雷达内参标定 2.2 IMU内参标定 2.3 编码器内参标定 2.4 ...
- 圆形标定板的图像校正
1. 背景介绍 双目系统在相机标定时,需要将印制有圆形标志点的标定板摆放不同的位置并摄取图像,然后根据这些图像提取圆形标志点的亚像素中心标定相机内外参数.但是拍摄的图像中有的会像如图所示,相机与标定板 ...
- 计算机视觉:相机模型与参数标定
目录 一.针孔照相机模型 1.像主点偏移 2.内参矩阵 3.畸变现象 4.畸变校正 二.照相机标定 1.标定原理 2.实验流程 三.代码实现(python+opencv) 1.数据准备 2.代码实现 ...
- 备战美赛,这些你应该知道的知识点
国赛刚过完 美赛就接踵而来 只剩下两个多月的时间 不少准备参赛的小伙伴在后台咨询 该如何准备美赛 为了更好地帮助大家进攻美赛 超模君特意邀请到 今年国赛A题Matlab创新奖&一等奖获奖者 方 ...
- 2019年中国研究生数学建模竞赛D题 汽车行驶工况构建【信息交流】
2019年中国研究生数学建模竞赛D题 汽车行驶工况构建 一.问题背景 汽车行驶工况(Driving Cycle)又称车辆测试循环,是描述汽车行驶的速度-时间曲线(如图1.2,一般总时间在1800秒以内 ...
- 2019年全国研究生数学建模 D题 汽车行驶工况构建 建模及经历分享
目录 前言 解题和建模 题目 题目分析 问题一 问题二 问题三 参考文献 建模经历分享 组队与队友 关于选题 建模开始 前言 距离2019年的研究生数学建模国赛结束有将近三个月了,前不久比赛结果公布, ...
- 2019年中国研究生数学建模竞赛D题 汽车行驶工况构建
2019年中国研究生数学建模竞赛D题 汽车行驶工况构建 一.问题背景 汽车行驶工况(Driving Cycle)又称车辆测试循环,是描述汽车行驶的速度-时间曲线(如图1.2,一般总时间在1800秒以内 ...
- 《Optimising the selection of samples for robust lidar camera calibration》论文解读
Abstract 我们提出了一个鲁棒的标定方法,优化标定样本的选择,以估计适合整个场景的标定参数.我们根据一种被称为质量可变性(VOQ)的指标自动化数据选择过程,将用户误差最小化,该指标为每一组标定样 ...
最新文章
- Flink1.7.2 sql 批处理示例
- 模拟storage copy 功能失败的记录
- 解决mysql导入数据文件过慢的问题
- Android--手势触控屏幕控制/GestureDetector
- Async和Await如何简化异步编程几个实例
- Entity相互关系
- 燃烧青春和诗意的IT人生
- Visual Studio 2022编译x86 或者 win32程序时的错误MSB6006
- 史蒂夫乔布斯6月斯坦佛大学演讲: 必须找到你所钟爱的东西
- 前端必须懂的计算机网络知识—(跨域、代理、本地存储)
- nexus3下载地址
- 阿里巴巴整理的python_阿里P8大佬整理的2020年最全99道python面试题,文末附答案...
- 好家伙!QQ正在读取你所有的浏览器历史记录?腾讯致歉后,网友评论绝了
- React Native常用第三方汇总
- 完全卸载Oracle数据库步骤
- 全网首发:安装Python(或其他软件)出现0x80072f7d错误的解决办法
- 可行性研究及需求分析
- 在中国移动(中国联通、中国电信)工作是一种怎样的体验?
- 用Desmos玩极坐标
- 关于DM8168平台扩展PCIE网卡的问题
热门文章
- 《AngularJS实战》——3.1 模板中的过滤器
- 在ie7中overflow: hidden失效问题哦及解决方案
- 在LINUX终端和VIM下复制粘贴
- JS URL 编码 PHP 解码{%u5F00%u53D1}
- 使用matlab做可重复性实验结果——rng
- 大数据计算引擎发展的四个阶段
- 关于MAC升级后,vim更新插件报错
- JAVA(利用jsp+javabean+servlet)实现简易计算器
- PAT 1025 反转链表 (25)(STL-map+思路+测试点分析)
- 使用sqlite3解决IDEA中SVN更新提示cleanup却无法cleanup的问题