溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

matlab如何實現(xiàn)形態(tài)學圖像處理

發(fā)布時間:2023-03-09 09:57:26 來源:億速云 閱讀:121 作者:iii 欄目:開發(fā)技術

這篇文章主要介紹“matlab如何實現(xiàn)形態(tài)學圖像處理”,在日常操作中,相信很多人在matlab如何實現(xiàn)形態(tài)學圖像處理問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”matlab如何實現(xiàn)形態(tài)學圖像處理”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

內容

膨脹的簡單應用

A=imread('D:\pic\DIP3E_CH04\Fig0419(a)(text_gaps_of_1_and_2_pixels).tif');
figure, imshow(A)
B=[0 1 0;1 1 1;0 1 0];
A2=imdilate(A,B);
figure,imshow(A2)

使用 strel 函數(shù)分解結構元素的說明

se=strel('diamond',5)
decomp=getsequence(se);
whos
decomp(1)
decomp(2)
decomp(3)
decomp(4)

腐蝕的說明

A=imread('D:\pic\DIP3E_CH09\Fig0905(a)(wirebond-mask).tif');
figure, imshow(A)%原圖像
se=strel('disk',10)
A2=imerode(A,se)
figure, imshow(A2)%半徑為10 的圓盤腐蝕后的圖像
se=strel('disk',5)
A3=imerode(A,se)
figure, imshow(A3)%半徑為5 的圓盤腐蝕后的圖像
A4=imerode(A,strel('disk',20))
figure, imshow(A4)%半徑為20 的圓盤腐蝕后的圖像

函數(shù)imopen 和imclose 的應用

f=imread('D:\pic\DIP3E_CH09\Fig0905(a)(wirebond-mask).tif');
figure, imshow(f)%原圖像
se=strel('square',20);
fo=imopen(f,se);
figure, imshow(fo)%開運算后的圖像
fc=imclose(f,se);
figure, imshow(fc)%閉運算后的圖像
foc=imclose(fo,se);
figure, imshow(foc)%圖像A2 經(jīng)閉運算后的圖像

使用 IPT 函數(shù)bwhitmiss

f=imread('D:\pic\DIP3E_CH09\FigP0918(left).tif')
figure,imshow(f)
B1=strel([0 0 0;0 1 1;0 1 0]);
B2=strel([1 1 1;1 0 0;1 0 0]);
g=bwhitmiss(f,B1,B2);
figure,imshow(g)

灰度圖像形態(tài)學開運算和閉運算

%%%%%%%%%使用開運算和閉運算做形態(tài)學平滑%%%%%%%%%%%%%%%%%
clear all
clc
f=imread('D:\pic\DIP3E_CH09\Fig0941(a)(wood_dowels).tif');
figure, imshow(f)%原圖像
se=strel('disk',5);
fo=imopen(f,se);
figure, imshow(fo)%開運算后的圖像
foc=imclose(fo,se);
figure, imshow(foc)%圖像A2 經(jīng)閉運算后的圖像
fasf=f;
for k=2:5
    se=strel('disk',k);
    fasf=imclose(imopen(fasf,se),se);
end
figure,imshow(fasf) %%%%%% 交替順序濾波后的圖像
%%%%%%%%%%使用頂帽變換%%%%%%%%%%%%%%
clear all
clc
f=imread('D:\pic\DIP3E_CH09\Fig0940(a)(rice_image_with_intensity_gradient).tif');
figure, imshow(f)%原圖像
se=strel('disk',10);
fo=imopen(f,se);
figure, imshow(fo)%經(jīng)開運算處理后的圖像
f2=imsubtract(f,fo);
figure, imshow(f2)
f2=imtophat(f,se);
figure, imshow(f2)
se=strel('disk',3);
g=imsubtract(imadd(f,imtophat(f,se)),imbothat(f,se));%低帽、頂帽
figure, imshow(g)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%顆粒分析%%%%%%%%%%%%%%
clear all
clc
f=imread('D:\pic\DIP3E_CH09\Fig0940(a)(rice_image_with_intensity_gradient).tif');
sumpixels=zeros(1,36);
for k=0:35
    se=strel('disk',k);
    fo=imopen(f,se);
    sumpixels(k+1)=sum(fo(:));
end
figure,plot(0:35,sumpixels);
xlabel('k');
ylabel('surface area')
figure, plot(-diff(sumpixels))
xlabel('k');
ylabel('surface area reduction')
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

灰度圖像形態(tài)學使用重構刪除復雜圖像的背景

%灰度圖像形態(tài)學使用重構刪除復雜圖像的背景
clear all
clc
f=imread('D:\pic\DIP3E_CH09\Fig0944(a)(calculator).tif');
figure, imshow(f)%原圖像
f_obr=imreconstruct(imerode(f,ones(1,71)),f);
figure, imshow(f_obr)
f_o=imopen(f,ones(1,71));%for comparison
figure, imshow(f_o)
f_thr=imsubtract(f,f_obr);
figure, imshow(f_thr)
f_th=imsubtract(f,f_o);%or imtophat(f,ones(1,71))
figure, imshow(f_th)
g_obr=imreconstruct(imerode(f_thr,ones(1,11)),f_thr);
figure, imshow(g_obr)
g_obrd=imdilate(g_obr,ones(1,21));
figure, imshow(g_obrd)
f2=imreconstruct(min(g_obrd,f_thr),f_thr);
figure, imshow(f2)

到此,關于“matlab如何實現(xiàn)形態(tài)學圖像處理”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續(xù)學習更多相關知識,請繼續(xù)關注億速云網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內容。

AI