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%的人还看了以下文章

  • 网页制作中表单的设计及优化方法

    表单是网页制作中常用的元素,本文会探讨表单设计的注意事项。但这些只是通用规范,每条准则总有特殊情况。 表单应该只有一列 多列布局会扰乱用户垂直方向的视线移动。 把标签放到顶部 顶部标签的表单比左侧标签有更高的完成率。顶部标签的表单也易于移植到移动端。但是,对于有多种选择项的大量数据列表而言,请考虑使用左侧标签,因为它们在一起更易于浏览,能够减少高度,比顶部标…

    2018年7月30日 网页设计
    6.4K0
  • 网页制作实战项目二:爱的天空

    请加入网页设计交流群:208047327 ,在项目制作过程中有任何问题,可以在群内讨论,或进入本站问答社区互动。 【时间要求】 2 学时( 45 分钟× 2=90 分钟) 【上机内容】 《爱的天空》主页面及心情日志页面制作 【上机目的】 1 、巩固表格布局的方法和技巧 2 、掌握HTML及CSS的使用 【上机重点】 1 、表格布局 2 、HTML及CSS的使…

    2018年4月12日 网页设计
    14.6K0
  • 网页设计中最常用的7款字体

    字体主要分为衬线字和无衬线字。网站制作中,选用什么样的字体是比较重要。 衬线字和无衬线字的区别:左边的中文和英文字属于衬线字,右边中文和英文属于无衬线字。 衬线字指的是在字的笔画开始、结束的地方有额外的装饰,而且笔画的粗细会有所不同。 如宋体,观察比划可以看到横细竖粗的特点,这就是典型的称线字。 无衬线字体没有这些额外的装饰,而且笔画的粗细差不多。比如微软雅…

    2019年10月22日 网页设计
    9.8K0
  • 最全!jsp连接各种数据库代码及读取数据实例

    有好多jsp初学者经常会问数据库怎么连接?我怎么连接不上数据库、语句怎么总是出错?所以中国网页设计写篇文章供大家参考,主要包括以下7种数据库的链接。 一、jsp连接MySQL数据库 二、jsp连接Sql Server7.0/2000数据库 三、jsp连接DB2数据库 四、jsp连接Informix数据库 五、jsp连接Sybase数据库 六、jsp连接Pos…

    2020年12月6日
    9.2K0
  • Python编程入门:英文词频统计

    text = “Got tho on super sale. Love it! Cuts my drying time in half Reckon I have had this about a year now,\ at least 7 months. Works great, I use it 5 days a week, blows hot air,…

    2023年10月3日
    7.3K0
  • 网页设计师必须知道的八大前端核心知识

    前端入门核心知识点 浏览器 Web标准:结构标准(HTML)、表现标准(CSS)、行为标准(JS) 浏览器分为两部分:渲染引擎(即:浏览器内核)、JS 引擎 浏览器的工作原理:重绘和重排、V8引擎 App的WebView容器,相当于浏览器,可以内嵌H5网页 HTML5 语义化标签:<header>、<article> 、<foo…

    2023年1月18日
    5.2K0

发表回复

登录后才能评论