Python 计算固定元素中坐标距离的最小值
初始定义:
import numpy as np
import datetime
import math
for l in range(100):
x=np.random.randint(0,2,size=(4, 4))#定义矩阵
D=16
方法一:
a=datetime.datetime.now()#记录计算开始时间
def Dn(x, D): # 参数表示X[i]
rows = int(D ** 0.5)
cols = int(D ** 0.5)
xsum = np.sum(x) # Dnearest最近距离的值
if xsum == 0: # X矩阵一行rows×cols组成新矩阵元素的和。
return 0
elif xsum == 1:
return (rows ** 2 + cols ** 2) ** 0.05 # 怎样将列表转换成矩阵
else: # 全部像素中,一个水像素到另一个水像素的最近距离
f = np.argwhere(x)
b = f.shape[0]
Dist = []
for i in range(b):
for j in range(b):
d = math.sqrt((f[i][0] - f[j][0]) ** 2 + (f[i][1] - f[j][1]) ** 2)
if d!= 0:
Dist.ap