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 循环语句的应用:水仙花数判断及爱因斯坦阶梯编程

    一、水仙花数判断程序 1.任务内容: 水仙花数是一个三位整数,如153是一个水仙花数,是因为该数的百位的立方、十位的立方、个位的立方和等于该数本身,如下所示: 2.程序编写要求: 使用for语句完成; 统计水仙花数个数的值保存到变量中,要求自动进行统计 •输出结果如下所示: 153 是水仙数370 是水仙数371 是水仙数407 是水仙数三位数中有4个水仙数…

    2022年5月11日
    9.5K1
  • MVC(JSP+JavaBean+Servlet)+MYSQL入门实例:实现用户登陆

    MVC(JSP+JavaBean+Servlet)+MYSQL实现用户登陆模块,具体功能: 客户在登陆页面Login.html输入用户名和密码,提交表单,由Servlet(LoginValidate.java)调用JavaBean(LoginDBO.java)验证用户名和密码,最后调用视图returnMessage.jsp显示,如果成功显示成功信息,不成功显…

    2018年11月27日 编程开发
    19.8K0
  • JS截取字符串方法详解:前面/中间/后面

    JS截取字符串方法,JS的match() 方法可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配。 js截取字符串中间的内容 var str = “aaabbbcccdddeeefff”; str = str.match(/aaa(\S*)fff/)[1]; alert(str);//结果bbbcccdddeee js截取某个字符串前面的内容 var…

    2023年1月5日
    8.5K0
  • Java向mysql数据库插入datetime类型数据实例(精)

    在Mysql数据库中日期跟时间有两种: 1、date类型,date类型也就是我们常见的储存yyyy-MM-dd类型的日期,它不能储存时间,也就是只能储存日期, 2、dateitme就是可以储存日期同时也可以储存时间。 datetime可以保存1000-01-01到 9999-12-31的日期。 上面mysql数据库中birthday字段类型设置的是datet…

    2018年5月2日
    19.5K0
  • python 初学者练手上机实操三

    一、题目:键盘输入三角形的三边,求三角形的周长。 1、新建一个triangle.py文件 2、编写程序。 3、调试程序。 4、排除错误。 二、题目:导入turtle包(import turtle),绘制边长为100的正方形。 要求: 1、新建一个“turtle2.py”文件 2、编写程序。 3、调试程序。 4、排除错误。 三、题目:打印诗“悯农” 要求: 1…

    2023年5月5日
    23.8K0
  • python 字典的使用案例二:求平均分,并按平均分由高到低输出选手编号和最后得分

    校园好声音大赛,三位选手得分,由8位评委给出。 请根据评分表,将每们选手的得分去掉一个最高分和一个最低分后求平均分,并按照平均分由高到低输出选手编号和最后得分。 dicScores = {‘012’: [90, 94, 97, 86, 85, 89, 88, 85], ‘005’: [91, 91, 92, 98, 90, 96, 90, 95], ‘108…

    2020年1月22日
    18.8K0

发表回复

登录后才能评论