【发布时间】:2015-01-04 10:28:32
【问题描述】:
我有一张带有噪点的灰色图像。我是从图像中删除噪声的新手,所以我不知道噪声的类型以及如何从图像中删除它。我的目标是在去除噪声后使用局部阈值将图像转换为二进制模式。
有没有人知道噪音的类型并有办法消除这种噪音?
图片:
【问题讨论】:
-
你是如何从原图得到这张图的?
标签: matlab image-processing filtering noise
我有一张带有噪点的灰色图像。我是从图像中删除噪声的新手,所以我不知道噪声的类型以及如何从图像中删除它。我的目标是在去除噪声后使用局部阈值将图像转换为二进制模式。
有没有人知道噪音的类型并有办法消除这种噪音?
图片:
【问题讨论】:
标签: matlab image-processing filtering noise
显微镜噪声通常来自两个来源:
1) 高斯/电子噪声
这种类型的噪声来自于电子器件中的量子效应引起的探测器波动。它是随机生成的并遵循高斯分布。因此,在这种情况下,使用高斯滤波器可能是去除它的最佳选择。
2) 散粒噪声
到达探测器的光子通过光电效应转换为电信号,到达探测器的光子数量的波动会产生散粒噪声,这种散粒噪声很难消除,通常在采集过程中占主导地位。它遵循看起来像高斯分布的泊松分布,因此在这种情况下,高斯滤波器也可能是合适的。
所以回到您的问题,看起来高斯滤波器确实是最直观的选择,尽管也可以使用平均滤波器。这是一个示例代码,您可以尝试使用:
clear
close all
clc
A = imread('http://i.stack.imgur.com/IlqAi.jpg');
BW = im2bw(A,.9); %//Treshold image
h = fspecial('gaussian', [5 5],.8); %// Create gaussian filter
BW2 = imfilter(BW,h); %// Apply filter
imshow(BW2); %// Display image
结果如下:
您可以更改过滤器参数(即内核大小和 sigma 值)并查看它们如何影响结果。以下是您也可以使用的其他过滤器:
中位数:
BW2 = medfilt2(BW,[3 3]); %// Median filter
或平均:
h = fspecial('average', 3) %//average filter
BW2 = imfilter(BW,h);
您可能对 Mathworks 网站上的 this 链接感兴趣,该链接讨论了消除图像中的噪声。 希望对您有所帮助!
【讨论】: