答:使用perspectiveTransform()。

findHomography 函数是求两幅图像的单应性矩阵,它是一个3*3的矩阵,但这里的单应性矩阵和3D重建中的单应性矩阵(透视矩阵3*4)是不一样的。之前一直混淆了两者的区别。

这里求两幅图像的单应性矩阵,只是利用多元方程组初步求解出H矩阵,然后利用迭代最小化反投影误差的方式进一步精确计算出H。H=(h11,h12,h13; h21,h22,h23; h31,h32,h33)

C++:

Mat

findHomography

(

InputArray

srcPoints

, InputArray

dstPoints

, int

method

=0, double

ransacReprojThreshold

=3, OutputArray

mask

=noArray()

) ?

Parameters:

srcPoints – Coordinates of the points in the original plane, a matrix of the type CV_32FC2 orvector .

dstPoints – Coordinates of the points in the target plane, a matrix of the type CV_32FC2 or avector .

method –

Method used to computed a homography matrix. The following methods are possible:

0 - a regular method using all the points

CV_RANSAC - RANSAC-based robust method

CV_LMEDS - Least-Median robust method

ransacReprojThreshold –

Maximum allowed reprojection error to treat a point pair as an inlier (used in the RANSAC method only). That is, if

then the point  is considered an outlier. If srcPoints and dstPoints are measured in pixels, it usually makes sense to set this parameter somewhere in the range of 1 to 10.

mask – Optional output mask set by a robust method ( CV_RANSAC or CV_LMEDS ). Note that the input mask values are ignored.

代码移植,菜鸟请教:

1.此函数具体是怎样求解方程的呢?单应性矩阵有8个独立元素:H = h00 h01 h02      手动计算前两行元素与函数输出结

h10 h11 h12

h20 h21  1

果接近,但h20和h21只能得到比例且比例与所选点坐标有关,感觉解不唯一,请问大神可以告知这两个元素是怎样确定的吗?

2.找不到cvFindHomography()源码,能告诉从哪里能获得吗?或者直接发给我就更好啦!谢!

最近学习有关findhomography的调用,请问经过RANSAC挑选适合的特征点后,

是用什么方法求出八个参数? (Levenberg-Marquardt? gradient descent? 还是其他方法)

1、src_points,dst_points为N×2或者N×3的矩阵,N×2表示点是以像素坐标表示。N×3表示以齐次坐标表示。

2、homography,为3*3大小的矩阵,用来存储输出的结果。

单应性矩阵和仿射变换_仿射变换透射变换单应性矩阵相关推荐

  1. 各种风格简洁单页响应式html5模板_简洁 响应式 单页 跳转 设计 案例 源码340多套订餐企业模板高大尚响应式网站模板html5网页静态模板Bootstrap扁平化网站源码css3手机seo自适响

    各种风格简洁单页响应式html5模板_简洁 响应式 单页 跳转 设计 案例 源码340多套订餐企业模板高大尚响应式网站模板html5网页静态模板Bootstrap扁平化网站源码css3手机seo自适响 ...

  2. java仿射变换_仿射变换和透射变换

    参考链接: http://blog.csdn.net/u012380663/article/details/43273527 http://blog.csdn.net/xiaowei_cqu/arti ...

  3. python矩阵左除_技术图文:Matlab VS. Numpy 矩阵基本运算

    背景 前段时间在知识星球上立了一个Flag,至少写10篇关于 Python,Matlab 和 C# 对比的总结. 这是第 3 篇,对比 Matlab 与 Numpy 在矩阵基本运算方面的区别与联系. ...

  4. mysql数据库如何让表单与表单关联共用_这样的表单如何做到和数据库相连,我想知道与SQL和mysql这两种的连接方法,在线等,谢谢各位!...

    主要的数据写入的步骤如下: 1. 写好数据库的连接字符串,包括你的数据库服务器.数据库名称.登陆用户.密码 string strConn = "Initial Catalog=" ...

  5. 404 单页应用 报错 路由_详解vue 单页应用(spa)前端路由实现原理

    写在前面:通常 SPA 中前端路由有2种实现方式: window.history location.hash 下面就来介绍下这两种方式具体怎么实现的 一.history 1.history基本介绍 w ...

  6. python实现带头结点的单链表的就地逆置_带头结点的单链表就地逆置

    本题要求编写函数实现带头结点的单链线性表的就地逆置操作函数.L是一个带头结点的单链表,函数ListReverse_L(LinkList &L)要求在不新开辟节点的前提下将单链表中的元素进行逆置 ...

  7. OpenCV学习:仿射变换+投射变换+单应性矩阵

    OpenCV学习:仿射变换+投射变换+单应性矩阵 estimateRigidTransform():计算多个二维点对或者图像之间的最优仿射变换矩阵 (2行x3列),H可以是部分自由度,比如各向一致的切 ...

  8. Opencv--仿射变换+投射变换+单应性矩阵

    estimateRigidTransform() 计算多个二维点对或者图像之间的最优仿射变换矩阵 (2行x3列),H可以是部分自由度,比如各向一致的切变. getAffineTransform() 计 ...

  9. 变换模型——仿射变换和透射变换

    仿射变换是投射变换的一个特例 仿射变换:6参数 投射变换:8参数 仿射变换:包括线性变换(旋转.剪切.缩放)及平移:特点:平行的线变换后依然保持平行.任意的仿射变换都能表示为乘一个矩阵(线性变换),再 ...

最新文章

  1. 小白都能看懂的神经网络教程:从原理到优化如此简单
  2. kubernetes资源对象之security context
  3. springmvc和tomcat原理
  4. python前端开发之准备开发环境(建议收藏)
  5. 商品管理到底重不重要?
  6. SCVMM 2012 R2运维管理九之:添加非信任的Hyper-v主机和群集
  7. js笔记(八)ES6
  8. css 控制溢出文本显示省略号效果
  9. PHP autoload实践
  10. C++模板之隐式实例化、显示实例化、隐式调用、显示调用和模板特化详解
  11. binlog2sql使用总结
  12. Ubuntu安装C++环境(VsCode 编译器)
  13. python消息模块_python - psutil 系统信息模块
  14. 基于51单片机的数字万用表设计
  15. linux bugzilla安装包,Linux下Bugzilla的搭建
  16. ssoj3991: 雪人(snowman)
  17. Gmail(Google App企业邮箱)的MX设置
  18. vs 2010旗舰版问题
  19. JavaScript格式化数字
  20. 软件测试方法和技术第一章——引论

热门文章

  1. python高手之路python处理excel文件
  2. matlab读取excel画图
  3. his系统冗灾服务器,江苏南京-医疗HIS系统存储解决方案
  4. 让人惊讶的数据,农民工撑起的服装业贡献的贸易顺差竟然接近高新技术产业的两倍!...
  5. Matlab的简单编程
  6. VB6.0—编程入门
  7. Android 从底层实现让应用杀不死(1)
  8. 相应的游戏服务器组件信息不存在,房间创建失败
  9. 2个字节秒解智能吓数1668加密狗
  10. 企业架构读书笔记(COBIT与ITIL)一