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()
相关推荐
武超杰4 分钟前
Spring 纯注解配置全解析(进阶版)
java·开发语言
机器视觉知识推荐、就业指导6 分钟前
LVGL真能动摇Qt的地位吗?
开发语言·qt·系统架构
add45a8 分钟前
C++代码移植性设计
开发语言·c++·算法
平常心cyk8 分钟前
Python基础快速复习——集合和字典
开发语言·数据结构·python
阿钱真强道9 分钟前
34 Python 离群点检测:什么是离群点?为什么要做异常检测?
python·sklearn·异常检测·异常·离群点检测
AC赳赳老秦11 分钟前
OpenClaw关键词挖掘Agent配置(附SOP脚本,可直接复制使用)
java·大数据·开发语言·人工智能·python·pygame·openclaw
qq_4160187213 分钟前
数据分析与科学计算
jvm·数据库·python
qq_1481153713 分钟前
分布式系统容错设计
开发语言·c++·算法
leo__52015 分钟前
MATLAB高斯背景建模与目标提取(人体检测)
开发语言·人工智能·matlab
m0_5603964715 分钟前
C++中的享元模式
开发语言·c++·算法