AB版本拉伸策略: # 判断是否为dB # immask = np.isfinite(im_data) # imvail_data = im_data[immask] # minvalue = np.percentile(imvail_data,30) # if minvalue<0 : # im_data=np.power(10.0,im_data/10.0) im_data=np.sqrt(im_data) immask = np.isfinite(im_data) imvail_data = im_data[immask] minvalue=np.nanmin(imvail_data) maxvalue=np.nanmax(imvail_data) minvalue_01Prec = np.percentile(imvail_data, 2) # 20250904 1%拉伸 maxvalue_999Prec = np.percentile(imvail_data, 98) print('sqrt root min - max ', minvalue,maxvalue) if (maxvalue-minvalue)/(maxvalue_999Prec-minvalue_01Prec)>3: # 表示 拉伸之后,像素值绝大部分很有可能集中在 80 minvalue=minvalue_01Prec maxvalue=maxvalue_999Prec print('sqrt root min(0.1) - max(99.9) ', minvalue, maxvalue) im_data = (im_data - minvalue) / (maxvalue - minvalue) * 254 + 1 im_data = np.clip(im_data, 0, 255) return im_data.astype(np.uint8) # 常用网址 ## 清华源地址 pip install nodezator -i https://pypi.tuna.tsinghua.edu.cn/simple conda install numpy -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ ## 腾讯元宝 https://yuanbao.tencent.com/chat/naQivTmsDa