img = cv2.imread('../data/foreman.bmp')
rows, cols, channel = img.shape
+定义透视变换前数据点集合
ptsl=np.float32([[82,122],[132,112],[97,170],[138,169]])
#定义透视变换后数据点集合
pts2= np.float32([[82, 122],[132, 117], [95, 168],[136, 163]])
#画出透视变换前数据点
for point in ptsl:
cv2.circle(img,(int(point[0]),int (point[1])),2,(0, 0, 255), thickness=-1)
M = cv2.getPerspectiveTransform(pts1,pts2) #获取透视变换矩阵M
dst = cv2.warpPerspective(img,M,(cols, rows))#进行透视变换得到结果图像
#画出透视变换后的数据点
for point in pts2:
cv2.circle(dst,(int(point[0]), int(point[1])),2,(0, 255, 0), thickness=2)
cv2.imshow('face3',img)
cv2.imshow('warpPerspectivePlate',dst) # 显示透视变换后的图像
cv2.imwrite('../tmp/warpPerspectivePlate.jpg',dst) #保存透视变换后的图像