python opencv 图像旋转
原图
顺时针旋转
代码:
import cv2
path = '2.jpg'
img = cv2.imread(path,1)
trans_img = cv2.transpose(img)
new_img = cv2.flip(trans_img, 1)
cv2.imshow('new_img',new_img)
cv2.waitKey(0)
效果:
逆时针旋转
代码
import cv2
path = '2.jpg'
img = cv2.imread(path,1)
trans_img = cv2.transpose(img)
new_img = cv2.flip(trans_img, 0)
cv2.imshow('new_img',new_img)
cv2.waitKey(0)
效果
逆时针旋转
代码
import cv2
import numpy as np
# 读取图片
img = cv2.imread('2.jpg',1)
# 图片的宽、高、通道
rows,cols,can = img.shape
# 参数:旋转中心、旋转角度、大小变化
M = cv2.getRotationMatrix2D(((cols-1)/2.0,(rows-1)/2.0),90,1)
dst = cv2.warpAffine(img,M,(cols,rows))
# 拼接图片
result = np.hstack([img, dst])
cv2.imshow('result',result)
cv2.waitKey(0)
效果
上面这种方法有个问题:图片的长宽没有随着旋转而变化