一、图像镜像旋转
图像的旋转是围绕一个特定点进行的,而图像的镜像旋转则是围绕坐标轴进行的。图像镜像旋转,也可 以叫做图像翻转,分为水平翻转、垂直翻转、水平垂直翻转三种。
通俗的理解为,当以图片的中垂线为x轴和y轴时:
垂直翻转就是将图片的像素点沿x轴翻转,具体到像素点来说就是令其坐标从(x,y)翻转为(x,-y)
水平翻转就是将图片的像素点沿y轴翻转,具体到像素点来说就是其坐标从(x,y)翻转为(-x,y)
水平垂直翻转就是水平翻转和垂直翻转的结合,具体到像素点来说就是其坐标从(x,y)翻转为(-x, y)
导入模块
import cv2
输入图像
img=cv2.imread('lena.png')
进行水平翻转
img_flip_0=cv2.flip(img,0)
进行垂直翻转
img_flip_1=cv2.flip(img,1)
进行水平垂直翻转
img_flip__1=cv2.flip(img,-1)
输出图像
cv2.imshow('img',img)
cv2.imshow('img_flip_1',img_flip_1)
cv2.imshow('img_flip_0',img_flip_0)
cv2.imshow('img_flip__1',img_flip__1)
cv2.waitKey(0)
完整代码
import cv2
img=cv2.imread('lena.png')
# 使用flip函数去对图像进行镜像的翻转
# cv2.flip:对图像进行镜像翻转
# 第一个参数:要翻转的原始图像
# 第二个参数:标志位, 0:表示绕x轴进行上下翻转,
# >0:表示绕y轴进行左右翻转
# <0:表示绕x轴和y轴各进行一次翻转
img_flip_1=cv2.flip(img,1)
img_flip_0=cv2.flip(img,0)
img_flip__1=cv2.flip(img,-1)
cv2.imshow('img',img)
cv2.imshow('img_flip_1',img_flip_1)
cv2.imshow('img_flip_0',img_flip_0)
cv2.imshow('img_flip__1',img_flip__1)
cv2.waitKey(0)
二、库函数
2.1、flip()
cv.flip( src, flipCode[, dst] ) -> dst
方法 | 描述 |
---|---|
src | 输入图像 |
dst | 输出图像 |
flipCode | 一个标志,用于指定如何翻转数组;0 表示绕 x 轴翻转,正值(例如,1)表示绕 y 轴翻转。负值(例如,-1)表示围绕两个轴翻转 |