前言
经过前文的介绍,我们已经掌握了基础的缩放功能。本篇博文将带领大家一起学习OpenCV中另一个几何变换,也就是翻转。
翻转
在OpenCV中,它给我们提供cv2.flip()函数来实现翻转,该函数即可以实现水平方向翻转,也可以实现垂直方向翻转,当然也可以两个方向同时翻转,它的定义如下:
def flip(src, flipCode, dst=None):
src:原始图像
dst=代表和原始图像具有同样大小,类型的目标图像。
flipCode:代表旋转类型
旋转类型有3个,如下表所示:
参数值 | 说明 | 含义 |
---|---|---|
0 | 只能是0 | X轴翻转 |
正数 | 可以是任意正数 | 绕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度,不是随意旋转,不要弄混淆了旋转与翻转的区别。