opencv旋转图像

0 、使用旋转矩阵旋转

python 复制代码
import cv2

img = cv2.imread('img.jpg', 1)
(h, w) = img.shape[:2] # 获取图像的宽和高

# 定义旋转中心坐标
center = (w / 2, h / 2)

# 定义旋转角度
angle = 90

# 定义缩放比例
scale = 1

# 获得旋转矩阵
M = cv2.getRotationMatrix2D(center, angle, scale)

# 进行旋转操作
result = cv2.warpAffine(img, M, (w, h))

# 显示旋转后的图片
cv2.imshow('result', result)

# 按下任意键退出
cv2.waitKey(0)
cv2.destroyAllWindows()

注:该方法旋转结果并不会对图像大小发生改变。

原图:

旋转结果:

1、通过转置反转进行旋转,该方法只能旋转90°的整数倍

python 复制代码
import  cv2
def cv_img_rotate(img,t=1):
    # 旋转 t=1 90° t=0 180°  t=-1 -90°
    if t == 1 :
        # 顺时针90度
        img = cv2.transpose(img)
        img = cv2.flip(img, 1)
    elif t == 0:
        # 顺时针180度
        img = cv2.flip(img, 1)
        img = cv2.flip(img, 0)
    elif t == -1:
        # 逆时针90°
        img = cv2.flip(img, 1)
        img = cv2.transpose(img)
    return img

img = cv2.imread('img.jpg', 1)
# 显示原始图片
cv2.imshow('img', img)
# 按下任意键退出
cv2.waitKey(0)
# 旋转图像
img = cv_img_rotate(img,t=1)
# 显示旋转后的图片
cv2.imshow('result', img)

# 按下任意键退出
cv2.waitKey(0)
cv2.destroyAllWindows()
# 这里使用了 1 -1 0 主要是可以在反转回原图时可以直接使用 -t 进行还原

该方法可以理解为整个旋转了图像。

旋转结果

相关推荐
IT_陈寒5 分钟前
SpringBoot自动配置的坑差点让我加班到天亮
前端·人工智能·后端
www_comsci6 分钟前
【生物EI会议】2026年计算机技术与生物医学国际学术会议(CTBS 2026)
图像处理·神经网络·计算机视觉
亿信华辰软件8 分钟前
睿治Agent数据治理平台重磅发布:数据治理大脑+全栈Agent,以AI重构数据治理全流程
大数据·人工智能
源码老李10 分钟前
独立游戏AI音乐指南:用Suno AI让游戏拥有灵魂
人工智能·游戏·ai编程
:mnong24 分钟前
AI 编程理论与实践 — 课程大纲
人工智能
Luca_kill28 分钟前
深度解析 DeerFlow:字节跳动开源的长时程 AI 超级智能体架构
人工智能·智能体·大模型应用·ai架构·deerflow
PNP Robotics39 分钟前
领军军者|PNP机器人包文涛:以具身智能定义机器人的“生命直觉”
人工智能·深度学习·学习·机器学习·机器人
stereohomology44 分钟前
2026年人工智能技术趋势浅度解析
人工智能
2601_958320571 小时前
【小白易懂版】OpenClaw 飞书机器人绑定配置详细教程(含安装包)
人工智能·机器人·飞书·open claw·小龙虾·open claw安装
AI创界者1 小时前
《2026 视觉革命:深度测评 GPT-Image-2,基于 DMXAPI 实现 4K 超分与批量生图实战》
人工智能