【发布时间】:2021-09-15 02:10:23
【问题描述】:
我有一个形状为 512x512 的 numpy 数组和这个范围内的中心点。现在我想用中心点到数组元素的欧几里德距离填充数组。
例如:Center=[10,10] -> array[0,0]=sqrt((0-10)^2+(0-10)^2)...
我已经有了工作代码:
def calc_euclidean_distance(center, point):
return np.sqrt((center[0] - point[0]) ** 2 + (center[1] - point[1]) ** 2)
target = np.zeros([512, 512])
center = np.array([10, 376]) #example
for iterrow, row in enumerate(target):
for itercol, i in enumerate(row):
target[iterrow, itercol] = self.calc_euclidean_distance(center, [iterrow, itercol])
但这真的很慢,也可能非常“非pythonic”。我想不出更好的方法,现在要求接受教育。
【问题讨论】:
标签: python arrays numpy matrix