OpenCV cv2.flip() 函数详解与示例

本文介绍了 OpenCV 中 cv2.flip() 函数的用法,该函数可实现图像的水平、垂直及双向翻转。通过设置 flipCode 参数为 0、1 或 -1,用户可分别获得上下颠倒、左右镜像或 180° 旋转的效果。文中提供了详细的参数说明、示例代码以及三种翻转模式的效果对比,方便在图像处理、视频镜像等应用中灵活使用。

cv2.flip() 是 OpenCV 中用来翻转图像的函数,可以水平、垂直或同时进行翻转。


1. 函数原型

python 复制代码
cv2.flip(src, flipCode) -> dst

参数说明

  • src:输入图像(NumPy 数组形式)。

  • flipCode:翻转方式,整数:

    • 0垂直翻转(上下颠倒)
    • 1水平翻转(左右镜像)
    • -1同时水平和垂直翻转(180°旋转)

返回值

  • dst:翻转后的图像。

2. 示例代码

python 复制代码
import cv2

# 读取图像
img = cv2.imread("example.jpg")

# 垂直翻转
flip_vertical = cv2.flip(img, 0)

# 水平翻转
flip_horizontal = cv2.flip(img, 1)

# 同时水平 + 垂直翻转
flip_both = cv2.flip(img, -1)

# 显示结果
cv2.imshow("Original", img)
cv2.imshow("Vertical Flip", flip_vertical)
cv2.imshow("Horizontal Flip", flip_horizontal)
cv2.imshow("Both Flip", flip_both)

cv2.waitKey(0)
cv2.destroyAllWindows()

3. 可视化理解

flipCode 效果 描述
0 ⬆️⬇️ 垂直翻转(上下颠倒)
1 ⬅️➡️ 水平翻转(左右镜像)
-1 ↔️ + ↕️ 水平+垂直翻转(180°旋转)

4. 注意事项

  • 翻转不会改变图像的尺寸和通道数。
  • 对视频帧(frame)翻转时,可以直接用 cv2.flip(frame, 1) 实现镜像摄像头效果。
  • 如果想旋转 90°、270°,不建议用 cv2.flip,而是用 cv2.rotate()

如果你需要的话,我还可以画一个直观的翻转示意图 ,让你一眼就明白 flipCode 三种取值的效果。你需要我画吗?

相关推荐
SuniaWang6 小时前
《Spring AI + 大模型全栈实战》学习手册系列 · 专题六:《Vue3 前端开发实战:打造企业级 RAG 问答界面》
java·前端·人工智能·spring boot·后端·spring·架构
IDZSY04307 小时前
AI社交平台进阶指南:如何用AI社交提升工作学习效率
人工智能·学习
七七powerful7 小时前
运维养龙虾--AI 驱动的架构图革命:draw.io MCP 让运维画图效率提升 10 倍,使用codebuddy实战
运维·人工智能·draw.io
水星梦月8 小时前
大白话讲解AI/LLM核心概念
人工智能
温九味闻醉8 小时前
关于腾讯广告算法大赛2025项目分析1 - dataset.py
人工智能·算法·机器学习
White-Legend8 小时前
第三波GPT5.4 日400刀
人工智能·ai编程
. . . . .8 小时前
Claude Code Hooks的原理、触发执行机制以及如何编写 Hooks
人工智能
w_t_y_y8 小时前
codex(一)下载安装&使用
人工智能
唐兴通个人8 小时前
唐兴通应邀为平安财产险北京分公司高层主讲《新媒体营销》专项培训,引领保险业AI时代内容营销变革
人工智能