1、题目:白细胞个数检测
检测出下图中细胞的个数。
处理过程
首先将图像依次转化为灰度图像,二值图像。
然后对二值图像进行中值滤波,并删除小面积对象(删除白色底面里面的黑色小点)。
其次,将图像反相,并删除小面积对象(相当于删除了二值图像里面黑色底面的白色小点)。
再次,对图像进行第二次中值滤波。
最后,标记连通区域,并取出8邻域连通区域的个数,目标实现。
处理结果
检测细胞数量Number=4。
程序清单
clear;
close all;
Image = imread('5.jpg');
subplot(3,2,1);
imshow(Image);
ti
2、tle('原图');
Image=rgb2gray(Image);
subplot(3,2,2);
imshow(Image);
title('灰度图');
Theshold = graythresh(Image);
Image_BW = im2bw(Image,Theshold);
Reverse_Image_BW22=~Image_BW;
subplot(3,2,3);
imshow(Image_BW);
title('初次二值化图像');
Image_BW_medfilt= medfilt2(Image_BW,[13 13]);
subplot(3,2,4);
3、imshow(Image_BW_medfilt);
title('中值滤波后的二值化图像');
Reverse_Image_BW = ~Image_BW_medfilt;
subplot(3,2,5);
imshow(Reverse_Image_BW);
title('优化后二值化图象取反');
Image_BW_medfilt2= medfilt2(Reverse_Image_BW,[13 13]);
subplot(3,2,6);
imshow(Image_BW_medfilt2);
title('第二次中值滤波的二值化图像');
[Label, Number]=bwlabel(Image_BW_medfilt2,8);
Number