opencv 图像旋转 cv2.rotate和np.rot90案例精讲

OpenCV 方法

OpenCV 中带有一个旋转图像的函数 cv2.rotate

rotate(src, rotateCode[, dst]) -> dst
参数:
src:输入图像
rotateCode:旋转方式
1、cv2.ROTATE_90_CLOCKWISE:顺时针 90 度
2、cv2.ROTATE_180:顺时针 180 度
3、cv2.ROTATE_90_COUNTERCLOCKWISE:顺时针 180 度 或者 逆时针 90 度
dst:输出的结果

OpenCV 实现程序如下:

import numpy as np
import cv2
 
img = cv2.imread("meinv.jpg")
 
rotate_90_cv = cv2.rotate(img, cv2.ROTATE_90_CLOCKWISE)
rotate_180_cv = cv2.rotate(img, cv2.ROTATE_180)
rotate_270_cv = cv2.rotate(img, cv2.ROTATE_90_COUNTERCLOCKWISE)
 
cv2.imshow("img", img)
cv2.imshow("rotate_90_cv", rotate_90_cv)
cv2.imshow("rotate_180_cv", rotate_180_cv)
cv2.imshow("rotate_270_cv", rotate_270_cv)
cv2.waitKey(0)
cv2.destroyAllWindows()

opencv 图像旋转 cv2.rotate和np.rot90案例精讲

numpy 方法

numpy 中也提供一种旋转图像或者矩阵的方法 np.rot90 顾名思义就是选择多少个 90 度,与 OpenCV 中实现不同的是,numpy 的这个函数是逆时针旋转的,其函数说明如下:

np.rot90(m, k=1, axes=(0, 1))
参数:m:输入的矩阵或者图像
k:逆时针旋转多少个 90 度,k 取 0、1、2、3 分别对应逆时针旋转 0 度、90 度、180 度、270 度
axes:选择两个维度进行旋转

一个简单示例如下:

546e2fc443a76c6c600891d3de67df65.png
numpy 实现程序如下:

import numpy as np
import cv2
 
img = cv2.imread("Rc8gJko9yb71al.jpg")
 
 
rot_90 = np.rot90(img, 1)
rot_180 = np.rot90(img, 2)
rot_270 = np.rot90(img, 3)
 
 
cv2.imshow("img", img)
cv2.imshow("rot_90", rot_90)
cv2.imshow("rot_180", rot_180)
cv2.imshow("rot_270", rot_270)
cv2.waitKey(0)
cv2.destroyAllWindows()

opencv 图像旋转 cv2.rotate和np.rot90案例精讲

125jz网原创文章。发布者:江山如画,转载请注明出处:http://www.125jz.com/11187.html

(0)
江山如画的头像江山如画管理团队
上一篇 2022年12月1日 下午1:57
下一篇 2022年12月23日 上午9:59

99%的人还看了以下文章

  • Python安装-小白图文教程(精)

    python优点 python非常简单,易学。 python虽然是用c语言写的,但是它摈弃了c中非常复杂的指针,简化了python的语法。 Python程序无需修改就可以在任何平台上面运行。 Python既支持面向过程的函数编程也支持面向对象的抽象编程。 你可以把你的部分程序用C或C++编写,然后在你的Python程序中使用它们。你可以把Python嵌入你的…

    2019年3月15日 编程开发
    6.6K1
  • 如何设计有新意的精美网页?

    经常制作网页,可是没有新意且面目雷同或似曾相识。如何制作生动、活泼又充满新意的网页?那就好好看看设计大师的作品吧,拟物,创作的灵感来源于生活!

    2019年10月5日 网页设计
    4.0K0
  • 移动端web app和页面开发使用什么字体?微软雅黑?

    一直不清楚移动端web app和页面用的什么字体,只是觉得类似微软雅黑,直到有一次设计师问到设计移动web页面该用什么字体才严肃地想起这个问题。 三大手机系统IOS、android、winphone支持的字体 ios 系统 默认中文字体是Heiti SC 默认英文字体是Helvetica 默认数字字体是HelveticaNeue 无微软雅黑字体 androi…

    2019年4月9日
    13.0K0
  • Double.valueOf(r).doubleValue();是什么意思

    在一段代码中看到Double.valueOf(“2020”).doubleValue(),先出现了Double.valueOf(),又用了doubleValue(),有点迷惑,为什么这么用呢? <% String s=request.getParameter(“radius”); double r; if(s!=null) {r…

    2019年9月5日
    7.1K0
  • 网页设计色彩搭配:红色

    标准红色的RGB值分别是255、0、0。红色在网络上出现的频率可以说是比较高的,无论是传达吉庆的信息还是商业上的应用,是一种极具有表现力的色彩。 红色容易让人联想到太阳、热血、婚姻、喜庆,给人的感觉当然富有吉祥、吉祥、活力、激动、火暴等寓意。 如图所示: 图 红色基调 红色的波长最长,穿透力最强,感知度也最高。 它经常用来表现太阳、火焰、热血、花卉等,具有积…

    2021年2月4日 网页设计
    7.4K0
  • 网页设计之前端开发工具和学习资源大全(精)

    前端文档 MDN 官方文档:https://developer.mozilla.org/zh-CN/docs/Web 前端社区 GitHub stackoverflow 掘金 JS 学习资源 现代 JavaScript 教程:https://zh.javascript.info/ 阮一峰 JS教程:https://wangdoc.com/javascript…

    2023年1月18日
    2.5K0

发表回复

登录后才能评论