python画四边形_在python matplotlib中将不规则的四边形转换为...

本文介绍了如何使用scikit-image库的ProjectiveTransform来将不规则四边形的坐标转换到局部正方形空间。通过定义源四边形和目标正方形的顶点,可以实现四边形到正方形的投影变换。示例代码展示了如何进行坐标转换,并用matplotlib绘制了原始和转换后的坐标,验证转换效果。
摘要由CSDN通过智能技术生成

您可以使用scikit-image中的skimage.transform.ProjectiveTransform将四边形内部的坐标转换为局部正方形空间[0,1]×[0,1].

假设您按顺时针顺序有四边形的角:

bottom_left = [58.6539, 31.512]

top_left = [27.8129, 127.462]

top_right = [158.03, 248.769]

bottom_right = [216.971, 84.2843]

我们实例化一个ProjectiveTransform,并要求它在四边形到单位正方形的内侧找到投影变换映射点:

from skimage.transform import ProjectiveTransform

t = ProjectiveTransform()

src = np.asarray(

[bottom_left, top_left, top_right, bottom_right])

dst = np.asarray([[0, 0], [0, 1], [1, 1], [1, 0]])

if not t.estimate(src, dst): raise Exception("estimate failed")

现在,转换t已准备好将您的点转换为单位平方.当然,通过更改上面的dst,您可以缩放到与单位正方形不同的矩形(甚至缩放到完全不同的四边形).

data = np.asarray([

[69.1216, 51.7061], [72.7985, 73.2601], [75.9628, 91.8095],

[79.7145, 113.802], [83.239, 134.463], [86.6833, 154.654],

[88.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值