资源简介
细胞图像分割源代码,细胞图像,图像分割,MATLAB,源代码
代码片段和文件信息
blood = imread(‘blood1.BMP‘);
[xy]=size(blood); % 求出图象大小
b=double(blood);
N =sqrt(100) * randn(xy); % 生成方差为10的白噪声
I=b+N; % 噪声干扰图象
for i=1:x % 实际图象的灰度为0~255
for j=1:y
if (I(ij)>255)
I(ij)=255;
end
if (I(ij)<0)
I(ij)=0;
end
end
end
z0=max(max(I)); % 求出图象中最大的灰度
z1=min(min(I)); % 最小的灰度
T=(z0+z1)/2;
TT=0;
S0=0; n0=0;
S1=0; n1=0;
allow=0.5; % 新旧阈值的允许接近程度
d=abs(T-TT);
count=0; % 记录几次循环
while(d>=allow) % 迭代最佳阈值分割算法
count=count+1;
for i=1:x
for j=1:y
if (I(ij)>=T)
S0=S0+I(ij);
n0=n0+1;
end
if (I(ij) S1=S1+I(ij);
n1=n1+1;
end
end
end
T0=S0/n0;
T1=S1/n1;
TT=(T0+T1)/2;
d=abs(T-TT);
T=TT;
end
Seg=zeros(xy);
for i=1:x
for j=1:y
if(I(ij)>=T)
Seg(ij)=1; % 阈值分割的图象
end
end
end
SI=1-Seg; % 阈值分割后的图象求反,便于用腐蚀算法求边缘
se1=strel(‘square‘3); % 定义腐蚀算法的结构
SI1=imerode(SIse1); % 腐蚀算法
BW=SI-SI1; % 边缘检测
%=====传统的边缘检测方法======%
I=uint8(I);
BW1=edge(I‘sobel‘ 0.11);
BW2=edge(I‘log‘ 0.015);
%===========图象显示==========%
figure(1);
imshow(I);title(‘Original‘) % 显示阈值分割的图象
figure(2);
imshow(BW2);title(‘Soble‘) % 显示新算法的边缘图象
figure(3)
imshow(BW1);title(‘Gauss-Laplace‘)
figure(4)
imshow(BW);title(‘New algorithm‘)
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 73160 2003-11-08 18:39 细胞图像分割源代码\blood1.BMP
文件 1962 2004-03-28 16:19 细胞图像分割源代码\cancer.m
..A.SH. 11264 2011-10-14 14:51 细胞图像分割源代码\Thumbs.db
目录 0 2011-10-14 14:51 细胞图像分割源代码
----------- --------- ---------- ----- ----
86386 4
- 上一篇:图像分割 CV模型的MATLAB源代码
- 下一篇:phase unwrapping
评论
共有 条评论