提问者:小点点

如何在Python中将坐标存储到数组中?


我正在开始一个新的项目,将涉及采取两个图像和比较图像内部的点的中心。 原作将是一幅有27行15列圆点的图片。 第二张图片将是原版的扭曲版,其中的点已经改变了位置和形状。

为了开始这个项目,我需要在一个数组中存储原始中心。

我做了一个公式,可以找到原稿中每个圆的中心。

X: n = 0..26 [48n+5]
Y: m = 0..14 [48m+5]

作为一个例子,点(2,5)的中心将是

[48(2)+5,48(5)+5]=[101,245]

TLDR:我需要帮助使用下面的公式存储(x,y)coorinates

[X,Y] = [48(n)+5 , 48(m)+5] for n = 0..26, m = 0..14

共3个答案

匿名用户

这是二维阵列的直接方法:

arr = []
for n in range(27):
    for m in range(15):
        arr.append([48*(n)+5 , 48*(m)+5])

这对于3D阵列也是一样的:

arr = []
for n in range(27):
    sub = []
    for m in range(15):
        sub.append([48*(n)+5 , 48*(m)+5])
    arr.append(sub)

对于第二个,您可以访问n的值,而marr[n][m]

同一解决方案的一个衬垫:

arr = [[[48*n+5 , 48*m+5] for m in range(15)] for n in range(27)]

匿名用户

嗨,我不太明白您的问题是什么,但是您可以使用下面的代码,使用嵌套循环,将图像存储在数组或python列表中:centres=[]

对于范围(27)中的i:对于范围(15)中的j:居中。追加([48*(n)+5,48*(m)+5])

但是,如果您需要更多关于图像处理的帮助以及如何将图像转换为numpy数组的帮助,请使用以下链接:https://www.pluralsight.com/guides/importing-image-data-into-numpy-arrays

匿名用户

你可以用一个简单的列表理解来完成你的任务

[(48*(n) + 5, 48*(m) + 5) for n in range(0, 27) for m in range(0, 15)]

这将给出一个元组列表,每个元组代表一个坐标点。