我有一个numpy二维数组(图像),其值>> 0.0但是有一些索引值为'nan'。当我尝试绘制这个图时,它看起来像下面的图像。图像阵列中的0变为黑色,而nan变为白色。
现在我想在这个数组上应用高斯平滑,这样当我尝试绘制平滑数组时平滑后,前一个数组的nan值只显示为白色。
答案 0 :(得分:0)
当对图像进行高斯滤波时,靠近nan
像素的任何像素也将变为nan
,因为其新值是卷积所覆盖的所有相邻像素的加权和内核。
因此,使用例如scipy.ndimage.filters.gaussian_filter()
平滑此特定图像会将很多零值转换为nan
s,您将丢失大量信息。
为了平滑这个(显然是二进制的)数据,我会用其他值替换nan
s,当然保持与非nan
像素的对比度。例如,将零变为1,将nan
变为零,然后应用过滤器。