惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园 - 叶小钗
Microsoft Azure Blog
Microsoft Azure Blog
Stack Overflow Blog
Stack Overflow Blog
Jina AI
Jina AI
Vercel News
Vercel News
H
Help Net Security
Martin Fowler
Martin Fowler
美团技术团队
云风的 BLOG
云风的 BLOG
Y
Y Combinator Blog
阮一峰的网络日志
阮一峰的网络日志
MyScale Blog
MyScale Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 三生石上(FineUI控件)
博客园 - 司徒正美
人人都是产品经理
人人都是产品经理
Engineering at Meta
Engineering at Meta
G
Google Developers Blog
Blog — PlanetScale
Blog — PlanetScale
MongoDB | Blog
MongoDB | Blog
宝玉的分享
宝玉的分享
小众软件
小众软件
T
Tailwind CSS Blog
WordPress大学
WordPress大学

博客园 - wqj1212

形态学处理 halcon学习笔记——(11)Image,region,xld初步 Halcon相机标定 Halcon标定步骤 Halcon学习标定助手 halcon学习之产品检测 halcon中variation_model_single实例注释. vc 实现打印功能 用VisualC++建立SOAP客户端应用(一) 第六章 - 图像变换 - 图像拉伸、收缩、扭曲、旋转[1] - 仿射变换(cvWarpAffine) OpenCV】透视变换 Perspective Transformation(续) 第六章 - 图像变换 - 图像拉伸、收缩、扭曲、旋转[2] - 透视变换(cvWarpPerspective) 【最新图文教程】WinCE5.0中文模拟器SDK(VS2008)的配置 Visual Studio 2008 使用 WinCE 5.0 Emulator fff http://www.tugexing.com/Ad_doN.aspx?mmd=upM9swloFctgVHJiJa%2fj1w%3d%3d VS2003打包時加入卸载功能 gggg C++日志库,log4cplus,log4cpp使用资料手册
OpenCV仿射变换+投射变换+单应性矩阵
wqj1212 · 2014-08-15 · via 博客园 - wqj1212

本来想用单应性求解小规模运动的物体的位移,但是后来发现即使是很微小的位移也会带来超级大的误差甚至错误求解,看起来这个方法各种行不通,还是要匹配知道深度了以后才能从三维仿射变换来入手了,纠结~【转】OpenCV仿射变换+投射变换+单应性矩阵

  • estimateRigidTransform():计算多个二维点对或者图像之间的最优仿射变换矩阵 (2行x3列),H可以是部分自由度,比如各向一致的切变。
  • getAffineTransform():计算3个二维点对之间的仿射变换矩阵H(2行x3列),自由度为6.
  • warpAffine():对输入图像进行仿射变换
  • findHomography: 计算多个二维点对之间的最优单映射变换矩阵 H(3行x3列) ,使用最小均方误差或者RANSAC方法 。
  • getPerspectiveTransform():计算4个二维点对之间的透射变换矩阵 H(3行x3列)
  • warpPerspective(): 对输入图像进行透射变换
  • perspectiveTransform():对二维或者三维矢量进行透射变换,也就是对输入二维坐标点或者三维坐标点进行投射变换。
  • estimateAffine3D:计算多个三维点对之间的最优三维仿射变换矩阵H (3行x4列)
  • transform():对输入的N维矢量进行变换,可用于进行仿射变换、图像色彩变换.
  • findFundamentalMat:计算多个点对之间的基矩阵H。

快速解决:

  • 问题1:如何计算3个二维点对之间的仿射变换矩阵?

答:使用getAffineTransform()。

  • 问题2:如何计算多个二维点对之间的仿射变换矩阵(使用误差最小准则 )?

答:使用estimateRigidTransform()或者findHomography。

  • 问题3:如何计算4个二维点对之间的透射变换?

答:使用getPerspectiveTransform()。

  • 问题4:如何计算多个三维点对之间的仿射变换?

答:使用estimateAffine3D。

  • 问题5:如何对输入图像进行仿射变换?

答:使用warpAffine()。

  • 问题6:如何对输入图像进行透射变换?

答:使用perspectiveTransform()。

  • 问题7:如何对输入的二维点对进行仿射变换?

答:使用transform()。

  • 问题8:如何对输入的三维点对进行投射变换?

答:使用perspectiveTransform()。

posted on 2014-08-15 23:39  wqj1212  阅读(29710)  评论()    收藏  举报