0

有人可以帮我把这张图片变成黑白(不是灰度)图像,其中粒子是黑色的,背景是白色的吗?(或签证诗)。

它不像对图像进行阈值处理那么简单,因为背景的强度会有所不同,并且减去(高斯)模糊版本确实可以改善这种情况,但还不够。

最好的

马库斯

在此处输入图像描述

4

1 回答 1

2

我建议您使用高通滤波来去除缓慢的背景变化,然后应用阈值。

我尝试了一种非常简单的高通滤波器形式:与常数矩阵卷积(这是一个低通滤波器),然后从原始图像中删除。

查看示例结果。

im = double(imread('tmp.jpg'));
im = im./max(im(:)); % normalize original image

N = 200; % select N of the order of background color spatial variations
imf = filter2(ones(N)/N^2,im); % normalized low-pass filter
imf = im - imf; % high-pass filter
imf = imf-min(imf(:)); % normalize between 0...
imf = imf/max(imf(:)); % ... and 1

threshold = .4; % select as appropriate
imft = imf < threshold;
imagesc(imft), colormap(gray), axis image

在此处输入图像描述

于 2013-09-21T14:57:17.897 回答