基于Matlab的低分辨率噪声背景图像斑点检测

基于Matlab的低分辨率噪声背景图像斑点检测,matlab,computer-vision,Matlab,Computer Vision,我的这张图片显示了一些细胞,这些细胞必须被检测出来以便进一步分析。请注意,它的对比度非常低 然后我调整对比度: im_contrastadjusted = imadjust(im); 减去背景: background = imopen(im_contrastadjusted,strel('disk',3)); im_bgadjusted = im_contrastadjusted-background; 过滤掉噪音: im_noisefiltered = medfilt2(im_bga

我的这张图片显示了一些细胞,这些细胞必须被检测出来以便进一步分析。请注意,它的对比度非常低

然后我调整对比度:

im_contrastadjusted = imadjust(im);

减去背景:

background = imopen(im_contrastadjusted,strel('disk',3));
im_bgadjusted = im_contrastadjusted-background;

过滤掉噪音:

im_noisefiltered = medfilt2(im_bgadjusted);

再次调整对比度:

im_contrastadjusted2 = imadjust(im_noisefiltered);

然后使用高阈值将其转换为二进制:

im_bw = im2bw(im_contrastadjusted2, 0.98);

我将二值图像的边界覆盖在原始图像上:


这一结果相当不错,但细胞团往往被视为一个细胞。我试图做一个分水岭分割,但图像的分辨率太低,无法得到一个好的结果。我可以使用一些想法来进一步改进结果。

您是否使用边缘检测进行了对比?你有没有使用边缘检测?