本示例使用的OpenCV版本是:4.1.1

运行Python的编辑器:Jupyter notebook

示例目的

把图片进行镜像,也即是水平翻转,或者垂直翻转。

实现代码

1,加载图片

import cv2 # 加载OpenCV
import matplotlib.pyplot as plt # 加载Matplotlib.pyplot存进plt
img = cv2.imread("cook.jpeg") # 读取/加载 图片
img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB) #改变图像的色彩空间为RGB
plt.imshow(img) #显示图像

运行上面的代码块,可以看到如下图片。


2,围绕X轴翻转图像(垂直翻转)

img_flip_along_x = cv2.flip(img, 0) # 把围绕X轴翻转的图像存进img_flip_along_x
plt.imshow(img_flip_along_x) # 显示img_flip_along_x图像

运行运行上面的代码块,可以看出与原图相比,上下(垂直)翻转了。


3,围绕Y轴翻转图像(水平翻转)

img_flip_along_y = cv2.flip(img, 1) #把围绕Y轴翻转的图像存进img_flip_along_y
plt.imshow(img_flip_along_y) # 显示img_flip_along_y图像

运行运行上面的代码块,可以看出与原图相比,左右(水平)翻转了。


4,同时围绕XY翻转图像(顺时针180˚旋转)

img_flip_along_xy = cv2.flip(img, -1)
plt.imshow(img_flip_along_xy)

运行运行上面的代码块,可以看出与原图相比,顺时针180˚旋转了。


程序说明

flip()

本示例主要认识flip()的作用,能够对图像进行翻转(镜像)。

flip()语法

dst = cv.flip( src, flipCode[, dst] )

第一个参数 src,输入的图像数据。

第二个参数 flipCode,指定如何翻转数组的标志; 0表示绕x轴翻转,正值(例如1)表示绕y轴翻转。负值(例如,-1)表示在两个轴周围翻转。

(可选)第三个参数 dst,输出的图像数据。