opencv实现三重点_关于Image Warping的理解与实现

本文总结了图像处理与图像识别课程的课后作业,详细介绍了正向变换(Forward Warping)和反向变换(Inverse Warping)的原理及区别,并通过OpenCV的getAffineTransform和invertAffineTransform函数探讨了在图像变形中的应用。文中还分析了正向变换可能出现的空洞和像素重叠问题,以及反向变换如何避免这些问题。最后,提供了相关函数的实现细节和参考资料。
摘要由CSDN通过智能技术生成

88137c11a07ed802d8f9f6a43a6da254.png

第一次在知乎写文章,操作不是很熟练,把写好的markdown文件直接导入后发现会出现排版错乱的问题,索性将markdown的内容直接粘贴过来再调整格式。要是有大佬知道怎么解决这个问题请赐教。废话不多说,直接上正文。

本文是在完成图像处理与图像识别课程第六次作业过程中的一些知识点总结,主要包括以下两部分:

  • 课后作业
  • 两图看懂Forward Warping和Inverse Warping
  • OpenCV的相关实现

下文中编程题用到的代码和代码运行结果已经上传到Github中,仅供参考。

一.课后作业

1.证明题

证明:仿射变换(Affine Transformation)中平行线变换后仍然是平行线。

AB∥CD,A′,B′,C′,D′分别是A,B,C,D经过某个仿射变换后的像。假设A′B′C′D'不平行,则由于它们在同一个平面上,因此它们有公共点P′,所以点P′的原像P既在直线AB上,又在直线CD上。这与AB∥CD的前提矛盾,因此A′B′∥C′D′

2.编程题

通过实验对比正向变换(Forward warping)与反向变换(inverse warping)对图像变形/扭曲(Image warps)结果的不同,且总结正向变换的缺点可能有哪些。

注:pts1 = np.float32([[50,50],[200,50],[50,200]]),pts2 = np.float32([[10,100],[200,50],[100,250]]),以pts1->pts2的变换矩阵为对lena.jpg扭曲所需的变换关系。


下图为正向

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值