OpenCV(11)---几何变换之翻转

523 阅读1分钟

前言

经过前文的介绍,我们已经掌握了基础的缩放功能。本篇博文将带领大家一起学习OpenCV中另一个几何变换,也就是翻转。

翻转

在OpenCV中,它给我们提供cv2.flip()函数来实现翻转,该函数即可以实现水平方向翻转,也可以实现垂直方向翻转,当然也可以两个方向同时翻转,它的定义如下:

def flip(src, flipCode, dst=None): 

src:原始图像

dst=代表和原始图像具有同样大小,类型的目标图像。

flipCode:代表旋转类型

旋转类型有3个,如下表所示:

参数值说明含义
0只能是0X轴翻转
正数可以是任意正数绕Y轴翻转
负数可以是任意负数绕XY轴翻转

实现翻转

既然我们已经了解了函数的具体定义,已经每个参数的作用,下面我们通过一个例子来实现所有的翻转效果。

具体代码如下所示:

import cv2

img = cv2.imread("4.jpg")
img_x = cv2.flip(img, 0)
img_y = cv2.flip(img, 1)
img_xy = cv2.flip(img, -1)
cv2.imshow("img", img)
cv2.imshow("x", img_x)
cv2.imshow("y", img_y)
cv2.imshow("xy", img_xy)
cv2.waitKey()
cv2.destroyAllWindows()

运行之后,效果如下所示:

翻转

需要注意的是,本篇所有提到的内容都是翻转,翻转意味着是90度,不是随意旋转,不要弄混淆了旋转与翻转的区别。