OpenCV-Python图像的翻转

xiaohai 2023-07-05 19:34:05 1384人围观 标签: Opencv 
简介OpenCV-Python图像的翻转使用flip()函数翻转一个二维的矩阵,包含垂直翻转,水平翻转,以及垂直水平翻转。

OpenCV的函数flip()可以实现图像沿x轴翻转、沿y轴翻转、同时沿x轴和y轴翻转,从而实现图像的水平镜像和垂直镜像。

def flip(src: UMat, flipCode: int, dst: UMat | None = ...) -> UMat: ...

函数使用示例方案如下:

  • flipCode =0,垂直翻转图像,是源图像的top-left(左上)和bottom-left(左下)的交换,也就是说左上变成了左下,左下变成了左上,这是一个典型在的 Microsoft Windows操作系统里的视频处理操作。
  • flipCode > 0,图像的水平翻转,随后的水平位移和绝对方差计算,是为了检查图像是否y轴对称。
  • (flipCode < 0),图像同时垂直翻转和水平翻转,是为了以后的位移和绝对方差计算去检查图像是否是中心对称。
  • 反转点阵队列的顺序(flipCode > 0 或flipCode == 0).
一、沿x轴翻转(垂直翻转)
import cv2

img1 = cv2.imread("./1-1.jpg", cv2.IMREAD_UNCHANGED)

img2 = cv2.flip(img1, 0)

cv2.imshow("img-1", img1)
cv2.imshow("img-2", img2)

cv2.waitKey(0)
cv2.destroyAllWindows()

图片alt

二、沿y轴翻转(水平翻转)
import cv2

img1 = cv2.imread("./1-1.jpg", cv2.IMREAD_UNCHANGED)

img2 = cv2.flip(img1, 1)

cv2.imshow("img-1", img1)
cv2.imshow("img-2", img2)

cv2.waitKey(0)
cv2.destroyAllWindows()

图片alt

三、同时垂直和水平翻转
import cv2

img1 = cv2.imread("./1-1.jpg", cv2.IMREAD_UNCHANGED)

img2 = cv2.flip(img1, -1)

cv2.imshow("img-1", img1)
cv2.imshow("img-2", img2)

cv2.waitKey(0)
cv2.destroyAllWindows()

图片alt