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 进行还原

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

旋转结果

相关推荐
K姐研究社1 小时前
怎么用AI制作电商口播视频,开拍APP一键生成
人工智能·音视频
LaughingZhu1 小时前
Product Hunt 每日热榜 | 2026-05-21
前端·人工智能·经验分享·chatgpt·html
传说故事2 小时前
【论文阅读】MotuBrain: An Advanced World Action Model for Robot Control
论文阅读·人工智能·具身智能·wam
北京耐用通信2 小时前
全域适配工业场景耐达讯自动化Modbus TCP 转 PROFIBUS 网关轻松实现以太网与现场总线互通
网络·人工智能·网络协议·自动化·信息与通信
火山引擎开发者社区2 小时前
TRAE × 火山引擎 Supabase:为你的 AI 应用装上“数据引擎”
人工智能
小a彤3 小时前
GE 在 CANN 五层架构中的位置
人工智能·深度学习·transformer
前端若水3 小时前
会话管理:创建、切换、删除对话历史
前端·人工智能·python·react.js
Upsy-Daisy3 小时前
AI Agent 项目学习笔记(八):Tool Calling 工具调用机制总览
人工智能·笔记·学习
企学宝3 小时前
企学宝5月专题课程丨《OpenClaw AI 智能体实战营:从零基础部署到全场景自动化落地》
人工智能·ai·企业培训
冬奇Lab4 小时前
让 AI Agent 更可靠:Harness Engineering 与多 Agent 系统工程实践
人工智能·llm·agent