温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
图像
处理
红细胞
计数
Matlab
红细胞计数
处理过程
使用全局阈值二值化图像,仅使白细胞可以在二值图像中显示;
调整二值化图像阈值,使白细胞和红细胞都可在二值图像中显示出来;
将两图像进行减操作,从第二幅图像中去除白细胞;
对去除白细胞的二值图像进行中值滤波,删除小面积对象,填充空洞等操作;
标记最后所得二值图像中的连通区域,并获取区域个数。
处理结果
最后结果为101。
处理效果不太理想。
程序清单
clear;
close all;
Image = imread('123.jpg');
subplot(3,2,1);
imshow(Image);
title('原图');
Image=rgb2gray(Image);%取灰度图像
subplot(3,2,2);
imshow(Image);
title('灰度图');
Theshold = graythresh(Image);%取得图象的全局域值
Image_BW = im2bw(Image,1.3*Theshold);%二值化图象
I=im2bw(Image,Theshold);
Reverse_Image_BW22=~Image_BW;%反相
subplot(3,2,3);
imshow(Image_BW);
title('初次二值化图像');
%Image_BW_medfilt= medfilt2(Image_BW,[13 13]);%中值滤波
Image_BW_medfilt=bwareaopen(Reverse_Image_BW22,50,4);
subplot(3,2,4);
imshow(~Image_BW_medfilt);
title('删除小面积对象后的二值化图像');
Reverse_Image_BW = ~Image_BW_medfilt;
I1=~Reverse_Image_BW-~I;
I2=imfill(I1,'holes');
subplot(3,2,5);
imshow(I);
title('白细胞');
I3=imclearborder(I2);
[Label, Number1]=bwlabel(I3,8);
Number1
subplot(3,2,6);imshow(~I1);title('相减图像');
I4=bwareaopen(I1,100,4);
I5=imfill(I4,'holes');
figure;
subplot(221);imshow(~I4);title('删除小面积对象');
subplot(222);imshow(~I5);title('空洞填充');
[Label, Number2]=bwlabel(I5,8);
Number2
I6=medfilt2(I5,[10 10]);
subplot(223);imshow(~I6);title('中值滤波后图像')
I7=bwareaopen(I6,100,4);
subplot(224);imshow(~I7);title('第三次删除小面积对象')
[Label, Number3]=bwlabel(I7,8);
Number3