图像旋转
参考
https://blog.csdn.net/liyuan02/article/details/6750828
https://blog.csdn.net/lkj345/article/details/50555870
旋转变换
import math
import numpy as np
import cv2
from matplotlib import pyplot as plt
img = cv2.imread('lena.jpg')
img= cv2.cvtColor(img,cv2.COLOR_BGR2RGB)
plt.imshow(img)
plt.show()
print(img.shape)
theta = 30/180*math.pi
M = np.float32([[np.cos(theta),-np.sin(theta),0],[np.sin(theta),np.cos(theta),0],[0,0,1]])
print(M)
# [cos(theta),-sin(theta),0
# sin(theta), cos(theta),0
# 0 0 1]
plt.imshow(img)
#print(img[0+50,0])
# cv2.warpAffine()函数主要是利用变换矩阵M对图像进行如旋转、仿射、平移等变换,只需要我们提供一个2*3的变换矩阵M,就可以对图像进行变换。
img_1=cv2.warpAffine(img,M[0:2,:],(726,722)) # 仿射变换 第一个是图像,第二个是变换矩阵 第三个参数是输出的尺寸
print(img_1.shape)
plt.imshow(img_1)
plt.show()