opencv几何变换

import cv2  
import numpy as np  
import matplotlib.pyplot as plt
      
img =cv2.imread('E:/python/sunflower.png',0) 
rows, cols = img.shape  
#平移       
M = np.float32([[1, 0, 50], [0, 1, 30]])  
dst1 = cv2.warpAffine(img, M, (cols, rows))      
cv2.imshow('img', img)  
cv2.imshow('DST1', dst1)
#旋转 
M = cv2.getRotationMatrix2D((cols / 2, rows / 2), 90, 1)  
dst2 = cv2.warpAffine(img, M, (cols, rows))  
cv2.imshow('DST2', dst2) 


k = cv2.waitKey(0) 
if k == ord('s'):        
    cv2.destroyAllWindows()
#仿射变换
import cv2
import numpy as np
import matplotlib.pyplot as plt

      
img =cv2.imread('E:/python/sunflower.png',0) 
rows, cols = img.shape 
#仿射变换矩阵
pts1=np.float32([[10,10],[200,30],[23,78]])
pts2=np.float32([[12,34],[198,23],[28,67]])
m=cv2.getAffineTransform(pts1,pts2)
dst=cv2.warpAffine(img,m,(256,256))
plt.subplot(121),plt.imshow(img),plt.title('input')
plt.subplot(122),plt.imshow(dst),plt.title('output')
plt.show
import cv2
import numpy as np
import matplotlib.pyplot as plt

      
img =cv2.imread('E:/python/sunflower.png',0) 
rows, cols = img.shape 
#透视变换矩阵
pts1=np.float32([[10,10],[200,30],[23,78],[90,67]])
pts2=np.float32([[12,34],[198,23],[28,67],[78,34]])
m=cv2.getPerspectiveTransform(pts1,pts2)
dst=cv2.warpPerspective(img,m,(256,256))
plt.subplot(121),plt.imshow(img),plt.title('input')
plt.subplot(122),plt.imshow(dst),plt.title('output')
plt.show

猜你喜欢

转载自blog.csdn.net/qq_41244435/article/details/86636174