本示例使用的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
,输出的图像数据。
详细请参考
https://docs.opencv.org/4.1.1/d2/de8/group__core__array.html#gaca7be533e3dac7feb70fc60635adf441