资源简介
区域生长(region growing)是指将成组的像素或区域发展成更大区域的过程。从种子点的集合开始,从这些点的区域增长是通过将与每个种子点有相似属性像强度、灰度级、纹理颜色等的相邻像素合并到此区域。
代码片段和文件信息
function [ROI]=compute_roi(strimg)
[XYZ]=size(img);
% slice=floor(Z/2);
slice=70;
gausFilter = fspecial(‘gaussian‘);
I = imfilter(imggausFilter);
A=I(::slice);
figure(1)imshow(A[])
[yx]=getpts; %获得区域生长起始点
xx=round(x); %横坐标取整
yy=round(y); %纵坐标取整
zz=slice*ones(size(x));
for i=1:length(xx)
seed(i)=I(xx(i)yy(i)zz(i)); %将生长起始点灰度值存入seed中
end
ROI=zeros(XYZ); %作一个全零与原图像等大的图像矩阵Y,作为输出图像矩阵
ROI(xxyyzz)=1; %将Y中与所取点相对应位置的点设置为白场
sum=seed; %储存符合区域生长条件的点的灰度值的和
suit=1; %储存符合区域生长条件的点的个数
count=1; %记录每次判断一点周围八点符合条件的新点的数目
threshold1=100; %域值
threshold2=400;
while count>0
s=0; %记录判断一点周围点时,符合条件的新点的灰度值之和
count=0;
for i=1:X
for j=1:Y
for k=1:Z
if ROI(ijk)==1
if (i-1)>0 && (i+1)<(X+1) && (j-1)>0 && (j+1)<(Y+1) && (k-1)>0 && (k+1)<(Z+1) %判断此点是否为图像边界上的点
for u= -1:1 %判断点周围八点是否符合域值条件
for v= -1:1 %uv为偏移量
for w=-1:1
if ROI(i+uj+vk+w)==0 & abs(I(i+uj+vk+w)-seed)<=threshold1 & abs(I(i+uj+vk+w)-I(ijk))<=threshold2%判断是否未存在于输出矩阵Y,并且为符合域值条件的点
ROI(i+uj+vk+w)=1; %符合以上两条件即将其在Y中与之位置对应的点设置为白场
count=count+1;
s=s+I(i+uj+vk+w); %此点的灰度之加入s中
end
end
end
end
end
end
end
end
end
suit=suit+count; %将n加入符合点数计数器中
sum=sum+s; %将s加入符合点的灰度值总合中
seed=sum/suit; %计算新的灰度平均值
figure(2);
imshow(ROI(::slice))title(‘分割后图像‘)
end
roi=make_nii(ROI);
save_nii(roi[str(1:end-4)‘_roi300.nii‘]);
R=zeros(XYZ);
for i=1:Z
R(::i)=imfill(ROI(::i)‘holes‘);
end
r=make_nii(R);
save_nii(r[str(1:end-4)‘_fill300.nii‘]);
end
% J = zeros(size(I)); % 主函数的返回值,记录区域生长所得到的区域
% Isizes = size(I);
%
% reg_size = 1;%分割的到的区域,初始化只有种子点一个
% neg_free = 10000; %动态
- 上一篇:Simuli
nk FFT模块 - 下一篇:最短路径的matlab程序
相关资源
- 基于区域生长的图像分割MATLAB
- 蚁群算法实现三维路径规划Matlab源码
- 基于matlab的坐标变换程序,通过坐标
- Matlab绘图总结二维,三维显示等
- 基于matlab体绘制技术的医学影像三维
- Census及Hamming距离三维立体重建Matlab程
- 离散点云三维重建matlab程序
- matlab实现三维点云三角化
- Matlab 三维点云 三角化
- matlab 基于点云的三维重建 附带 点云
- 点云的三维重建代码,内容丰富matl
- Matlab二维矩阵(三维图像)寻找波峰
- MATLAB 三维点云重构Surface recostruction
- matlab三维网格化图像源码
- MATLAB 画飞机三维运动轨迹工具箱
- point3d 点云三维重建
- 板类声子晶体,三维模型能带计算
- 三维重建算法 MATLAB 点云数据
- 点云的三维重建 MATLAB代码 带图片以及
- matlab delaunary 三维点云三角化
- 稀疏三维变换协同滤波图像去噪MATL
- 复杂地质条件下三维模型建立
- matlab中关于三维重建的源代码,《计
- 基于高斯球的三维点云精简,matlab实
- 多张图片同时在三维空间中显示matl
- matlab torr3D reconstruction 工具箱
- 基于无线通信基站的室内三维定位问
- 基于MATLAB的三维超声成像及图像处理
- 云点 离散点 三维 重构 三维建模 ma
- 基于matlab的三维地球模型
评论
共有 条评论