??在 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 是原始像素点。
程序示例
设计程序,使用函数 cv2.flip()对图像分别实现围绕x轴、y轴、x轴和y轴翻转。
import cv2
lena = cv2.imread("./lena.jpg")
lena_x = cv2.flip(lena, 0)
lena_y = cv2.flip(lena, 1)
lena_xy = cv2.flip(lena, -1)
cv2.imshow("原始图像", lena)
cv2.imshow("绕x轴旋转", lena_x)
cv2.imshow("绕y轴旋转", lena_y)
cv2.imshow("绕x轴和y轴旋转", lena_xy)
cv2.waitKey()
cv2.destroyAllWindows()
图1 ?原始图像
图2 ?绕x轴旋转
图3 ?绕y轴旋转
图4 ?绕x轴和y轴旋转
|