OpenCV練習:仿射變換和透射變換
阿新 • • 發佈:2018-12-17
#coding=utf-8</code> import cv2 import numpy as np from matplotlib import pyplot as plt img=cv2.imread('1.jpg') rows,cols,ch=img.shape pts1=np.float32([[50,50],[200,50],[50,200]]) pts2=np.float32([[10,100],[200,50],[100,250]]) M=cv2.getAffineTransform(pts1,pts2) dst=cv2.warpAffine(img,M,(cols,rows)) plt.subplot(121),plt.imshow(img),plt.title('Input') plt.xticks([]),plt.yticks([]) plt.subplot(122),plt.imshow(dst),plt.title('Output') plt.xticks([]),plt.yticks([]) plt.show()
以上是仿射變換。
#coding=utf-8</code> import cv2 import numpy as np from matplotlib import pyplot as plt img=cv2.imread('1.jpg') rows,cols,ch=img.shape pts1 = np.float32([[56,65],[368,52],[28,387],[389,390]]) pts2 = np.float32([[0,0],[300,0],[0,300],[300,300]]) M=cv2.getPerspectiveTransform(pts1,pts2) dst=cv2.warpPerspective(img,M,(300,300)) plt.subplot(121),plt.imshow(img),plt.title('Input') plt.xticks([]),plt.yticks([]) plt.subplot(122),plt.imshow(dst),plt.title('Output') plt.xticks([]),plt.yticks([]) plt.show()
以上是投影變換