OpenCV练习:仿射变换和透射变换

#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()

以上是投影变换

猜你喜欢

转载自blog.csdn.net/qq_16065939/article/details/82708268