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()
相关推荐
坐吃山猪1 分钟前
Python20_MCP添加鉴权
开发语言·python
Greyson13 分钟前
如何通过Vagrant快速建库_自动化虚拟机Oracle部署方案
jvm·数据库·python
西西弗Sisyphus6 分钟前
Python 闭包实现的计数器,每调用一次就 +1,多个计数器之间互不干扰
python·闭包·closure
Wyz201210248 分钟前
HTML函数运行时触控屏失灵是硬件故障吗_输入层兼容性测试【详解】
jvm·数据库·python
jiguanghover12 分钟前
python 更新Obsidian
python
Greyson115 分钟前
TensorFlow中如何冻结模型层_设置layer.trainable等于False实现微调
jvm·数据库·python
m0_7488394916 分钟前
SQL视图在ETL流程中的作用_数据清洗与标准化接口
jvm·数据库·python
2401_8326355817 分钟前
JavaScript中字符串toLowerCase与toUpperCase规范
jvm·数据库·python
龙腾AI白云18 分钟前
大模型微调进阶:多任务微调实战
python·机器学习·逻辑回归·pygame
gihigo199818 分钟前
分布式发电的配电网有功-无功综合优化 MATLAB 实现
开发语言·分布式·matlab