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

相关推荐
AIBox365几秒前
vscode api 配置怎么做:第三方大模型接入 VS Code 的完整方法
ide·人工智能·vscode·gpt·语言模型·编辑器
zhang133830890751 分钟前
守护水工安全:CG-85D振弦式渗压计在大坝与堤防监测中的核心作用
运维·服务器·网络·人工智能·自动化
鸿乃江边鸟1 分钟前
Nanobot 从 Channel 消息处理看python协程的使用
人工智能·ai·协程
岁月标记4 分钟前
MoE 混合专家模型
人工智能
才兄说7 分钟前
机器人二次开发动作定制?数周内交付
人工智能·机器人
石榴树下的七彩鱼11 分钟前
Python OCR 文字识别 API 接入完整教程
开发语言·人工智能·后端·python·ocr·api·图片识别
芯盾时代12 分钟前
RSAC 2026观察 智能体治理崛起
网络·人工智能·网络安全·智能体
十铭忘13 分钟前
Scaling Latent Reasoning via Looped Language Models:通过循环语言模型扩展潜在推理
人工智能
斯文by累19 分钟前
CHATERM AI:开启云资源氛围管理新篇章!
人工智能
OpenAnolis小助手20 分钟前
直播预告: 异构场景下的大模型优化技术 | 龙蜥大讲堂
人工智能·龙蜥大讲堂