3h精通OpenCV(五)-透视变换(透视变换 opencv)

网友投稿 240 2022-09-02


3h精通OpenCV(五)-透视变换(透视变换 opencv)

右击新建的项目,选择Python File,新建一个Python文件,然后在开头​​import cv2​​​导入cv2库,​​import numpy​​​并且重命名为​​np​​。

import cv2import numpy as np

因为画图中图像的宽高坐标轴和OpenCV是一样的,当我将鼠标放到K左上角时,画图的左下角就显示出来(734像素,185像素),这就是左上角这个点的坐标。

上面的要求实现看起来比较困难,但是用cv2库,实现起来其实只有9行代码。

首先我们设置下输出图片的宽width为250,高height为350。然后读取我们的图片,就是上面这张图。定义目标区域的四个点坐标,分别为:左上、右上、左下、右下。我们在上一步已经获取到了。pst2是输出图片在图片框中的位置,选择平铺即可,固定写法。使用库函数​​warpPerspective​​实现透视变换,感兴趣的可以深入了解下原理。最后输出并且显示两张图像。

width,height=250,350img=cv2.imread("Resources/poker.jpg")pst1=np.float32([[734,185],[1101,266],[621,679],[1030,789]])pst2=np.float32([[0,0],[width,0],[0,height],[width,height]])matrix=cv2.getPerspectiveTransform(pst1,pst2)imgOutput=cv2.warpPerspective(img,matrix,(width,height))cv2.imshow("Image",img)cv2.imshow("Output",imgOutput)cv2.waitKey(0)

第五节的内容,其实很有趣,在生活中有很多应用。眼过千遍不如手过一遍,快去动手敲一遍吧~


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:带你了解Java数据结构和算法之队列
下一篇:Python 报错 ValueError list.remove(x) x not in list 解决办法(python怎么读)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~