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

相关推荐
忙碌54420 分钟前
AI大模型时代下的全栈技术架构:从深度学习到云原生部署实战
人工智能·深度学习·架构
LZ_Keep_Running23 分钟前
智能变电巡检:AI检测新突破
人工智能
InfiSight智睿视界1 小时前
AI 技术助力汽车美容行业实现精细化运营管理
大数据·人工智能
没有钱的钱仔2 小时前
机器学习笔记
人工智能·笔记·机器学习
听风吹等浪起2 小时前
基于改进TransUNet的港口船只图像分割系统研究
人工智能·深度学习·cnn·transformer
化作星辰2 小时前
深度学习_原理和进阶_PyTorch入门(2)后续语法3
人工智能·pytorch·深度学习
boonya2 小时前
ChatBox AI 中配置阿里云百炼模型实现聊天对话
人工智能·阿里云·云计算·chatboxai
8K超高清3 小时前
高校巡展:中国传媒大学+河北传媒学院
大数据·运维·网络·人工智能·传媒
qzhqbb3 小时前
神经网络 - 卷积神经网络
神经网络·计算机视觉·cnn
老夫的码又出BUG了3 小时前
预测式AI与生成式AI
人工智能·科技·ai