OpenCV-18图像的翻转和旋转

一、图像的翻转

使用API---cv.flip(src, flipCode)

flipCode = 0表示上下翻转

flipCode > 0表示左右翻转

flipCode < 0上下 + 左右翻转

或者使用np的翻转src[: : -1,: : -1]实现上下翻转。

示例代码如下:

复制代码
import cv2
import numpy as np

dog = cv2.imread("dog.png")

# 图片的翻转
# new_dog = cv2.flip(dog, 0)
new_dog1 = cv2.flip(dog, 1)
new_dog2 = cv2.flip(dog, -1)

# 使用np同样可以实现上下翻转。
new_dog = dog[::-1, ::-1]

cv2.imshow("dog", dog)
cv2.imshow("new_dog", new_dog)
cv2.imshow("new_dog1", new_dog1)
cv2.imshow("new_dog2", new_dog2)

cv2.waitKey(0)
cv2.destroyAllWindows()

输出结果如下:

二、图像的旋转

使用API ---cv2.rotate(img, rotateCode)

ROTATE_90_CLOCKWISE 90度顺时针

ROTATE_180 180度顺时针

ROTATE_90_COUNTERCLOCKWISE 90度逆时针

复制代码
new_dog = cv2.rotate(dog, cv2.ROTATE_90_CLOCKWISE)
new_dog1 = cv2.rotate(dog, cv2.ROTATE_180)
new_dog2 = cv2.rotate(dog, cv2.ROTATE_90_COUNTERCLOCKWISE)

输出结果如下:

只提供了这三个角度设置,无法旋转其他角度。

综合演示代码如下所示:

复制代码
import cv2
import numpy as np

dog = cv2.imread("dog.png")

# 图片的翻转
# new_dog = cv2.flip(dog, 0)
# new_dog1 = cv2.flip(dog, 1)
# new_dog2 = cv2.flip(dog, -1)

# 使用np同样可以实现上下翻转。
# new_dog = dog[::-1, ::-1]

# 图像的旋转
new_dog = cv2.rotate(dog, cv2.ROTATE_90_CLOCKWISE)
new_dog1 = cv2.rotate(dog, cv2.ROTATE_180)
new_dog2 = cv2.rotate(dog, cv2.ROTATE_90_COUNTERCLOCKWISE)

cv2.imshow("dog", dog)
cv2.imshow("new_dog", new_dog)
cv2.imshow("new_dog1", new_dog1)
cv2.imshow("new_dog2", new_dog2)

cv2.waitKey(0)
cv2.destroyAllWindows()
相关推荐
家庭云计算专家3 分钟前
还没用过智能文档编辑器吗?带有AI插件的ONLYOFFICE介绍
服务器·人工智能·docker·容器·编辑器
麻雀无能为力15 分钟前
python自学笔记2 数据类型
开发语言·笔记·python
Ndmzi18 分钟前
matlab与python问题解析
python·matlab
懒大王爱吃狼24 分钟前
怎么使用python进行PostgreSQL 数据库连接?
数据库·python·postgresql
猫猫村晨总25 分钟前
网络爬虫学习之httpx的使用
爬虫·python·httpx
web1508541593527 分钟前
Python线性回归:从理论到实践的完整指南
python·机器学习·线性回归
ayiya_Oese29 分钟前
[训练和优化] 3. 模型优化
人工智能·python·深度学习·神经网络·机器学习
小众AI31 分钟前
Suna: 开源多面手 AI 代理
人工智能·开源
抽风的雨61032 分钟前
【python基础知识】Day 27 函数专题2:装饰器
开发语言·python
就不爱吃大米饭34 分钟前
Chrome代理IP配置教程常见方式附问题解答
大数据·人工智能·搜索引擎