30 lines
889 B
Python
30 lines
889 B
Python
|
|
def cal(base_block,i,j):
|
|
|
|
std=np.std(base_block)
|
|
dist=np.max(base_block)-np.min(base_block)
|
|
return [i,j,std,dist]
|
|
|
|
|
|
plist=[]
|
|
with Pool() as pool:
|
|
for i in range(height):
|
|
print("\r",i,"/",height," ",end="")
|
|
if i<50 or i>height-51:
|
|
continue
|
|
for j in range(width):
|
|
if j<50 or j>width-51:
|
|
continue
|
|
base_block=data[i-50:i+50,j-50:j+50]
|
|
plist.append(pool.apply_async(cal,args=(base,i,j,)))
|
|
pool.close()
|
|
pool.join()
|
|
for p in plist:
|
|
result=p.get()
|
|
[i,j,std,dist]=result
|
|
base_std[i,j]=std
|
|
base_dist[i,j]=dist
|
|
|
|
base_std.astype(np.float32).tofile(r"D:\MicroSAR\C-SAR\Ortho\Ortho\Temporary\HH_std.bin")
|
|
base_dist.astype(np.float32).tofile(r"D:\MicroSAR\C-SAR\Ortho\Ortho\Temporary\HH_dist.bin")
|
|
print(base_dist.shape,base_dist.dtype) |