opencv+python旋转图片

版权声明:本文为博主原创文章,转载请标明原始博文地址。 https://blog.csdn.net/yuanlulu/article/details/81750312

说明

python-opencv读取的图片本就是numpy格式,利用矩阵的相关操作,可以快速完成图片的顺时针90度和逆时针90度。

本例子利用矩阵转置和镜像翻转的组合,可以快速实现图片的翻转。

代码

参考了别人的c++代码,完成了python版本的程序。
参考链接:https://blog.csdn.net/tianzhaixing2013/article/details/53037474

import cv2

# 顺时针旋转90度
def RotateClockWise90(img):
    trans_img = cv2.transpose( img )
    new_img = cv2.flip(trans_img, 1)
    return new_img


# 逆时针旋转90度
def RotateAntiClockWise90(img):
    trans_img = cv2.transpose( img )
    new_img = cv2.flip( trans_img, 0 )
    return new_img

def test_rot(img_path):
    img = cv2.imread(img_path)
    cv2.imshow('raw', img)

    trans_img = cv2.transpose(img)
    cv2.imshow( 'trans', trans_img )

    clock90_img = RotateClockWise90(img)
    cv2.imshow( 'clock90', clock90_img )

    ant_clock90_img = RotateAntiClockWise90(img)
    cv2.imshow('ant_clock90', ant_clock90_img)

    key_ret = cv2.waitKey( 0 )

if __name__ == '__main__':
    test_rot('./cv.jpg')

原图:
这里写图片描述
转置后的图片:
这里写图片描述

顺时针旋转90°后的图像:
这里写图片描述

逆时针选择90°后的图像:
这里写图片描述

猜你喜欢

转载自blog.csdn.net/yuanlulu/article/details/81750312