Python的Open CV学习五

Python的Open CV学习一(准备工作)https://blog.csdn.net/m0_55868453/article/details/122823865?spm=1001.2014.3001.5501Python的Open CV学习二(显示图片)https://blog.csdn.net/m0_55868453/article/details/122826126?spm=1001.2014.3001.5501Python的Open CV学习三(显示视频和摄像头图像)https://blog.csdn.net/m0_55868453/article/details/122848220?spm=1001.2014.3001.5501

Python的Open CV学习四(图像处理)https://blog.csdn.net/m0_55868453/article/details/123362071?spm=1001.2014.3001.5501

 今天学习如何进行画图以及对其图像进行逆透视变换

画图

首先我们导入需要的库

#导入CV2库q
import cv2.cv2 as cv2
#导入numpy库
import numpy as np

其次创建我们需要绘制图像的大小

#创建矩阵512*512大小图像 其中3为通道的意思,也可为维数3维矩阵
img = np.zeros((512,512,3),np.uint8)

然后根据需求绘制想要的图像

#创造线条  图像  起始点  终点  颜色  厚度
cv2.line(img,(0,0),(img.shape[1],img.shape[0]),(0,255,0),3)
#创造矩形  图像  起始点  终点  颜色  厚度
cv2.rectangle(img,(0,0),(200,350),(0,0,255),5)
#如果想让矩形颜色填充完整,则将在后面添加cv2.FILLED,删去厚度值
# cv2.rectangle(img,(0,0),(200,350),(0,0,255),cv2.FILLED)
#创造圆  图像  圆心  半径  颜色  厚度
cv2.circle(img,(400,50),30,(0,255,255),3)
#放置文本  图像  文本  位置  字体  大小 颜色 厚度
cv2.putText(img,' OPENCV ',(300,200),cv2.FONT_HERSHEY_COMPLEX,1,(0,150,0),3)

最后别忘了将其显示出来

cv2.imshow("Image",img)

cv2.waitKey(0)

最后效果图

图像逆透视变换

同样也是导入需要的库

#导入CV2库q
import cv2.cv2 as cv2
#导入numpy库
import numpy as np

其次我们读取想要逆透视变换的图片,并且设置显示逆透视变换后的图像大小

#读取图片,并显示大小
img = cv2.imread('mofang.jpg')
print(img.shape)
#定义宽高
width,height=500,500

然后我们需要通过电脑自带画图软件或者PS等工具对需要逆透视变换的四个角进行坐标的读取,然后将其坐标按照左上 左下 右下 右上的顺序输入

#定义图片想要的位置坐标 得自己再ps上或者能看坐标的软件观看
pts1 = np.float32([[291,204],[439,112],[294,457],[436,351]])
pts2 = np.float32([[0,0],[width,0],[0,height],[width,height]])

输入完成之后开始对其需要的图像进行逆透视变换

#由四对点计算透射变换 前面为输入的矩阵坐标  后面为输出矩阵坐标
matrix= cv2.getPerspectiveTransform(pts1,pts2)
#对图像进行透视变换   图像  矩阵 宽高
imgOutput = cv2.warpPerspective(img,matrix,(width,height))

最后对其原图像与逆透视变换的图像进行显示

cv2.imshow('Image',img)
cv2.imshow('Output',imgOutput)

cv2.waitKey(0)

最终效果图

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值