前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >OpenCV这么简单为啥不学——1.6、图像旋转与翻转(rotate函数、imutils环境安装、imutils任意角度旋转)

OpenCV这么简单为啥不学——1.6、图像旋转与翻转(rotate函数、imutils环境安装、imutils任意角度旋转)

作者头像
红目香薰
发布2023-02-10 11:08:59
9710
发布2023-02-10 11:08:59
举报
文章被收录于专栏:CSDNToQQCode

OpenCV这么简单为啥不学——1.6、图像旋转与翻转(rotate函数、imutils环境安装、imutils任意角度旋转)


目录

OpenCV这么简单为啥不学——1.6、图像旋转与翻转(rotate函数、imutils环境安装、imutils任意角度旋转)

前言

图像旋转与翻转

图像旋转

rotate函数语法

rotate函数参数说明

实例代码

imutils环境安装

逆时针旋转33度

图像翻转

图像上下翻转

图像左右翻转

图像上下左右翻转

总结


前言

计算机视觉市场巨大而且持续增长,且这方面没有标准API,如今的计算机视觉软件大概有以下三种:

1、研究代码(慢,不稳定,独立并与其他库不兼容) 2、耗费很高的商业化工具(比如Halcon, MATLAB+Simulink) 3、依赖硬件的一些特别的解决方案(比如视频监控,制造控制系统,医疗设备)这是如今的现状,而标准的API将简化计算机视觉程序和解决方案的开发,OpenCV致力于成为这样的标准API。

OpenCV致力于真实世界的实时应用,通过优化的C代码的编写对其执行速度带来了可观的提升,并且可以通过购买Intel的IPP高性能多媒体函数库(Integrated Performance Primitives)得到更快的处理速度。

故而我们选择学习OpenCV,我们来一步步的学习OpenCV。


图像旋转与翻转

图像旋转

rotate函数语法

rotate(src, rotateCode, dst=None)

rotate函数参数说明

src:输入图像 rotateCode:翻转角度,3种选择,90度,180度,270度 dst:输出图像

实例代码

代码语言:javascript
复制
import cv2

img = cv2.imread('800_600.jpg')
img = cv2.resize(img, None, fx=0.7, fy=0.7)

# 平移 3种旋转,使用cv2.ROTATE_参数进行选择
# 顺时针90度
demo1 = cv2.rotate(img, cv2.ROTATE_90_CLOCKWISE)
# 顺时针270度
demo2 = cv2.rotate(img, cv2.ROTATE_90_COUNTERCLOCKWISE)
# 顺时针180度
demo3 = cv2.rotate(img, cv2.ROTATE_180)

cv2.imshow('base', img)
cv2.imshow('demo1', demo1)
cv2.imshow('demo2', demo2)
cv2.imshow('demo3', demo3)
cv2.waitKey(0)
cv2.destroyAllWindows()

旋转效果

imutils环境安装

pip install imutils

逆时针旋转33度

代码语言:javascript
复制
import cv2
import imutils
img = cv2.imread('800_600.jpg')
img = cv2.resize(img, None, fx=0.7, fy=0.7)

demo1 = imutils.rotate_bound(img, -33)

cv2.imshow('base', img)
cv2.imshow('demo1', demo1)
cv2.waitKey(0)
cv2.destroyAllWindows()

旋转效果:

图像翻转

图像上下翻转

代码语言:javascript
复制
import cv2

image = cv2.imread('800_600.jpg')

dst = cv2.flip(image, 0)

cv2.imshow("image", image)
cv2.imshow("res2", dst)

cv2.waitKey(0)
cv2.destroyAllWindows()

核心代码

dst = cv2.flip(image, 0) 

图像左右翻转

代码语言:javascript
复制
import cv2

image = cv2.imread('800_600.jpg')

dst = cv2.flip(image, 1)

cv2.imshow("image", image)
cv2.imshow("res2", dst)

cv2.waitKey(0)
cv2.destroyAllWindows()

核心代码

dst = cv2.flip(image, 1)

图像上下左右翻转

代码语言:javascript
复制
import cv2

image = cv2.imread('800_600.jpg')

dst = cv2.flip(image, -1)

cv2.imshow("image", image)
cv2.imshow("res2", dst)

cv2.waitKey(0)
cv2.destroyAllWindows()

核心代码

dst = cv2.flip(image, -1)

总结

旋转与翻转操作是非常多的,我们很多时候都会需要这个功能,为了方便查询都放在这个文章中了,后续有其它旋转的方法我也都放进来,查询起来方便、快捷、高效。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-02-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • OpenCV这么简单为啥不学——1.6、图像旋转与翻转(rotate函数、imutils环境安装、imutils任意角度旋转)
  • 前言
  • 图像旋转与翻转
    • 图像旋转
      • rotate函数语法
      • rotate函数参数说明
      • 实例代码
    • imutils环境安装
      • 逆时针旋转33度
    • 图像翻转
      • 图像上下翻转
      • 图像左右翻转
      • 图像上下左右翻转
    • 总结
    相关产品与服务
    图像处理
    图像处理基于腾讯云深度学习等人工智能技术,提供综合性的图像优化处理服务,包括图像质量评估、图像清晰度增强、图像智能裁剪等。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档