在 OpenCV 中,图像的翻转采用函数 cv2.flip()实现
,该函数能够实现图像在水平方向翻转、垂直方向翻转、两个方向同时翻转,其语法结构为:
dst = cv2.flip( src, flipCode )
式中:
dst 代表和原始图像具有同样大小、类型的目标图像。
src 代表要处理的原始图像。
flipCode 代表旋转类型。该参数的意义如表 5-2 所示。
该函数中,目标像素点与原始像素点的关系可表述为:
其中,dst 是目标像素点,src 是原始像素点。
实验:使用函数 cv2.flip()完成图像的翻转
代码:
import cv2
img=cv2.imread("lena.png")
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 轴翻转得
到。