OpenCV仿射变换+投射变换+单应性矩阵
2015-07-15 14:36
1056 查看
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()。
转自http://blog.csdn.net/godenlove007/article/details/9364971
相关文章推荐
- linux Makefile obj-m obj-y
- opencv从摄像头读写视频文件
- Tomcat控制台窗口鼠标滚动和日志转存为文件
- Linux Shell 流程控制语句
- hadoop安装常见问题
- apache 建立和个人网站配置
- linux LCD调试
- 架构师之路---IoC框架
- Nginx站点搭建和自定义日志文件
- Linux下查看CPU型号,内存大小,硬盘空间命令
- hadoop集群扩展
- apache性能配置优化
- apache性能配置优化
- libcurl中curl_easy_setopt()和curl_easy_perform()函数使用中文详解
- Apache error
- 【Linux管理】用户管理
- Apache资源gzip压缩
- 【Linux管理】用户管理
- tomcat向weblogic移植出现的问题系列 - session丢失问题
- Apache通过rewrite实现,url后追加“/”