一般对图片的操作,直接使用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
转载请务必注明出处
文章主图是陌芋大大的图