opencv知识库:基于cv2.flip()函数对图像进行随机翻转(水平/垂直)

需求场景

欲对RGB格式的lena图像进行随机翻转 ,要求这些图像不翻转 、水平翻转 、垂直翻转 的概率都为1/3。

功能代码

python 复制代码
import cv2
import random

# 读取并展示图像
img = cv2.imread("lena.jpg")
cv2.imshow('lena', img)
cv2.waitKey(0)

for i in range(6): # 以循环6次模拟处理6张图片
    choice = random.choice(["flip_horizontal", "flip_vertical", "no_change"])
    if choice == "flip_horizontal": # 水平翻转
        new_img = cv2.flip(img, flipCode=1) # flipCode>=1的整数 表示水平翻转(绕y轴旋转)
    elif choice == "flip_vertical": # 垂直翻转
        new_img = cv2.flip(img, flipCode=0) # flipCode=0 表示垂直翻转(绕x轴旋转)
    else:
        new_img = img # 保持不变

    cv2.imshow('new_img_{}_{}'.format(i+1, choice), new_img)
    cv2.waitKey(0)

运行结果


...

结束语

如果本博文对你有所帮助,可以点个赞/收藏支持一下,如果能够持续关注,小编感激不尽~

小编会坚持创作,持续优化博文质量,以小见大,给读者带来更好的阅读体验~

相关推荐
Shockang5 小时前
llama.cpp 本地运行 9B 模型:部署、工具调用与微调数据
人工智能
Shockang5 小时前
n8n 智能体工作流实战:触发、工具、记忆与发布护栏
人工智能
冬奇Lab7 小时前
开源项目第241期:YuE2 —— 用符号乐谱当“白盒“接口的开源音乐生成模型,SongBench 超越 Suno v5/v6
人工智能
鶴哥只手遮天8 小时前
Spring AI 2.0.1 深度解析-第 14 章 MCP 服务端(上):注解式实现与工具来源
java·人工智能·开源
鶴哥只手遮天8 小时前
Spring AI 2.0.1 深度解析-第 15 章 MCP 服务端(下):三种协议形态、Streamable 传输与状态管理
java·人工智能·开源
鶴哥只手遮天8 小时前
Spring AI 2.0.1 深度解析-第 16 章 向量存储(上):`VectorStore` 接口体系、`BatchingStrategy`
java·人工智能·开源
鶴哥只手遮天8 小时前
Spring AI 2.0.1 深度解析-第 12 章 工具循环的流式形态、Usage 累加与扩展体系
java·人工智能·开源
鶴哥只手遮天8 小时前
Spring AI 2.0.1 深度解析-第 23 章 模型供应商实现:从 `OpenAiSetup` 到 Bedrock
java·人工智能·开源
鶴哥只手遮天8 小时前
Spring AI 2.0.1 深度解析-第 06 章 内置 Advisor 全景:13 个实现逐个剖到源码级
java·人工智能·开源