python小乌龟行走轨迹_旋转傻乌龟——几何变换实践|python爬虫|python入门|python教程...

本文介绍了如何使用Python实现一个名为'旋转傻乌龟'的动画,该动画结合了平移、缩放和旋转的几何变换。通过OpenCV库和自定义的矩阵运算,作者详细讲解了平移、缩放和旋转的矩阵表示,并展示了如何用Python进行仿射变换,包括使用OpenCV的`warpAffine`函数和自定义双线性插值方法。
摘要由CSDN通过智能技术生成

https://www.xin3721.com/eschool/pythonxin3721/

这两天新型肺炎病例是指数上升啊!呆在家里没事干,正好想起之前FPGA大赛上有个老哥做了一个图像旋转作品,还在群里发了技术报告。无聊之下就打算学习一下,然后就顺便把平移、旋转、缩放这些几何变换都看了,最后决定把这三个综合起来写个“旋转傻乌龟”的动画。先是用OpenCV内置函数实现了下,感觉不过瘾,又自己写了一遍。老规矩,还是把学过的、做过的东西记录下来!

旋转傻乌龟,效果就是将一只乌龟在窗口中同时进行平移、缩放和旋转,由于最后看起来样子比较傻,因此得名“旋转傻乌龟”。

效果视频:

1|0一、几何变换的矩阵表示

1|11.1 平移的表示

  

 

上图中的三种表示方法第二种是OpenCV要求的方式,但第一种形式表示起来更具统一性,因此我更倾向于第一种。但无论哪一种,都能展开成第三种的形式。第三种非常直观的反映了平移,只是需要注意正负号的选取——在编程中,图像一般以左上角为(0,0)点。这也就是说,建立坐标系的时候,X轴以右正方向,Y轴以下为正方向。以上矩阵表示将图像向右平移x0,向下平移y0,也可以认为是将坐标系向左平移x0,向上平移y0。平移可以形象地表示如下:

    

1|21.2 以左上角为定点缩放的表示

  

  

缩放最容易理解,就是将横纵坐标乘以缩放比例。由于我们以左上角为坐标系原点,所以左上角点的位置并不会变化。

1|31.3 以左上角点为中心旋转的表示

 

在本文中

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值