2019-03-04

基于MATLAB圖像處理技術(shù)之輪廓提取

1.迭代閾值處理和平滑濾波法處理方式

  • 處理思路:
    1.讀入圖片: I=imread('1.jpg');
    2.二值化處理: I1 = rgb2gray(I);
    3.閾值處理:選用的迭代法,當(dāng)然閾值處理需要選用合適才能成功优炬。
    4.濾波降噪:采用平滑濾波
    5.邊緣檢測(cè):
    感覺(jué)canny和log比較好颁井,這個(gè)可根據(jù)所選的測(cè)試材料的性質(zhì)來(lái)確定。
    6.最大連通域法截取最大的輪廓:
    - 如果中間濾波處理的不是很完善蠢护,或者外界干擾性差蚤蔓,會(huì)引起所選輪廓缺失。除此之外就是圖像自身因素糊余。
    話不多說(shuō)秀又,直接上代碼
I=imread('1.jpg');            %讀取圖片
I1 = rgb2gray(I);              %二值化處理:0/1

ZMAX=max(max(I1));           %取出最大灰度值
ZMIN=min(min(I1));           %取出最小灰度值
TK=(ZMAX+ZMIN)/2;          %獲得平均灰度值

%迭代閾值處理

bcal=1;                             %定義變量
ISIZE=size(I1);              %讀出圖像大小
while(bcal)
iForeground=0;          %定義前景和背景數(shù)
iBackground=0;
ForegroundSum=0;        %定義前景和背景灰度總和
BackgroundSum=0;
for i=1:ISIZE(1)                
for j=1:ISIZE(2)
tmp=I1(i,j);
if(tmp>=TK)
iForeground=iForeground+1;
ForegroundSum=ForegroundSum+double(tmp);    %前景灰度值
else
iBackground=iBackground+1;
BackgroundSum=BackgroundSum+double(tmp);
end
end
end
ZO=ForegroundSum/iForeground;       %計(jì)算前景和背景的平均值
ZB=BackgroundSum/iBackground;
TKTmp=uint8(ZO+ZB)/2;
if(TKTmp==TK )
bcal=0;
else
TK=TKTmp;
end             %當(dāng)閾值不再變化的時(shí)候,說(shuō)明迭代結(jié)束
end
disp(strcat('迭代后的閥值:',num2str(double(TK))));          
newI=im2bw(I,double(TK)/255);
subplot(1,2,1);imshow(I1);
xlabel('(a)原始圖像');
subplot(1,2,2);imshow(newI);
xlabel('(b)迭代法分割效果圖');


%采用平滑濾波降噪
J2=filter2(fspecial('average',5),newI)/255;
imshow(newI,[]);
title('平滑濾波后圖像');

bw=imfill(newI,'hole');                %填充噪點(diǎn)輪廓
isuo=imresize(bw,0.25,'bicubic');
ecanny=edge(isuo,'canny');      %canny算子檢測(cè)
figure,imshow(ecanny),title('邊緣檢測(cè)圖像');
if length(size(ecanny))>2
end
f=bwareaopen(ecanny,50);
figure,imshow(f),title('雜點(diǎn)消除');


%二次二值化處理

if ~islogical(f)
imBw = im2bw(f);                        %轉(zhuǎn)換為二值化圖像
else
imBw =f;
end
imBw = im2bw(f);                        %轉(zhuǎn)換為二值化圖像

%使用最大連通域法進(jìn)行最后的分割---輪廓提取

imLabel = bwlabel(imBw);                %對(duì)各連通域進(jìn)行標(biāo)記
stats = regionprops(imLabel,'Area');    %求各連通域的大小
area = cat(1,stats.Area);
index = find(area == max(area));        %求最大連通域的索引
img = ismember(imLabel,index);
figure,imshow(img),title('檢測(cè)圖像');

基于快速傅里葉變換法之圖像處理

  • 1.這里采用的是傅里葉變換技術(shù)贬芥,在噪點(diǎn)消除上有明顯的不同吐辙,其次就是在雜點(diǎn)去除過(guò)程中有明顯的差別。這樣更有利于圖像全部像素點(diǎn)的采集處理蘸劈。
  • 2.由于傅里葉變換需要將每個(gè)像素點(diǎn)都要一次一次的計(jì)算昏苏,使得程序運(yùn)行起來(lái)相對(duì)吃力一點(diǎn)。所以后期的優(yōu)化工作需要采用其他更高效的辦法進(jìn)行測(cè)試比較威沫。
ims=imread('0.jpg');  
im=rgb2gray(ims);  
d0=50;  %閾值  
img_noise=imnoise(im,'salt'); % 加椒鹽噪聲  
%選取一種噪聲贤惯,便于后續(xù)操作
%img_noise=imnoise(img_origin,'gaussian'); % 加高斯噪聲  
img_f=fftshift(fft2(double(img_noise)));  %傅里葉變換得到頻譜  
[m n]=size(img_f);  
m_mid=fix(m/2);  %選取一種取整方式,這里選的比較簡(jiǎn)單  
n_mid=fix(n/2);    
img_lpf=zeros(m,n);  
for i=1:m  
    for j=1:n  
        d=sqrt((i-m_mid)^2+(j-n_mid)^2);   %理想低通濾波棒掠,求距離  
        if d<=d0  
            h(i,j)=1;  
        else  
            h(i,j)=0;  
        end  
        img_lpf(i,j)=h(i,j)*img_f(i,j);    
    end  
end  
  
img_lpf=ifftshift(img_lpf);    %反傅里葉變換  
img_lpf=uint8(real(ifft2(img_lpf)));  %取實(shí)數(shù)部分  
  
subplot(2,2,1);imshow(img_origin);title('原圖');  
subplot(2,2,2);imshow(img_noise);title('噪聲圖');  
subplot(2,2,3);imshow(img_lpf);title('理想低通濾波'); 
[thr,sorh,keepapp]=ddencmp('den','wv',img_lpf);
ixc=wdencmp('gbl',img_lpf,'sym4',2,thr,sorh,keepapp);
figure,imshow(ixc),title('消噪后圖像 ');
isuo=imresize(ixc,0.25,'bicubic');
g=imdilate(isuo,strel('disk',2));
figure,imshow(g),title('增強(qiáng)圖像');
ecanny=edge(g,'canny');
figure,imshow(ecanny),title('邊緣檢測(cè)圖像');
if length(size(ecanny))>2
end
f=bwareaopen(ecanny,50);
figure,imshow(f),title('雜點(diǎn)消除');
if ~islogical(f)
imBw = im2bw(f);                        %轉(zhuǎn)換為二值化圖像
else
imBw =f;
end
imBw = im2bw(f);                        %轉(zhuǎn)換為二值化圖像
imLabel = bwlabel(imBw);                %對(duì)各連通域進(jìn)行標(biāo)記
stats = regionprops(imLabel,'Area');    %求各連通域的大小
area = cat(1,stats.Area);
index = find(area == max(area));        %求最大連通域的索引
img = ismember(imLabel,index);
figure,imshow(img),title('檢測(cè)圖像');

總結(jié):
1.學(xué)習(xí)過(guò)程中需要多思考多總結(jié)孵构。
2.后期優(yōu)化處理需要做到更切合實(shí)際場(chǎng)景,敢于嘗試失敗烟很。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末颈墅,一起剝皮案震驚了整個(gè)濱河市蜡镶,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌恤筛,老刑警劉巖官还,帶你破解...
    沈念sama閱讀 221,635評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異毒坛,居然都是意外死亡望伦,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,543評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門(mén)煎殷,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)屯伞,“玉大人,你說(shuō)我怎么就攤上這事蝌数°堤停” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 168,083評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵顶伞,是天一觀的道長(zhǎng)饵撑。 經(jīng)常有香客問(wèn)我,道長(zhǎng)唆貌,這世上最難降的妖魔是什么滑潘? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 59,640評(píng)論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮锨咙,結(jié)果婚禮上语卤,老公的妹妹穿的比我還像新娘。我一直安慰自己酪刀,他們只是感情好粹舵,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,640評(píng)論 6 397
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著骂倘,像睡著了一般眼滤。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上历涝,一...
    開(kāi)封第一講書(shū)人閱讀 52,262評(píng)論 1 308
  • 那天诅需,我揣著相機(jī)與錄音,去河邊找鬼荧库。 笑死堰塌,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的分衫。 我是一名探鬼主播场刑,決...
    沈念sama閱讀 40,833評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼丐箩!你這毒婦竟也來(lái)了摇邦?” 一聲冷哼從身側(cè)響起恤煞,我...
    開(kāi)封第一講書(shū)人閱讀 39,736評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤屎勘,失蹤者是張志新(化名)和其女友劉穎施籍,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體概漱,經(jīng)...
    沈念sama閱讀 46,280評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡丑慎,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,369評(píng)論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了瓤摧。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片竿裂。...
    茶點(diǎn)故事閱讀 40,503評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖照弥,靈堂內(nèi)的尸體忽然破棺而出腻异,到底是詐尸還是另有隱情,我是刑警寧澤这揣,帶...
    沈念sama閱讀 36,185評(píng)論 5 350
  • 正文 年R本政府宣布悔常,位于F島的核電站,受9級(jí)特大地震影響给赞,放射性物質(zhì)發(fā)生泄漏机打。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,870評(píng)論 3 333
  • 文/蒙蒙 一片迅、第九天 我趴在偏房一處隱蔽的房頂上張望残邀。 院中可真熱鬧,春花似錦柑蛇、人聲如沸芥挣。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,340評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)空免。三九已至,卻和暖如春粘我,著一層夾襖步出監(jiān)牢的瞬間鼓蜒,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,460評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工征字, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留都弹,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,909評(píng)論 3 376
  • 正文 我出身青樓匙姜,卻偏偏與公主長(zhǎng)得像畅厢,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子氮昧,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,512評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容

  • 不同圖像灰度不同框杜,邊界處一般會(huì)有明顯的邊緣浦楣,利用此特征可以分割圖像。需要說(shuō)明的是:邊緣和物體間的邊界并不等同咪辱,邊緣...
    大川無(wú)敵閱讀 13,868評(píng)論 0 29
  • alt=alternative(可選內(nèi)容) 如果前邊的圖片下載失敗,則選用alt內(nèi)的圖片進(jìn)行展示 dl=descr...
    追夢(mèng)的螞蟻閱讀 157評(píng)論 0 0
  • 清晨 細(xì)雨 振劳,依舊穿大冬天的棉衣棉褲!熟悉地時(shí)間熟悉的路線熟悉的列車(chē) 晚點(diǎn)八分鐘油狂!十點(diǎn)睡四點(diǎn)半起床历恐,還好吧沒(méi)怎么困...
    伊通043李理閱讀 201評(píng)論 0 2
  • 后來(lái)。 紅線斷去专筷,緣滅不復(fù)弱贼。 天南海北,山高水遠(yuǎn)磷蛹。 君居天子腳下吮旅,見(jiàn)一國(guó)興衰。 我隱古城江南味咳,賞四季清景庇勃。 君不聞...
    溫頌清閱讀 238評(píng)論 0 1
  • 慶龍/文 一不小心我闖進(jìn)初夏的清晨,微風(fēng)緩緩脫...
    岫山玉人閱讀 395評(píng)論 0 0