有人可以帮我把这张图片变成黑白(不是灰度)图像,其中粒子是黑色的,背景是白色的吗?(或签证诗)。
它不像对图像进行阈值处理那么简单,因为背景的强度会有所不同,并且减去(高斯)模糊版本确实可以改善这种情况,但还不够。
最好的
马库斯
有人可以帮我把这张图片变成黑白(不是灰度)图像,其中粒子是黑色的,背景是白色的吗?(或签证诗)。
它不像对图像进行阈值处理那么简单,因为背景的强度会有所不同,并且减去(高斯)模糊版本确实可以改善这种情况,但还不够。
最好的
马库斯
我建议您使用高通滤波来去除缓慢的背景变化,然后应用阈值。
我尝试了一种非常简单的高通滤波器形式:与常数矩阵卷积(这是一个低通滤波器),然后从原始图像中删除。
查看示例结果。
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