用于区域增长的图像分割程序
image = imread('mri1.bmp');
I = rgb2gray(image);
图区域增长 图像分割,imshow(I),标题(“原始图片”)
I = double(I);
[M,N] = size(I);
[y区域增长 图像分割,x] = getpts; %获得区域增长的起点
x1 = round(x);横坐标%舍入
y1 = round(y);垂直坐标舍入%
seed = I(x1,y1);将生长起点的灰度值存储在中
Y = zeros(M,N);%将所有零等于原始图像的图像矩阵Y作为输出图像矩阵
Y(x1,y1)= 1; %在Y中设置与作为白场的点相对应的点
sum =; %存储满足区域增长条件的点的灰度值总和
suit = 1; %存储符合区域增长条件的点数
count = 1; %在每个点周围的八个点处记录符合条件的新点数
阈值= 15;阈值%
计数> 0
s = 0; %在判断一个点周围的八个点时记录满足条件的新点的灰度值之和
count = 0;
对于i = 1: M
对于j = 1: N
如果Y(i,j)== 1
如果(i-1)> 0 &&(i + 1) 0 &&(j + 1)
对于u = -1: 1%,判断该点周围的八个点是否满足阈值条件
对于v = -1: 1%u,v是偏移量
ifY(i + u,j + v)== 0&abs(I(i + u,j + v)-seed)<=阈值&1 /(1 + 1/15 * abs(I(i + u) ,j + v)-seed)))> 0.8%判断输出矩阵Y中是否不存在该点,并且该点满足阈值条件
Y(i + u,j + v)= 1; %满足以上两个条件,即将与其在Y中的位置相对应的点设置为白场
count = count + 1;
s = s + I(i + u,j + v); %此点的灰度级已添加到s
结束
结束
结束
结束
结束
结束
结束
suit = suit + count; %将n添加到匹配点计数器
sum = sum + s; %将s添加到匹配点的总灰度值中
seed =总和/西装; %计算新的灰色平均值
结束
图,imshow(Y),标题(“除后的图像”)
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-231914-1.html