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()
相关推荐
l1t5 分钟前
DeepSeek总结的使用实体-组件-系统和基于存在性处理进行Python编程18-20
开发语言·python
磊 子12 分钟前
STL之deque和list以及两者与vector的对比
开发语言·c++·list
零梦ing12 分钟前
Claude Code 升级后 DeepSeek API 报错 messages[x].role: unknown variant system 终极解决方案
python·claude code·deepseek api 代理
凤山老林13 分钟前
DDD(领域驱动设计)在复杂业务系统中的落地指南
java·开发语言·数据库·ddd·领域驱动
凯瑟琳.奥古斯特24 分钟前
子查询原理与实战案例解析
开发语言·数据库·职场和发展·数据库开发
Eiceblue26 分钟前
Python 操作 Excel:数据分组、分类汇总与取消分组全解
开发语言·python·excel
山上三树27 分钟前
C/C++ 高频报错速查表(开发通用版)
c语言·开发语言·c++
Tian_Hang34 分钟前
Factory Method | 工厂方法
开发语言·c++
椰椰气泡35 分钟前
CCD照片导出后模糊怎么办?AI清晰度修复实测教程
图像处理·人工智能·数码相机
wearegogog12343 分钟前
基于MATLAB实现雷达RCS Swerling模型
开发语言·matlab