张正友平面标定法的一些注意事项
从一月到现在一直有一个问题比较烦人,就是这相机标定的问题,这个问题使用相机的人基本都会先去做这个,很多人在这问题上做研究,有很多种,基于各种模型的,而且算法都比较成熟。我们一开始就把问题想简单了,因为OPENCV说里面已经写好了,直接掉出来用就行了。实现确实如此,从开始就出OPENCV,用一周的之间就写了出来代码,拿别人的相片一看,呵呵呵,还行,结果和别人的差不多,那是就像这时到此结束了.....
真的吗?我们自己的相机回来的,拍了写照片,发现结果不是一般的不稳定,用6x7的棋盘拍些照片是一种结果,换7x7的,就是另外一种结果而且差异很大,郁闷了。就觉得是自己拍图片的问题,我们试着用更大的棋盘,拍跟多的图片结果还是一样不稳定。觉得自己受骗了,OPENCV真不稳定。
开始去看张正友的算法,试着自己去写,这就是这个月做得事,张正友的算法第一步使用线性模型求出H矩阵、估算优化、计算内部参数、最大貌似优化、计算畸变参数、使用最大貌似优化参数(大概是这样),这些就不说了,张正友对操作的过程说的很详细,相片的拍摄的角度,相片的数量,噪声的影像、图片的平整等等,可以看出拍摄图片对精度的影像是很大的。
1、棋盘的排放
算法是基于2D模型的,如果棋盘摆放的不平整,肯定会造成很大的影像。
原文:
平整度的影像远远大于噪声的影像
张正友在做这个试验的时候使用:
2.图片数目的影像
事实上图片的数目多了会很好的
3.图片的角度:这里注意的是图片的角度是45度最好,但是太大的角度对于角点提取的精度影像比较大,所以保持在45度以内比较好
4.除上面的因素以外,很所有光学一同一样,光线对图片的影像也很大,这个也要注意
还有,似乎我也不知道,因为标定的问题我还没有解决,只希望大家少走点弯路
张正友平面标定法的一些注意事项相关推荐
- 张正友平面标定方法 超详细
利用摄像机所拍摄到的图像来还原空间中的物体.在这里,不妨假设摄像机所拍摄到的图像与三维空间中的物体之间存在以下一种简单的线性关系:[像]=M[物],这里,矩阵M可以看成是摄像机成像的几何模型. M中 ...
- [毕设系列] 一、张正友相机标定
张正友相机标定 预备知识 0.1 刚体.仿射.线性.旋转变换 0.2 什么是标定? 0.3 为什么要进行标定? 0.4 什么是畸变? 一.张正友标定法 1.1 简介 1.2 流程 1.3 畸变公式 二 ...
- 张正友相机标定Opencv实现以及标定流程标定结果评价图像矫正流程解析(附标定程序和棋盘图)
from:https://blog.csdn.net/dcrmg/article/details/52939318 使用Opencv实现张正友法相机标定之前,有几个问题事先要确认一下,那就是相机为什么 ...
- 张正友相机标定算法详解
张正友相机标定算法详解 1.齐次表示法与一些基本结论 1.1 点与直线的齐次表示 在射影几何中,通常用齐次方式来表达点与直线.比如p=(u,v)p=(u,v)p=(u,v)被表示成p^=(x1,x ...
- OpenCV实现张正友相机标定源代码
本源代码基于VC++和opencv Opencv2.4.13.6版本开发,实现张正友相机标定源代码,资源包括完整源代码和12张棋盘图片,完美运行. Opencv2.4.13.6安装包下载地址:http ...
- 张正友相机标定程序实现
版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/hongbin_xu/article/details/78988450 前言 在前面的博客中( 三维重 ...
- opencv C++ 张正友相机标定
//张正友相机标定 //https://blog.csdn.net/u010925447/article/details/77997735 #include <opencv2/core/core ...
- 三维重建学习(3):张正友相机标定推导
前言 前面的几篇博客中介绍了有关相机标定的基础知识(三维重建学习(1):基础知识:旋转矩阵与旋转向量.三维重建学习(2):相机标定基础).这次介绍一个十分经典的单目相机标定方法--张正友标定,并给出数 ...
- 张正友相机标定(全流程,含畸变,matlab源代码解析)
张正友标定的具体原理很多文章已经介绍,这里主要结合源代码对其中的基本原理及本人遇到的问题进行介绍.(仅介绍基本原理供本人复习,同时方便他人,如有问题,请及时指正勿喷) 1. 标定基本思路介绍 相机标定 ...
最新文章
- OSError: Could not find library geos_c or load any of its variants ['libgeos_c.so.1', 'libgeos_c.so
- Spring的IOC原理[通俗解释一下]
- leetcode416. Partition Equal Subset Sum
- 深入理解C语言——#define宏和枚举的区别
- html5 多页面共享数据库,可以跨页面使用HTML5 Web SQL数据库吗?(Can HTML5 Web SQL databases be used across pages?)...
- 麦克劳林展开式_数学家麦克劳林与牛顿的故事
- 电感检测_三、电感线圈的识别与检测(二)
- 蓝图中实现人物移动1
- 95-290-055-源码-内存管理-HybridMemorySegment
- 【路径规划】基于matlab A_star算法机器人静态避障路径规划【含Matlab源码 495期】
- 企业信息化战略与实施(2)信息系统生命周期与战略规划方法
- 中国搜索引擎市场投资分析及前景预测报告
- 数字化转型转的是什么
- 物美集团携手SAP ERP项目成功上线(转)
- 系统平台商家如何快速提升店铺的搜索流量
- LPC1768/1769之CAN控制器概述(附库函数下载地址)
- 创建一个简单的后台教务管理系统,包含动态增删改查学生,年级和课程信息及查看登录日志等功能,包含表单验证.
- 什么是GEMM?该怎么去学习GEMM?
- 学习与思考,李敖有话说
- 【Matlab】Matlab作图的一些小知识