资源简介
基于matlab的分水岭算法分割黏连细胞程序代码。。。。。
代码片段和文件信息
f=imread(‘C:\Users\DCLLLL\Desktop\pic\pic (9).jpg‘); % 读入图像
bw=im2bw(fgraythresh(f)); % 转换为黑白二值图像
bwc=~bw; % 图像反色
dst=bwdist(bwc); % 图像距离
ws=watershed(-dst);
w=ws==0;
rf=bw&~w;
figureimshow(f); % 显示原始图像
title(‘Original Image‘); % 设置图像标题
figureimshow(bw); % 显示处理后的图像
title(‘Negative Image‘); % 设置图像标题
figureimshow(ws); % 显示处理后的图像
title(‘Watershed - Distance Transform‘); % 设置图像标题
figureimshow(rf); % 显示处理后的图像
title(‘Superimposed - Watershed and original image‘); % 设置图像标题
h=fspecial(‘sobel‘); % 设置滤波器
fd=im2double(f); % 数据类型转换
sq=sqrt(imfilter(fdh‘replicate‘).^2+imfilter(fdh‘‘replicate‘).^2); % 分水岭距离变换
sqoc=imclose(imopen(sqones(33))ones(33)); % 图像闭合运算
wsd=watershed(sqoc);
wg=wsd==0;
rfg=f;
rfg(wg)=255;
figureimshow(wsd); % 显示处理后的图像
title(‘Watershed - Gradient‘); % 设置图像标题
figureimshow(rf); % 显示处理后的图像
title(‘Superimposed - Watershed and original image‘); % 设置图像标题
im=imextendedmin(f20);
Lim=watershed(bwdist(im));
figureimshow(Lim); % 显示处理后的图像
title(‘Watershed - Marker Controlled‘); % 设置图像标题
em=Lim==0;
rfmin=imimposemin(sqim|em);
wsdmin=watershed(rfmin);
figureimshow(rfmin); % 显示处理后的图像
title(‘Watershed - Gradient and Marker Controlled‘); % 设置图像标题
rfgm=f;
rfgm(wsdmin==0)=255;
figureimshow(rfgm); % 显示处理后的图像
title(‘Superimposed - Watershed (GM) and original image‘); % 设置图像标题
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 2313 2012-10-28 00:36 分水岭黏连细胞分割\fsl.m
目录 0 2018-02-05 13:25 分水岭黏连细胞分割
----------- --------- ---------- ----- ----
2313 2
评论
共有 条评论