基于OpenCV做“三维重建”(3)--相机参数矩阵
通过前面的相机标定,我们能够获得一些参数模型。但是这些相机的参数矩阵到底是什么意思?怎样才能够判断是否正确?误差都会来自哪里?这里就必须要通过具体实验来加深认识。采集带相机参数的图片具有一定难度,幸好我之前有着不错的积累—这里一共有两款数据集,一款来自《OpenCV计算机视觉编程攻略》第3版,家里面好像还有一款微单可以进行采集,这样我们可以进行交叉比对,看一看获得的参数是否符合实际情况:

既然是做实验,我想初步计划一下。首先是要明确我能够获得那些东西?然后是比较这些东西是否真的像书上说的那样符合实际?然后我会添加一些干扰,看一看在有错误数据的情况,这些东西如何变化?最后是一个小结。
<?xml version="1.0"?>
<opencv_storage>
<Intrinsic type_id="opencv-matrix">
<rows>3</rows>
<cols>3</cols>
<dt>d</dt>
<data>
1.3589305122261344e+003 0. 5.7505355544729957e+002
0. 1.3565816672769690e+003 6.0423226535731465e+002
0. 0. 1.
</data>
</Intrinsic>
<Distortion type_id="opencv-matrix">
<rows>1</rows>
<cols>14</cols>
<dt>d</dt>
<data>
9.5113243912423840e+001 1.4262144540955842e+003
5.2119492051277685e-003 2.8847713358900241e-003
1.2859720255043484e+002 9.5182218776001392e+001
1.4741397414456521e+003 6.8332022963370434e+002 0. 0. 0. 0. 0. 0.</data></Distortion>
</opencv_storage>

<?xml version="1.0"?>
<opencv_storage>
<Intrinsic type_id="opencv-matrix">
<rows>3</rows>
<cols>3</cols>
<dt>d</dt>
<data>
4.0927176647992695e+002 0. 2.3724719115090161e+002
0. 4.0870629848642727e+002 1.7128731207874495e+002
0. 0. 1.
</data></Intrinsic>
<Distortion type_id="opencv-matrix">
<rows>1</rows>
<cols>14</cols>
<dt>d</dt>
<data>
1.8631118716959048e+001 -5.0639175384902096e+001
-5.2453807582033300e-003 -9.2620440694993842e-003
5.2367454865598742e+000 1.9002289932447418e+001
-4.8948501055979285e+001 -6.5115263545215851e-001 0. 0. 0. 0. 0. 0.</data></Distortion>
</opencv_storage>
<?xml version="1.0"?>
<opencv_storage>
<Intrinsic type_id="opencv-matrix">
<rows>3</rows>
<cols>3</cols>
<dt>d</dt>
<data>
3.9136489375791234e+003 0. 2.6879080836687035e+003
0. 3.9811430968074164e+003 1.9454067884808153e+003
0. 0. 1.
</data></Intrinsic>
<Distortion type_id="opencv-matrix">
<rows>1</rows>
<cols>14</cols>
<dt>d</dt>
<data>
2.5259392493942739e-002 -3.2418875955674309e-001
3.6376246418718853e-004 3.2526045276898190e-003
-8.1692713459156296e-002 2.5694845194956913e-002
4.7826938999253371e-001 -1.3315729771950511e+000 0. 0. 0. 0. 0. 0.</data></Distortion>
</opencv_storage>
<data>
4.0927176647992695e+002 0. 2.3724719115090161e+002
0. 4.0870629848642727e+002 1.7128731207874495e+002
0. 0. 1.
</data>






<data>
3.9136489375791234e+003 0. 2.6879080836687035e+003
0. 3.9811430968074164e+003 1.9454067884808153e+003
0. 0. 1.
</data>
基于OpenCV做“三维重建”(3)--相机参数矩阵的更多相关文章
- 基于OpenCV做“三维重建”(1)--找到并绘制棋盘
<OpenCV计算机视觉编程攻略(第3版)>这套书已经出到第3版了,如果你非要我说这本书有多好,我说不出来:只是很多我第一手的例子都是来源于这本书的-相比较OpenCV官方提供的代码,这本 ...
- 基于OpenCV做“三维重建”(2)--封装标定过程
既然已经能够找到了标定点,那么下边的工作就是使用标定结果了.[这本书在这里的内容组织让人莫名其妙]但是通过阅读代码能够很方便地串起来. /*------------------------------ ...
- 基于OpenCV做“三维重建”(4)--相机姿态还原和实现三维重建
v当我们构建成功了viz,就可以使用3维效果给我们提供的便利,进一步进行一些3维的操作. 在这个动画中,注意图片后面的那个黑线,对应的是相机的位置. /*----------------------- ...
- 基于OpenCV做“三维重建”(0)-- OpenCV3.2+VIZ6.3.0在vs2012下的编译和使用
一.问题提出 ViZ对于显示3维的效果图来说,非常有帮助:我在使用OpenCV进行双目测距的过程中,有一些参数希望能够通过可视化的方法显示出来,所以参考了这方面相关的资料.做了一些实验 ...
- 学习笔记:使用opencv做双目测距(相机标定+立体匹配+测距).
最近在做双目测距,觉得有必要记录点东西,所以我的第一篇博客就这么诞生啦~ 双目测距属于立体视觉这一块,我觉得应该有很多人踩过这个坑了,但网上的资料依旧是云里雾里的,要么是理论讲一大堆,最后发现还不知道 ...
- 基于 OpenCV 的人脸识别
基于 OpenCV 的人脸识别 一点背景知识 OpenCV 是一个开源的计算机视觉和机器学习库.它包含成千上万优化过的算法,为各种计算机视觉应用提供了一个通用工具包.根据这个项目的关于页面,OpenC ...
- [转载]卡尔曼滤波器及其基于opencv的实现
卡尔曼滤波器及其基于opencv的实现 源地址:http://hi.baidu.com/superkiki1989/item/029f65013a128cd91ff0461b 这个是维基百科中的链接, ...
- 图像矫正-基于opencv实现
一.引言 上篇文章中四种方法对图像进行倾角矫正都非常有效.Hough变换和Radon相似,其抗干扰能力比较强,但是运算量大,程序执行慢,其改进方法为:我们可以不对整幅图像进行操作,可以在图像中选取一块 ...
- 基于Opencv自带BP网络的车标简易识别
代码地址如下:http://www.demodashi.com/demo/12966.html 记得把这几点描述好咯:代码实现过程 + 项目文件结构截图 + 演示效果 1.准备工作 1.1 训练集和测 ...
随机推荐
- webservice接口测试wsdl,参数是xml格式。python,入参转化成str,返回值转化成dict调用
1.用SoapUI测试webservice接口,传入参数是xml格式时.xml格式需要将xml的外围增加<![CDATA[xml]]> 2.但是用python去做webservice测试, ...
- Unicode编码范围
- 数据可视化——阿里云解决方案DataV
数据可视化——阿里云解决方案DataV https://help.aliyun.com/document_detail/53844.html?spm=a2c4g.11186623.6.579.37fd ...
- 解决fastDFS客户端连接超时问题
1.修改storage.conf配置tracker_server的ip为外网ip 2.开放23000端口
- Cross-Origin跨域问题
为什么会跨域,要先了解浏览器的同源策略SOP(Same Orign Policy) https://segmentfault.com/a/1190000015597029 同源: 如果两个页面的协议 ...
- hystrix参数使用方法
hystrix+feign+ribbon,但是可能很多人都知道hystrix还有线程隔离,信号量隔离,等等各种参数配置,在这几就记录下hystrix的参数, 一.hystrix参数使用方法 通过注解@ ...
- 【LeetCode每天一题】Minimum Path Sum(最短路径和)
Given a m x n grid filled with non-negative numbers, find a path from top left to bottom right which ...
- C++ MFC万能的类向导
MFC的类向导 只要你掌握了类向导,你基本就已经掌握了MFC了,毕竟布局和代码都是自动生成,再加上C++基础上手还是挺快的,剩下的就是多多练习了. 转自: https://blog.csdn.net/ ...
- MongoDB系列----uupdate和数组
db.collection.update( criteria, objNew, upsert, multi ) criteria : update的查询条件,类似sql update查询内where后 ...
- android模拟器访问PC本地接口
一般来讲PC本地接口是localhost:8080 而在安卓模拟器上用的话,他会映射模拟器本身的,也就是说,可以把模拟器也当成一个PC端来看待,这样会好理解点吧 而在模拟器上想要访问PC本地的loca ...