Numpy和CV在Python中坐标系不一致导致的绘图位置错误

一般对图片的操作,直接使用CV处理比较好,保持整体坐标标准统一。但是有些做数据可视化的部分,需要把CV处理的结果反馈到Numpy再作进一步的处理,这个时候需要将标准转换到Numpy。

# Numpy以左上角为(0, 0),但是以垂线为X轴,以水平轴为Y轴
# CV以左上角为(0, 0), 但是以垂线为Y轴, 以水平轴为X轴

根据以上内容,只需要将CV输出的结果进行X,Y转置即可应用到Numpy中。

注意事项

在大多数情况下,这样做没有问题。但是要注意可能出现一种NumPy在行的维度上上下翻转的情况,这个时候需要把行坐标作进一步的变化,也就是对NumPy的X坐标。

# assume A.shape is [2048, 2048]
# 现在CV输出了一个点[1000, 800]
# 为了能在NumPy中对这个点进行操作需要做两步
# 1.转置
Nxy = [CVxy[1], CVxy[0]]
# 2.翻转
Nxy[0] = A.shape[0] - Nxy[0]

# 上面两步合成一步后
Nxy = [A.shape[0] - CVxy[1], CVxy[0]]

个人博客:https://kecilimu-notion.vercel.app/

个人邮箱:kecilimu@163.com

转载请务必注明出处

文章主图是陌芋大大的图

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值