資源簡介
基于種子點8-鄰域的區間生長算法的Matlab實現
代碼片段和文件信息
function?J?=?regionGrow(I)
%?區域生長,需要以交互方式設定初始種子點,具體方法為鼠標單擊圖像中一點后,按下回車鍵
%
%?輸入:I?-?原圖像
%?輸出:J?-?輸出圖像
if?isinteger(I)
????I=im2double(I);
end
figureimshow(I)title(‘原始圖像‘)
[MN]=size(I);
[yx]=getpts;?????????????%獲得區域生長起始點
x1=round(x);????????????%橫坐標取整
y1=round(y);????????????%縱坐標取整
seed=I(x1y1);???????????%將生長起始點灰度值存入seed中
J=zeros(MN);??????????%作一個全零與原圖像等大的圖像矩陣J,作為輸出圖像矩陣
J(x1y1)=1;?????????????%將J中與所取點相對應位置的點設置為白
sum=seed;??????????????%儲存符合區域生長條件的點的灰度值的和
suit=1;?????????????????%儲存符合區域生長條件的點的個數
count=1;???????????????%記錄每次判斷一點周圍八點符合條件的新點的數目
threshold=0.15;?????????%閾值,注意需要和double類型存儲的圖像相符合
while?count>0
????s=0;???????????????????%記錄判斷一點周圍八點時,符合條件的新點的灰度值之和
?????count=0;
?????for?i=1:M
???????for?j=1:N
?????????if?J(ij)==1
??????????if?(i-1)>0?&?(i+1
- 上一篇:三電平SVPWM仿真
- 下一篇:基于高斯拉普拉斯的HDR合成matlab代碼
評論
共有 條評論