单应矩阵与透视变换矩阵
来源:互联网 发布:java 泛型参数 编辑:程序博客网 时间:2024/04/28 06:52
透视变换矩阵与单应矩阵
1. 单应矩阵
单应矩阵Wikipedia定义为:
In the field of computer vision, any two images of the same planar surface in space are related by a homography (assuming a pinhole camera model).
在计算机视觉领域,空间同一平面的任意两幅图像被单应矩阵联系着(假设在针孔相机模型中),即一个相机拍摄空间同一平面的两张图像,这两张图像之间的映射关系可以用单应矩阵表示。
在两视几何中,也可以这样理解,两架相机拍同一空间上得到两幅图像A、B,其中图像A到图像B存在一种变换,而且这种变换是一一对应的关系,这个变换矩阵用单应矩阵表示1.
OpenCV中可以用函数findHomography
计算得到单应矩阵H。
2. 透视变换矩阵
透视变换矩阵(Perspective Transformation Mat),也称为投影映射矩阵(Porjective Mapping Mat),透视变换保持直线性,仿射变换是透视变换的一种特殊情况(仿射变换保持平行性).
OpenCV中可以用函数getPerspectiveTransform
计算得到投影矩阵P
3. OpenCV中相关变换矩阵:
转载自原文
1. estimateRigidTransform():计算多个二维点对或者图像之间的最优仿射变换矩阵 (2行x3列),H可以是部分自由度,比如各向一致的切变。
2. getAffineTransform():计算3个二维点对之间的仿射变换矩阵H(2行x3列),自由度为6.
3. warpAffine():对输入图像进行仿射变换
4. findHomography: 计算多个二维点对之间的最优单映射变换矩阵 H(3行x3列) ,使用最小均方误差或者RANSAC方法 。
5. getPerspectiveTransform():计算4个二维点对之间的透射变换矩阵 H(3行x3列)
6. warpPerspective(): 对输入图像进行透射变换
7. perspectiveTransform():对二维或者三维矢量进行透射变换,也就是对输入二维坐标点或者三维坐标点进行投射变换。
8. estimateAffine3D:计算多个三维点对之间的最优三维仿射变换矩阵H (3行x4列)
9. transform():对输入的N维矢量进行变换,可用于进行仿射变换、图像色彩变换.
10. findFundamentalMat:计算多个点对之间的基矩阵H。
快速解决:
问题1:如何计算3个二维点对之间的仿射变换矩阵?
答:使用getAffineTransform()。问题2:如何计算多个二维点对之间的仿射变换矩阵(使用误差最小准则 )?
答:使用estimateRigidTransform()或者findHomography。问题3:如何计算4个二维点对之间的透射变换?
答:使用getPerspectiveTransform()。问题4:如何计算多个三维点对之间的仿射变换?
答:使用estimateAffine3D。问题5:如何对输入图像进行仿射变换?
答:使用warpAffine()。问题6:如何对输入图像进行透射变换?
答:使用perspectiveTransform()。问题7:如何对输入的二维点对进行仿射变换?
答:使用transform()。问题8:如何对输入的三维点对进行投射变换?
答:使用perspectiveTransform()。
- http://blog.csdn.net/LIYUAN123ZHOUHUI/article/details/52024266 ↩
- 单应矩阵与透视变换矩阵
- 透视变换矩阵(单应矩阵)计算:findHomography 与 getPerspectiveTransform
- 摄像机模型 坐标变换 单应矩阵资料
- Homography单应矩阵
- 单应矩阵
- 单应矩阵分解
- Homography单应矩阵
- 单应矩阵,基本矩阵,本质矩阵
- 单应矩阵 基本矩阵 本质矩阵的区别与联系
- 单应矩阵 基本矩阵 本质矩阵的区别与联系
- 单应矩阵 基本矩阵 本质矩阵的区别与联系
- 单应矩阵 基本矩阵 本质矩阵的区别与联系
- 单应矩阵Homography介绍
- 单应矩阵Homography求解
- 软件光栅器三之世界矩阵,相机变换矩阵,透视投影矩阵,透视除法,视口变换矩阵
- 坐标系与变换矩阵
- 矩阵与变换
- 坐标系与变换矩阵
- MySQL 分区表
- 学习php自行开发MVC框架过程(四)
- PHP_MVC入库文件_自动加载
- 语音特征参数MFCC提取过程详解
- 459. Repeated Substring Pattern
- 单应矩阵与透视变换矩阵
- 将java程序添加到linux系统中
- Unity Shader学习笔记(三) 基础知识(语义、属性等)详解
- 对于已建立好的tekla图纸 我怎么知道图纸中每个工件属于哪个object类?
- 前端页面布局常见的兼容性问题和解决方法
- 网上的好文章:C++ vector容器类型及初始化方法
- YOLO源码详解(五)-追本溯源7*7个grid
- mysql存储过程
- HTTPS中的加密算法相关概念