如何在Matlab中去除特定区域的噪声

如何在Matlab中去除特定区域的噪声,matlab,filtering,noise,Matlab,Filtering,Noise,我有一个180x220大小的图像,其中包含一些区域噪声,例如(145:180,1:65) 我的问题是如何使用Matlab在不影响图像其他部分的情况下去除该区域的噪声 多谢各位 编辑:我想从下图中删除区域(1:146,1:25)和(1:15,25174)中的噪波: 通常情况下,这将类似于 % filter image in-place img(145:180, 1:65) = medfilt2(img(145:180, 1:65)); 请注意,大多数过滤器需要感兴趣区域的某些上下文来进行适当的插

我有一个180x220大小的图像,其中包含一些区域噪声,例如(145:180,1:65)

我的问题是如何使用Matlab在不影响图像其他部分的情况下去除该区域的噪声

多谢各位

编辑:我想从下图中删除区域(1:146,1:25)和(1:15,25174)中的噪波:


通常情况下,这将类似于

% filter image in-place
img(145:180, 1:65) = medfilt2(img(145:180, 1:65));
请注意,大多数过滤器需要感兴趣区域的某些上下文来进行适当的插值/平均化等操作,因此您可能希望采用这种方法:

% Note: increase ROI by 10 on each side
offset = 10;
img_tmp = img(145-offset : 180+offset, 1 : 65+offset); 

% apply filter
img_tmp = medfilt2(img_tmp, [additional parameters]);

% put filtered image back in its proper place
img(145:180, 1:65) = img_tmp(offset:end-offset+1, 1:end-offset+1); 

总的来说,这会有点像

% filter image in-place
img(145:180, 1:65) = medfilt2(img(145:180, 1:65));
请注意,大多数过滤器需要感兴趣区域的某些上下文来进行适当的插值/平均化等操作,因此您可能希望采用这种方法:

% Note: increase ROI by 10 on each side
offset = 10;
img_tmp = img(145-offset : 180+offset, 1 : 65+offset); 

% apply filter
img_tmp = medfilt2(img_tmp, [additional parameters]);

% put filtered image back in its proper place
img(145:180, 1:65) = img_tmp(offset:end-offset+1, 1:end-offset+1); 
现在,仅在噪声区域使用过滤图像

img(145:180,1:65,:) = img_filt(145:180,1:65,:); 
编辑:发布图像后,我想您只想用香草色替换带噪区域? 如果是,则执行以下操作(假设为灰色图像):

。。。等等

现在,仅在噪声区域使用过滤图像

img(145:180,1:65,:) = img_filt(145:180,1:65,:); 
编辑:发布图像后,我想您只想用香草色替换带噪区域? 如果是,则执行以下操作(假设为灰色图像):


。。。等等

如果不知道什么类型的噪音,也看不到图像,很难回答。谢谢,我添加了一张图像,并指定了要从中去除噪音的确切区域。@gambaosca:hmmm这看起来不像噪音,更像是一些锐化过滤器或类似的输出…你可以自由说出这是什么图像吗?这是一个深度图。由深度传感器获取。噪声对应于传感器最大范围(5米)以外的区域。如果不知道噪声类型和没有看到图像,很难回答。谢谢,我添加了一个图像,并指定了要从中去除噪声的确切区域。@Gambaosca:hmmm这看起来不像噪声,更像是一些锐化过滤器或类似的输出……你可以自由说出这是什么图像吗?这是一个深度图。由深度传感器获取。噪声对应于传感器最大范围外的区域(5米)。+1,尽管
img(145:180,1:65,:)=imfilter(img(145:180,1:65,:),h,'replicate')
对资源的要求要低得多。@RodyOldenhuis,我同意。但是这可以允许使用非常大的(LF)滤波器来使用实际图像清除噪声。我猜这取决于速度/质量要求。没错,这取决于过滤器的类型和大小,因此也取决于ROI的周围环境。+1,尽管
img(145:180,1:65,:)=imfilter(img(145:180,1:65,:),h,'replicate')
对资源的要求要低得多。@RodyOldenhuis,我同意。但是这可以允许使用非常大的(LF)滤波器来使用实际图像清除噪声。我想这取决于速度/质量要求。没错,这取决于过滤器的类型和大小,因此也取决于ROI的周围环境。谢谢你,Rody,我的图像是深度图,它只包含一层。我附上了一个示例图像。谢谢你,罗迪,我的图像是一个深度图,它只包含一个图层。我附上了一个示例图像。