Python——图像处理两个简单操作

图像处理的两个简单操作

  • 图像旋转
  • 图像翻转

在深度学习的数据集实现过程中,常常需要对图像数据进行增强操作,其中旋转和翻转是两个常见的操作,本文将简单介绍python对这两种图像处理方法对实现。

图像旋转

图像旋转主要是借助np.rot90()函数实现,我们知道图像其实就是二维的矩阵,因此可以借助numpy库来处理,代码如下:

def rot_img(img, angle=0):
    """
        To rotate input image
        param:
            - img: narray
            - angle: int, (0, 90, 180, 270) 逆时针方向
        return:
            - tf_img : rotated image
    """
    assert angle in [0, 90, 180, 270], 'Unsupported angle input, please input angle in [0, 90, 180, 270]'
    tf_img = img.copy()
    rots = int(angle / 90)
    tf_img = np.rot90(tf_img, rots)
    return tf_img

图像翻转

图像是一个二维矩阵,因此翻转只需要将矩阵进行水平或垂直翻转即可,代码如下:

def flip_img(img, flip=None):
    """
        To flip input image
        param:
            - img: narray
            - flip: 'v':vertical    'h':horizon
        return:
            - tf_img: flipped image
    """
    assert flip in [None, 'h', 'v'], 'Unsupported flip input, please input flip in [h, v]'
    tf_img = img
    if flip == 'h':
        tf_img = img[:, ::-1, :]
    elif flip == 'v':
        tf_img = img[::-1, ...]

    return tf_img

感谢阅读,如果对您有帮助,希望点个赞!

你可能感兴趣的:(Python学习,python,图像处理)