数字图像处理课程设计(实验报告)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数字图像处理课程设计报告

姓名:x x

学号:xxxxxxx

班级: xxxxxxxxxxxxxxx

设计题目:红细胞数目检测

教师:xxxxxx老师

提交日期: xx月xx日

一、设计内容:

主题:《红细胞数目检测》

详细说明:读入红细胞图片,通过中值滤波,开运算,闭运算,以及贴标签等方法获得细胞个数。

二、现实意义:

细胞数目检测在现实生活中的意义主要体现在医学上的作用,可通过细胞数目的检测来查看并估计病人或动物的血液中细胞数,如估测血液中红细胞、白细胞、血小板、淋巴细胞等细胞的数目,同时也可检测癌细胞的数目来查看医疗效果,根据这一系列的指标来对病人或动物进行治疗,是具有极其重要的现实作用的。

三、涉及知识内容:

1、中值滤波

2、开运算

3、闭运算

4、二值化

5、贴标签

四、实例分析及截图效果:

(1)代码显示:

1、程序中定义图像变量说明

(1)Image--------------------------------------------------------------原图变量;

(2)Image_BW-------------------------------------------------------值化图象; (3)Image_BW_medfilt-------------------------中值滤波后的二值化图像; (4)Optimized_Image_BW---通过“初次二值化图像”与“中值滤波后的二值化图像”进行“或”运算优化图像效果;

(5)Reverse_Image_BW--------------------------优化后二值化图象取反;(6)Filled_Image_BW----------------------已填充背景色的二进制图像;(7)Open_Image_BW--------------------------------------开运算后的图像;

2、实现代码:

Image = imread('红细胞5.jpg');

figure,imshow(Image);

title('【原图】');

Theshold = graythresh(Image);

Image_BW = im2bw(Image,Theshold);

figure,imshow(Image_BW);

title('【初次二值化图像】');

Image_BW_medfilt= medfilt2(Image_BW,[13 13]);

figure,imshow(Image_BW_medfilt);

title('【中值滤波后的二值化图像】');

Optimized_Image_BW = Image_BW_medfilt|Image_BW;

figure,imshow(Optimized_Image_BW);

title('【进行“或”运算优化图像效果】');

Reverse_Image_BW = ~Optimized_Image_BW;

figure,imshow(Reverse_Image_BW);

title('【优化后二值化图象取反】');

Filled_Image_BW = bwfill(Reverse_Image_BW,'holes'); figure, imshow(Filled_Image_BW);

title('【已填充背景色的二进制图像】');

SE = strel('disk',4);

Open_Image_BW = imopen(Filled_Image_BW,SE); figure, imshow(Open_Image_BW);

title(' 【开运算后的图像】');

[Label Number]=bwlabel(Open_Image_BW,8)

Array = bwlabel(Open_Image_BW,8);

Sum = [];

for i=1:Number

[r,c] = find(Array==i);

rc = [r c];

Num = length(rc);

Sum([i])=Num;

End

Sum

N = 0;

for i=1:length(Sum)

if(Sum([i])) > 1500

N = N+1;

end

end

Number = Number+N

3、运行效果截图:

第一步:读取原图,并显示

Image = imread('红细胞5.jpg');

figure,imshow(Image);

title(' 【原图】');

第二步:进行二值化

Theshold = graythresh(Image);%取得图象的全局域值Image_BW = im2bw(Image,Theshold);%二值化图象figure,imshow(Image_BW);

title(' 【初次二值化图像】');

第三步:进行二值化图像

Image_BW_medfilt= medfilt2(Image_BW,[13 13]);

figure,imshow(Image_BW_medfilt);

title(' 【中值滤波后的二值化图像】');

第四步:通过“初次二值化图像”与“中值滤波后的二值化图像”进行“或”运算优化图像效果

Optimized_Image_BW = Image_BW_medfilt|Image_BW;

figure,imshow(Optimized_Image_BW);

title(' 【进行“或”运算优化图像效果】');

相关文档
最新文档