【数字图像处理】旋转图像的几种方法
时间:2022-07-22
本文章向大家介绍【数字图像处理】旋转图像的几种方法,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
今天介绍两种旋转图像的方法
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("Rc8gJko9yb71al.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()
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:选择两个维度进行旋转
一个简单示例如下:
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()
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Python %r和%s区别代码实例解析
- Python基础类继承重写实现原理解析
- python torch.utils.data.DataLoader使用方法
- Android自定义橡皮擦效果
- Android Canvas drawText文字居中的一些事(图解)
- Nginx+keepalived一主一从高可用,手把手带你一步一步配置!
- Behave!:一款针对页面活动的浏览器监控插件
- R可视化 | 地理信息空间(上)
- Nautilus:一款基于语法的反馈式模糊测试工具
- R可视化 | 地理信息空间(下)
- 21页优雅读博指南:佐治亚理工学院助理教授Eric Gilbert撰写,入坑前必读
- Too old resource version 引起 Flink JobManager 崩溃的问题定位
- SharpHose:一款基于C#开发的Windows异步密码喷射工具
- PyTorch版YOLOv4更新了,不仅适用于自定义数据集,还集成了注意力和MobileNet
- 一行代码不用写,就可以训练、测试、使用模型,这个star量1.5k的项目帮你做到