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()
相关推荐
Mr.Jessy3 小时前
JavaScript高级:构造函数与原型
开发语言·前端·javascript·学习·ecmascript
云栖梦泽5 小时前
鸿蒙应用签名与上架全流程:从开发完成到用户手中
开发语言·鸿蒙系统
哥本哈士奇(aspnetx)5 小时前
Streamlit + LangChain 1.0 简单实现智能问答前后端
python·大模型
爱上妖精的尾巴5 小时前
6-4 WPS JS宏 不重复随机取值应用
开发语言·前端·javascript
我一定会有钱6 小时前
斐波纳契数列、end关键字
python
小鸡吃米…7 小时前
Python 列表
开发语言·python
kaikaile19957 小时前
基于C#实现一维码和二维码打印程序
开发语言·c#
我不是程序猿儿7 小时前
【C#】画图控件的FormsPlot中的Refresh功能调用消耗时间不一致缘由
开发语言·c#
rit84324998 小时前
C# Socket 聊天室(含文件传输)
服务器·开发语言·c#
星依网络8 小时前
yolov5实现游戏图像识别与后续辅助功能
python·开源·游戏程序·骨骼绑定