資源簡介
圖像分割算法,區域生長法,基于二個種子點分割腦部MRI圖像,程序完整,希望跟大家分享。
代碼片段和文件信息
image=imread(‘mri1.jpg‘);
I=rgb2gray(image);
figureimshow(I)title(‘原始圖像‘)
I=double(I)/255;
[MN]=size(I);
x1=65;y1=56;x2=72;y2=113;
seed1=I(x1y1);?????????????%將生長起始點灰度值存入seed中
seed2=I(x2y2);?
Y=zeros(MN);?????????????%作一個全零與原圖像等大的圖像矩陣Y,作為輸出圖像矩陣
Z=zeros(MN);?
Y(x1y1)=I(x1y1);??????????%將Y中與所取點相對應位置的點設置為與原圖像相同的灰度
Z(x2y2)=I(x2y2);??????????%將Z中與所取點相對應位置的點設置為與原圖像相同的灰度
sum1=seed1;???????????????%儲存符合區域生長條件的點的灰度值的和
suit1=1;???????????????????%儲存符合區域生長條件的點的個數
count1=1;?????????????????%記錄每次判斷一點周圍八點符合條件的新點的數目
threshold1=0.05555;?????????%判斷域值
while?count1>0
?s1=0;????????????????????%記錄判斷一點周圍八點時,符合條件的新點的灰度值之和
?count1=0;
?for?i1=1:M
???for?j1=1:ceil(N/2)
?????if?Y(i1j1)~=0
??????if?(i1-1)>0?&?(i1+1)<(M+1)?&?(j1-1)>1?&?(j1+1)<((ceil(N/2))+1)
?%判斷此點是否為圖像邊界上的點
???????for?u=-1:1????????????????????????????????%判斷點周圍八點是否合和域值條件
????????for?v=-1:1???????????????????????????????%uv為偏移量
??????????if??Y(i1+uj1+v)==0?&?abs(I(i1+uj1+v)-seed1)<=threshold1????
%判斷是
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????3209??2008-08-05?14:07??基于matlab的有關醫學中人腦部的分割\seg_twoseeds.m
?????文件??????47468??2005-05-26?09:10??基于matlab的有關醫學中人腦部的分割\mri1.jpg
????..A.SH.??????9216??2008-08-05?14:10??基于matlab的有關醫學中人腦部的分割\Thumbs.db
?????目錄??????????0??2008-08-05?14:10??基于matlab的有關醫學中人腦部的分割
-----------?---------??----------?-----??----
????????????????59893????????????????????4
評論
共有 條評論