细胞图像处理大作业

上传人:M****1 文档编号:563800440 上传时间:2022-08-19 格式:DOC 页数:7 大小:204.01KB
返回 下载 相关 举报
细胞图像处理大作业_第1页
第1页 / 共7页
细胞图像处理大作业_第2页
第2页 / 共7页
细胞图像处理大作业_第3页
第3页 / 共7页
细胞图像处理大作业_第4页
第4页 / 共7页
细胞图像处理大作业_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《细胞图像处理大作业》由会员分享,可在线阅读,更多相关《细胞图像处理大作业(7页珍藏版)》请在金锄头文库上搜索。

1、 实验报告实验课程: 数字图像处理 实验名称: 骨髓细胞计数 实验地点: 计算机中心405 学生姓名: 学 号: 指导教师: 实验时间: 年 月 一、实验要求:将被染成紫色的白细胞从较暗的红细胞和背景中分割出来,去除细胞粘连,用数字图像处理技术实现图像中紫色细胞的自动计数。二、实验过程1、对原图像进行预处理(1)由于源图像是彩色图像,为了便于进行仿真实验,在进行处理之前需要将彩色图像转换为灰度图像。用到的函数为rgb2gray(2)获取图像的全局阈值并将图像二值化,以方便后面实验中对图像进行形态学修饰的进行(3)在图像获取过程中,由于热传输等影响,会产生高斯噪声,较适合采用中值滤波的方法进行去

2、噪处理。因为,中值滤波的方法能够较好的保护细胞的边缘信息,满足本实验的需求;(4)删除小面积图像(5)对图像进行开闭运算。开和闭这两种运算可以除去比结构元素小的特定图像细节,同时保证不产生全局几何失真。开运算可以把比结构元素小的突刺滤掉,切断细长搭接而起到分离作用;闭运算可以把比结构元素小的缺口或孔填充上,搭接短的间隔而起到连接作用。(6)对图像进行孔洞填充,(7)开闭运算会留下一些偏离的孤立像素,使用bwareaopen来移除少于特定像素个数的斑点。BW2= bwareaopen(BW,P)从二值图像中移除所以少于P像素值的连通块,得到另外的二值图像BW3。实验图片显示如下:2、分割计数 本

3、次实验采用分水岭法对进行过预处理的图像进行分割和计数,最后计数得紫色细胞个数为35三、实验心得体会 通过这学期的学习,我获益匪浅,学到了很多有趣的知识,知道了什么是灰度图,二值化,阈值,分水岭等很多有趣的图像处理方法,知道了怎么使用matlab帮助查找自己不会的函数,也成功的自己独立完成了细胞的计数。这门课也激起了我对图像处理的兴趣,课程结束后也会继续学习更多的函数知识,不会停止这方面的学习。四、源代码Image = imread(b1.bmp); subplot(321);imshow(Image); title(原图); Image=rgb2gray(Image);subplot(322)

4、; imshow(Image); title(灰度图); Theshold = graythresh(Image);BW = im2bw(Image,1.3*Theshold); subplot(323),imshow(BW); title(二值化图像); BW1= medfilt2(BW,13 13);BW1=bwareaopen(BW,50,4)subplot(3,2,4); imshow(BW1); title(删除小面积后图像); se=strel(disk,5);fo=imopen(BW1,se);foc=imclose(fo,se)subplot(3,2,5); imshow(fo

5、c); title(开闭运算后图像);BW2=imfill(foc,holes);subplot(3,2,6); imshow(BW2);title(孔洞填充后图像);BW3=bwareaopen(BW2,20);D=bwdist(BW3);D=-D;D(BW3)=-Inf;L=watershed(D);rgb=label2rgb(L,jet);figure;imshow(rgb,);title(分水岭分割计算后图像);number=max(max(L)-1;number方法一源程序:A=imread(y1.bmp);B=rgb2gray(A); h=0 1 0,1 -4 1,0 1 0; J

6、1=conv2(B,h,same); K1=medfilt2(J1,3 3); BW=edge(K1,canny); SE= strel(line,11,90);BW1=imdilate(BW,SE); BW2=bwmorph(BW1,thin,Inf); H, theta, rho = hough(BW2, ThetaResolution, 0.2); subplot(221),imshow(H, , XData, theta, YData, rho, InitialMagnification, fit) axis on, axis normal xlabel(theta), ylabel(

7、rho) ,peaks = houghpeaks(H, 5); hold on plot(theta(peaks(:, 2), rho(peaks(:, 1), .linestyle, none, marker, s, color, w); lines = houghlines(BW2, theta, rho, peaks); subplot(222),imshow(BW2), hold on for k = 1:length(lines) xy = lines(k).point1 ; lines(k).point2; plot(xy(:,1), xy(:,2), LineWidth, 4, Color, .8 .8 .8); end

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 试题/考题 > 初中试题/考题

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号