在具有背景的嘈杂,低分辨率图像上的斑点检测在Matlab中

时间:2017-05-28 12:19:33

标签: matlab computer-vision

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

Original image

然后我调整对比度:

im_contrastadjusted = imadjust(im);

Contrast adjusted

减去背景:

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

Background subtracted

滤除噪音:

im_noisefiltered = medfilt2(im_bgadjusted);

Filtered noise

再次调整对比度:

im_contrastadjusted2 = imadjust(im_noisefiltered);

Contrast adjusted again

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

im_bw = im2bw(im_contrastadjusted2, 0.98);

Converted to binary

我在原始图像上叠加了二进制图像的边界:

Overlayed

这个结果相当不错,但细胞团经常被认为是一个细胞。我尝试进行分水岭分割,但图像分辨率太低,无法获得良好的效果。我可以使用一些想法来进一步改善结果。

0 个答案:

没有答案