在OpenCV中图像旋转首先根据旋转角度和旋转中心获取旋转矩阵,然后根据旋转矩阵进行变换,即可实现任意角度和任意中心的旋转效果。

 cv2.getRotationMatrix2D(center, angle, scale)
  • center:旋转中心
  • angle:旋转角度
  • scale:缩放比例

M:旋转矩阵

调用cv.warpAffine完成图像的旋转

import cv2 as cv
import matplotlib.pyplot as plt# 1 读取图像
img = cv.imread("1.png")# 2 图像旋转
rows, cols = img.shape[:2]# 2.1 生成旋转矩阵
M = cv.getRotationMatrix2D((cols/2, rows/2), 90, 1)  # 以图形的正中心作为旋转中心,旋转90°# 2.2 进行旋转变换
dst1 = cv.warpAffine(img, M, (cols, rows))M = cv.getRotationMatrix2D((cols/2, rows/2), 45, 0.5) # 旋转45°,缩小为原图的二分之一
dst2 = cv.warpAffine(img, M, (cols, rows))  # 调用warpAffine()函数完成图片旋转# 3 图像展示
fig,axes=plt.subplots(nrows=1, ncols=3, figsize=(10, 8), dpi=100)
axes[0].imshow(img[:, :, ::-1])
axes[0].set_title("原图")
axes[1].imshow(dst1[:, :, ::-1])
axes[1].set_title("旋转后90°结果")
axes[2].imshow(dst2[:, :, ::-1])
axes[2].set_title("旋转后45°结果")
plt.show()

OpenCV 图像旋转相关推荐

  1. python opencv 图像旋转

    python opencv 图像旋转 原图 顺时针旋转 代码: import cv2 path = '2.jpg' img = cv2.imread(path,1) trans_img = cv2.t ...

  2. OpenCV图像旋转,指定填充背景颜色边界颜色

    OpenCV图像旋转,指定填充背景颜色边界颜色 OpenCV与图像旋转有关的函数: (1)warpAffine函数 void cv::warpAffine ( InputArray  src,     ...

  3. OpenCV:OpenCV图像旋转的代码

    OpenCV图像旋转的代码 cv::transpose( bfM, bfM ) 前提:使用两个矩阵Mat型进行下标操作是不行的,耗费的时间太长了.直接使用两个指针对拷贝才是王道.不知道和OpenCV比 ...

  4. OpenCV 图像旋转、平移、缩放

    本文是 OpenCV图像视觉入门之路的第7篇文章,本文详细的进行了图像的缩放 cv2.resize().旋转 cv2.flip().平移 cv2.warpAffine()等操作. OpenCV 图像旋 ...

  5. 经验 | OpenCV图像旋转的原理与技巧

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文转自|OpenCV学堂 01 引言 初学图像处理,很多人遇到的 ...

  6. OpenCV图像旋转的原理与技巧

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 转自|OpenCV学堂 01 引言 初学图像处理,很多人遇到的第一 ...

  7. opencv 图像旋转_用Dlib和OpenCV还能做什么?这个开源项目实现了驾驶员疲劳检测...

    Dlib 和 OpenCV 这两个库已经在深度学习和人脸识别领域逐渐有了自己的一席之地,基于它们的各种开源项目的越来越多,今天 Gitee 上这个开源项目也是基于 Dlib 和 OpenCV 的,具体 ...

  8. opencv图像旋转和翻转,cv2.flip,cv2.rotate

    目录 翻转图像 图像旋转 翻转图像 opencv中使用cv2.filp可以实现图像翻转 def flip(src, flipCode, dst=None) src:输入图像 flipCode:flip ...

  9. OpenCV图像旋转(cv::rotate)与镜像(cv::flip)

    1.概述 案例:使用OpenCV实现图像的旋转和镜像操作 所用函数:这里主要使用到了两个函数 1.旋转:cv::rotate 2.镜像:cv::flip rotate(InputArray src, ...

最新文章

  1. KOAProgressBar
  2. 对标Oculus Quest2,爱奇艺奇遇VR打的什么牌?
  3. 倒计时 4 天!高通人工智能应用创新大赛颁奖典礼线上隆重举行
  4. 美国本科计算机专业,美国本科计算机专业的最新排名介绍
  5. 【Boost】boost库asio详解1——io_service::run函数无任务时退出的问题
  6. android ndk怎样加载o文件_在Android中使用TFLite c++部署
  7. java that关键字_Java中this关键字的几种用法
  8. html表格宽度设置相同,我如何使HTML表格的宽度与其包含的div标签相同?
  9. informix使用得一些小常识
  10. 新媒体营销方式的优势
  11. Linux--内核版本和发行版本
  12. java嵌套for循环基础练习 -班级平均分
  13. H.264中NALU、RBSP、SODB的关系 (弄清码流结构)
  14. SSM根据上传文件获取视频文件时长
  15. Swift创作天气APP
  16. 国内邮箱免费邮箱注册哪个好?
  17. c++中子类调用父类方法的方法
  18. linux进程间通信有kindle版的,计算机网络6寸pdf适合kindle-1.pdf
  19. Python深度学习-Data Augmentation:使用Augly库进行图片数据增强
  20. OpenStack没落了吗?

热门文章

  1. 如何把讨厌的人踢出局域网(kickthemout)
  2. MySQL多实例的安装
  3. PYTHON黑帽编程 4.1 SNIFFER(嗅探器)之数据捕获(下)
  4. vs shortcut
  5. Distributed Systems-leader based分布式一致性协议
  6. 【资源汇总分享】Android开发资源汇总之一
  7. 我学Delphi心得及笔记----字符串操作(第六讲)
  8. 单网卡部署WEB+Mail+FTP+ISA服务器之四:局域网内部署FTP和winwebmail服务器
  9. Smarty变量调节器的使用
  10. Android Support v4、v7、v13 介绍