当前位置:网站首页>opencv透视变化
opencv透视变化
2022-08-03 05:23:00 【纸鸢805】
1. 概念:
仿射变换(affine transform)与透视变换(perspective transform)在图像还原、图像局部变化处理方面有重要意义。通常,在2D平面中,仿射变换的应用较多,而在3D平面中,透视变换又有了自己的一席之地。两种变换原理相似,结果也类似,可针对不同的场合使用适当的变换。 仿射变换和透视变换的数学原理不需深究,在应用层面,仿射变换是图像基于3个固定顶点的变换。
2. findHomography函数 (找到两个平面之间的变换矩阵)
findHomography: 计算多个二维点对之间的最优单映射变换矩阵 H(3行x3列) ,使用最小均方误差或者RANSAC方法。函数功能:找到两个平面之间的变换矩阵。
参数:
Mat cv::findHomography ( InputArray srcPoints,
InputArray dstPoints,
int method = 0,
double ransacReprojThreshold = 3,
OutputArray mask = noArray(),
const int maxIters = 2000,
const double confidence = 0.995
)
实例:
//前方视图
vector<Point2f> objq;
objq.push_back(Point2f(0, 0));
objq.push_back(Point2f(700, 0));
objq.push_back(Point2f(430, 230));
objq.push_back(Point(265, 230));
//计算得到转换映射矩阵 3*3
Mat res = findHomography(obj,objq, CV_RANSAC);
3. warpPerspective函数
void warpPerspective(InputArray src,
OutputArray dst, InputArray M,
Size dsize, int flags=INTER_LINEAR,
int borderMode=BORDER_CONSTANT,
const Scalar& borderValue=Scalar())
warpPerspective参数说明:
src – 输入图像 dst – 大小为dsize且类型与src相同的输出图像
M – 3×3变换矩阵 dsize – 输出图像的大小
//透视转换 上面的实例搭配使用
warpPerspective(img1, dst, res, dst.size());
边栏推荐
猜你喜欢
icebreaker的垃圾话学习指南
Leetcode刷题——一些用层次遍历解决的问题(111. 二叉树的最小深度、104. 二叉树的最大深度、226. 翻转二叉树、剑指 Offer 27. 二叉树的镜像)
【Arduino】关于“&”和“|” 运算-----多个参数运算结果异常的问题解决
NFT租赁提案EIP-5006步入最后审核!让海外大型游戏的链改成为可能
Sqli-labs-master shooting range 1-23 customs clearance detailed tutorial (basic)
亲身分享一次 字节跳动 真实面试经历和面试题
Kettle 从资源库中载入新的转换出错(Invalid byte 1 of 1-byte UTF-8 sequence)
Haproxy服务监控
对页码的使用总结
滚动条 scrollbar 和scrollbar-thumb 样式
随机推荐
3588. 排列与二进制
pta a.1003 的收获
Django从入门到放弃三 -- cookie,session,cbv加装饰器,ajax,django中间件,redis缓存等
ansible的安装和部署详细过程,配置清单基本操作
联邦学习摘录
嵌入式实验二注意点
当我们在看Etherscan的时候,到底在看什么?
Sqli-labs-master shooting range 1-23 customs clearance detailed tutorial (basic)
该描述怎么写成SQL语句
Go (一) 基础部分2 -- if条件判断,for循环语句
中国生物反应器行业发展现状及前景规划分析报告报告2022~2028年
Invalid signature file digest for Manifest main attributes解决方法
网卡软中断过高问题优化总结
【DC-2靶场渗透】
【 Nmap and Metasploit common commands 】
优雅的拦截TabLayout的点击事件
7.17(7)
关于如何向FastAPI的依赖函数添加参数
【命令执行与中间件漏洞】
令人愉快的 Nuxt3 教程 (二): 快速轻松地搭建博客