python学习之基于图像的逆透视变换完成目标的倾斜纠正

最近采用的anaconda编写python,所以以前的eclispe版的python就没有采用了,但是这个python版本是3.7.3,以前的版本是3.6.4,差别不是很大,
至于基于图像的逆透视变换完成目标的倾斜纠正的原理之类的,最近很忙,也没有心情,请自行了解。
准备工作:

pip install numpy
pip install matplotlib
pip install opencv-python

如果,已经安装了,就不用重复安装了。
这是第一个版本的代码:

import cv2
import numpy as np

#读入图片
img = cv2.imread('G:\\2018and2019two\\duomeitijishu\\juzhen.png')
H_rows, W_cols= img.shape[:2]
print(H_rows, W_cols)
# 原图的四个角点(左上、右上、左下、右下),与变换后矩阵位置
pts1 = np.float32([[140, 60], [566, 42], [10, 360], [713, 352]])
pts2 = np.float32([[0, 0],[W_cols,0],[0, H_rows],[H_rows,W_cols],])
# 生成透视变换矩阵;进行透视变换
M = cv2.getPerspectiveTransform(pts1, pts2)
dst = cv2.warpPerspective(img, M, (800,700))

#展示图片
cv2.imshow("original_img",img)
cv2.imshow("rdst",dst)
cv2.waitKey(0)
cv2.destroyAllWindows()

运行效果:

  • 1
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
透视变换(Inverse Perspective Mapping,简称IPM)是一种将透视图像转换为俯视图像的技术。在透视变换中,远离摄像机的物体会显得更小,而在俯视图像中,物体的大小与其在水平面上的实际大小相对应。使用透视变换可以纠正透视畸变,将透视图像转换为具有匀称比例的俯视图像,从而实现更准确的测量和分析。 在Python中,你可以使用OpenCV库来实现IPM透视变换。下面是实现透视变换的步骤: 1. 确定透视变换的源图像目标图像的四个关键点。这些点应该组成一个四边形,表示源图像中的一个区域,以及目标图像中的相应区域。 2. 使用cv2.getPerspectiveTransform()函数计算透视变换矩阵。该函数需要输入源图像目标图像的关键点,然后返回透视变换矩阵。 3. 使用cv2.warpPerspective()函数将源图像进行透视变换。该函数需要输入源图像透视变换矩阵和目标图像的大小,然后返回透视变换后的图像。 下面是一个实例代码,展示了如何使用Python和OpenCV来进行IPM透视变换: ```python import cv2 import numpy as np # 定义源图像目标图像的关键点 src_points = np.float32([[x1, y1], [x2, y2], [x3, y3], [x4, y4]]) dst_points = np.float32([[x1, y1], [x2, y1], [x2, y2], [x1, y2]]) # 计算透视变换矩阵 M = cv2.getPerspectiveTransform(src_points, dst_points) # 执行透视变换 result = cv2.warpPerspective(image, M, (width, height)) # 显示结果图像 cv2.imshow("Result", result) cv2.waitKey(0) cv2.destroyAllWindows() ``` 请注意,上述代码中的`x1, y1, x2, y2, x3, y3, x4, y4`是源图像目标图像的关键点坐标。你需要根据实际情况进行替换。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值