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

相关推荐
DuHz1 天前
Stable Video Diffusion:将潜在视频扩散模型扩展到大规模数据集——论文阅读
论文阅读·人工智能·深度学习·神经网络·算法·音视频
学境思源AcademicIdeas1 天前
我用ChatGPT完成选题的全过程复盘
人工智能·chatgpt
cxr8281 天前
BMAD方法论:敏捷价值、原则映射与全生命周期技术
人工智能·智能体·ai赋能
荼蘼1 天前
自然语言处理——情感分析 <上>
人工智能·自然语言处理
STLearner1 天前
AI论文速读 | 当大语言模型遇上时间序列:大语言模型能否执行多步时间序列推理与推断
大数据·论文阅读·人工智能·深度学习·机器学习·语言模型·自然语言处理
IT_陈寒1 天前
3年Java老手:我用这5个Spring Boot优化技巧将系统吞吐量提升了200%!🚀
前端·人工智能·后端
Dongsheng_20191 天前
【汽车篇】AI深度学习在汽车激光焊接外观检测的应用
人工智能·汽车
产业家1 天前
AI重塑流量背后,微软广告打造下一代广告生态
人工智能·microsoft
GitCode官方1 天前
华为昇腾 CANN 算子仓开源上线 GitCode,加速 AI 开发生态共建
人工智能·开源·gitcode
Monkey的自我迭代1 天前
opencv的DNN模块里
人工智能·opencv·dnn