机器视觉学习-day07-图像镜像旋转

图像的镜像旋转分为三种,分别使用filpcode的参数表示:

flipcode=0,垂直翻转(x轴为中线)

垂直翻转可以把src沿着x轴翻转,坐标从(x,y)翻转为(x,-y)。

flipcode>0,水平翻转(y轴为中线)

水平翻转可以把src沿着y轴翻转,坐标从(x,y)翻转为(-x,y)。

flipcode<0,水平垂直翻转

相当与图像旋转,x轴和y轴都翻转,坐标从(x,y)翻转为(-x,-y)。

代码运行步骤:图片输入→图片镜像旋转→图片输出

原始图片:1.jpg

python 复制代码
import cv2
import numpy as np

if __name__ == '__main__':
    # 1. 图片输入
    image_np1 = cv2.imread('1.jpg')
    image_np2 = cv2.imread('1.jpg')
    image_np3 = cv2.imread('1.jpg')

    # 2.图片镜像旋转
    # 水平垂直翻转
    flip_image1 = cv2.flip(
        image_np1,  # 要反转的图像
        -1,  # 翻转码
    )

    # 垂直翻转
    flip_image2 = cv2.flip(
        image_np2,  # 要反转的图像
        0,  # 翻转码
    )

    # 水平翻转
    flip_image3 = cv2.flip(
        image_np3,  # 要反转的图像
        1,  # 翻转码
    )
    # 3. 图片输出
    cv2.imshow('flip_image1', flip_image1)  # 水平垂直翻转
    cv2.imshow('flip_image2', flip_image2)  # 垂直翻转
    cv2.imshow('flip_image3', flip_image3)  # 水平翻转
    cv2.waitKey(0)
    cv2.imwrite('flip_image1.png', flip_image1)
    cv2.imwrite('flip_image2.png', flip_image2)
    cv2.imwrite('flip_image3.png', flip_image3)

    """
    图像的镜像旋转分为三种,分别使用filpcode的参数表示:
    flipcode=0,垂直翻转
        垂直翻转可以把src沿着x轴翻转,坐标从(x,y)翻转为(x,-y)。
    flipcode>0,水平翻转
        水平翻转可以把src沿着y轴翻转,坐标从(x,y)翻转为(-x,y)。
    flipcode<0,水平垂直翻转
        相当与图像旋转,x轴和y轴都翻转,坐标从(x,y)翻转为(-x,-y)。
    
    """

flip_image1.png, 水平垂直翻转

flip_image2.png 垂直翻转

flip_image3.png 水平翻转