1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > 【Python+OpenCV 图像透视变换 warpPerspective函数】

【Python+OpenCV 图像透视变换 warpPerspective函数】

时间:2018-11-08 18:38:27

相关推荐

【Python+OpenCV 图像透视变换 warpPerspective函数】

Python+OpenCV 图像透视变换 warpPerspective函数

1、函数介绍2、代码实例3、实现效果

1、函数介绍

warpPerspective():对图像进行透视变换。简单来说,就是有这么一副图像,它的拍摄视角不是从正面拍摄的,而是带有一定的角度,我们希望能得到从正面观察的视角。

2、代码实例

这里我们用一张从斜上方拍摄的四张扑克牌的图片,用图像透视法提取出J、Q、K三张扑克牌的主视角图。

代码如下

import cv2import numpy as npimg = cv2.imread("Photos/cards.jpg")width,height = 250,350 #所需图像大小#找Kpts1 = np.float32([[527,144],[772,192],[404,396],[677,457]]) #所需图像部分四个顶点的像素点坐标pts2 = np.float32([[0,0],[width,0],[0,height],[width,height]]) #定义对应的像素点坐标matrix_K = cv2.getPerspectiveTransform(pts1,pts2) #使用getPerspectiveTransform()得到转换矩阵img_K = cv2.warpPerspective(img,matrix_K,(width,height)) #使用warpPerspective()进行透视变换#找Qpts3 = np.float32([[63,325],[340,279],[89,634],[403,573]])pts4 = np.float32([[0,0],[width,0],[0,height],[width,height]])matrix_Q = cv2.getPerspectiveTransform(pts3,pts4)img_Q = cv2.warpPerspective(img,matrix_Q,(width,height))#找Jpts5 = np.float32([[777,107],[1019,84],[842,359],[1117,332]])pts6 = np.float32([[0,0],[width,0],[0,height],[width,height]])matrix_J = cv2.getPerspectiveTransform(pts5,pts6)img_J = cv2.warpPerspective(img,matrix_J,(width,height))cv2.imshow("Original Image",img)cv2.imshow("img K",img_K)cv2.imshow("img Q",img_Q)cv2.imshow("img J",img_J)cv2.waitKey(0)

3、实现效果

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。