Python Opencv实践 - 图像旋转

复制代码
import cv2 as cv
import numpy as np
import matplotlib.pyplot as plt

img = cv.imread("../SampleImages/pomeranian.png", cv.IMREAD_COLOR)

#图像旋转
#Opencv中的旋转,首先通过cv.getRotationMatrix2D获得旋转矩阵
#cv.getRotationMatrix2D(center,angle,scale)
#center是旋转中心点,angle是旋转角度,scale是缩放比例
#参考资料:https://blog.csdn.net/qq_44109682/article/details/117434461
rows,cols = img.shape[:2]
M = cv.getRotationMatrix2D((cols/2,rows/2),45,1)

#然后用得到的旋转矩阵作为放射变换的M矩阵即可
#cv.warpAffine(src, M, dsize[, dst[, flags[, borderMode[, borderValue]]]])
# dsize是输出图像的大小,(宽度,高度),宽度是列数,高度是行数
#参考资料:https://blog.csdn.net/Gaowang_1/article/details/103128590
img_rotated = cv.warpAffine(img, M, (cols,rows))

fig,axes = plt.subplots(nrows=1, ncols=2, figsize=(10,10),dpi=100)
axes[0].imshow(img[:,:,::-1])
axes[0].set_title("Original")
axes[1].imshow(img_rotated[:,:,::-1])
axes[1].set_title("Rotated")
plt.show()
相关推荐
倔强青铜三几秒前
苦练Python第12天:函数三板斧,def、return、参数
人工智能·python·面试
倔强青铜三9 分钟前
苦练Python第11天:循环控制——break、continue 和 pass
人工智能·python·面试
chao_78913 分钟前
Selenium 操作表单选择控件【selenium】
运维·python·selenium·测试工具·自动化
Kiri霧35 分钟前
Noting
android·开发语言·kotlin
武昌库里写JAVA38 分钟前
使用 Java 开发大数据应用:Hadoop 与 Java API 的结合
java·开发语言·spring boot·学习·课程设计
贝塔西塔44 分钟前
PySpark中python环境打包和JAR包依赖
大数据·开发语言·python·spark·jar·pyspark
8Qi81 小时前
Win11系统安装Anaconda环境极简教程
人工智能·python·conda
404未精通的狗1 小时前
(C++)STL:list认识与使用全解析
开发语言·c++·list
苏克贝塔1 小时前
Qt 图形视图框架4-动画、碰撞检测和图形项组
开发语言·qt
喜欢吃豆1 小时前
深入企业内部的MCP知识(四):FastMCP装饰器与类方法:正确结合面向对象与MCP组件的实践指南
人工智能·python·大模型·mcp