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 三种取值的效果。你需要我画吗?

相关推荐
zhangxingchao2 小时前
AI 大模型核心六:量化、Workflow 与 Agent、多轮 RAG
前端·人工智能·后端
陆业聪2 小时前
WebView代理方案实现:拦截请求、注入资源与离线包架构
人工智能·ai编程
薛定谔的猫-菜鸟程序员3 小时前
2小时智能体开发一个智能体?我用CodeArts Agent 和 AtomCode 开发了一个适老化智能体。
人工智能·python·agent
HIT_Weston3 小时前
101、【Agent】【OpenCode】task 工具提示词(Usage Notes)
人工智能·agent·opencode
qcx233 小时前
【系统学AI】09 Multi-Agent架构(2026版):从学术理论到工业级实践
java·人工智能·架构·multi-agent·claude agent
洛宇3 小时前
一个口语 skill,灵感居然来自2021年的那个夏天
人工智能·程序员·github
微擎应用3 小时前
智能售货柜公众号管理系统平台
大数据·人工智能
IT_陈寒3 小时前
Vite打包时遇到的坑,原来问题出在这里
前端·人工智能·后端
星辰AI4 小时前
多模态记忆:让 AI Agent 记忆各种类型的信息
人工智能·ai·语言模型