Python版本是Python3.7.3,OpenCV版本OpenCV.3.4.1,开发环境为PyCharm
在OpenCV中,图像的翻转采用函数cv2.flip()实现,该函数能够实现图像在水平方向翻转、垂直方向翻转、两个方向同时翻转,其语法结构为:
dst = cv2.flip( src, flipCode )
式中:
● dst代表和原始图像具有同样大小、类型的目标图像。
● src代表要处理的原始图像。
● flipCode代表旋转类型。该参数的意义如下表所示。
参数值 | 说明 | 意义 |
---|---|---|
0 | 只能是0 | 绕着x轴翻转 |
正数 | 1、2、3等任意正数 | 绕着y轴翻转 |
负数 | -1、-2、-3等任意负数 | 绕着x轴、y轴同时翻转 |
该函数中,目标像素点与原始像素点的关系可表述为:
其中,dst是目标像素点,src是原始像素点。
eg1:设计程序,使用函数cv2.flip()完成图像的翻转。
程序如下:
import cv2
img=cv2.imread("lena.bmp")
x=cv2.flip(img,0)
y=cv2.flip(img,1)
xy=cv2.flip(img,-1)
cv2.imshow("img",img)
cv2.imshow("x",x)
cv2.imshow("y",y)
cv2.imshow("xy",xy)
cv2.waitKey()
cv2.destroyAllWindows()
运行程序,出现如下图所示的运行结果,其中:
● 图(a)是原始图像lena。
● 图(b)是语句x=cv2.flip(img,0)生成的图像,该图像由图像lena围绕x轴翻转得到。
● 图©是语句y=cv2.flip(img,1)生成的图像,该图像由图像lena围绕y轴翻转得到。
● 图(d)是语句xy=cv2.flip(img, -1)生成的图像,该图像由图像lena围绕x轴、y轴翻转得到。