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()
相关推荐
风象南1 小时前
我把大脑开源给了AI
人工智能·后端
Johny_Zhao3 小时前
OpenClaw安装部署教程
linux·人工智能·ai·云计算·系统运维·openclaw
飞哥数智坊3 小时前
我帮你读《一人公司(OPC)发展研究》
人工智能
冬奇Lab7 小时前
OpenClaw 源码精读(3):Agent 执行引擎——AI 如何「思考」并与真实世界交互?
人工智能·aigc
没事勤琢磨9 小时前
如何让 OpenClaw 控制使用浏览器:让 AI 像真人一样操控你的浏览器
人工智能
用户5191495848459 小时前
CrushFTP 认证绕过漏洞利用工具 (CVE-2024-4040)
人工智能·aigc
牛马摆渡人5289 小时前
OpenClaw实战--Day1: 本地化
人工智能
前端小豆9 小时前
玩转 OpenClaw:打造你的私有 AI 助手网关
人工智能
BugShare9 小时前
写一个你自己的Agent Skills
人工智能·程序员
机器之心10 小时前
英伟达护城河被AI攻破,字节清华CUDA Agent,让人人能搓CUDA内核
人工智能·openai