資源簡介
Matlab邊緣檢測(cè)和區(qū)域生長圖像分割算法代碼,適合于圖像邊緣檢測(cè)。
代碼片段和文件信息
clc;
clear?all;
k=input(‘Enter?the?file?name:‘‘s‘);?%?輸入圖像
im=imread(k);???????????????????????%讀取圖像
im=im2double(im);???????????????????%將圖像轉(zhuǎn)化為double型?不是的,看我們的需要,不過大多數(shù)都是?因?yàn)閐ouble類型,處理基本不受限制,其他類型有時(shí)受限制?
im1=rgb2gray(im);???????????????????%將圖像轉(zhuǎn)換為灰度圖像
im1=medfilt2(im1[3?3]);????????????%中值濾波???這個(gè)窗口有3*3的,5*5的,7*7的等等?,選擇哪個(gè)都可以,關(guān)鍵看我們圖像的要求,當(dāng)然窗口越小,效果會(huì)越好?均值濾波使得圖像模糊
BW?=?edge(im1‘Sobel‘);?????????????%找到邊緣?cannyprewittlog都試過了,效果沒有sobel好
[imximy]=size(BW);?????????????????%提取BW圖像的大小??imx代表行數(shù),imy代表列數(shù)
msk=[0?0?0?0?0;
?????0?1?1?1?0;
?????0?1?1?1?0;
?????0?1?1?1?0;
?????0?0?0?0?0;];??????????????????%隨便刪,隨便加行,減行都可以?實(shí)驗(yàn)了很多種,最后得到這個(gè)是最好的。
B=conv2(double(BW)double(msk));???%平滑圖像?平滑圖像能幫助我們更好的標(biāo)注?圖像實(shí)際由于灰度不同,會(huì)呈現(xiàn)許多區(qū)域?標(biāo)注就是對(duì)每個(gè)區(qū)域進(jìn)行標(biāo)注
L?=?bwlabel(B8);??????????????????%標(biāo)注連通對(duì)象?選擇8連通進(jìn)行標(biāo)注?用8連通函數(shù)進(jìn)行標(biāo)
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件???????1671??2011-03-03?15:16??Matlab邊緣檢測(cè)和區(qū)域生長圖像分割算法代碼\deer.m
?????文件????????312??2011-03-03?15:16??Matlab邊緣檢測(cè)和區(qū)域生長圖像分割算法代碼\regiongrow.m
?????目錄??????????0??2011-04-11?20:33??Matlab邊緣檢測(cè)和區(qū)域生長圖像分割算法代碼
-----------?---------??----------?-----??----
?????????????????1983????????????????????3
評(píng)論
共有 條評(píng)論