高光谱数据平场校正:不同尺寸参考处理及均值计算需求
解决高光谱平场校正中参考数据的均值计算问题
你可以直接用Numpy的mean()函数,指定**沿第一轴(axis=0)**计算均值,就能把形状为(N, 384, 288)的参考数据压缩成(384, 288)的数组,完美满足广播计算的要求。
具体实现代码
# 对白参考沿第一轴(axis=0)计算均值,得到(384,288)的数组 white_mean = white_nparr.mean(axis=0) # 对暗参考做同样处理 dark_mean = dark_nparr.mean(axis=0) # 执行平场校正,此时数组形状匹配,可正常广播计算 corrected_nparr = np.divide(np.subtract(data_nparr, dark_mean), np.subtract(white_mean, dark_mean))
验证形状
执行后可以检查形状确认结果:
print(white_mean.shape) # 输出 (384, 288) print(dark_mean.shape) # 输出 (384, 288)
补充说明
axis=0对应你数据形状中的第一个维度(白参考的297、暗参考的100),计算该维度上所有样本的平均值,保留后面两个空间维度。- 这种方法比单切片更稳定,因为它用到了所有参考数据的平均,能减少单帧噪声带来的误差。
内容的提问来源于stack exchange,提问作者russj
相关产品推荐
相关产品推荐

