i was writing a code for mathematical morphology dilation operation for a 1D signal but did not get proper output. Kindly help me with the proper code

5 ビュー (過去 30 日間)
pavan sunder
pavan sunder 2016 年 10 月 6 日
回答済み: M E 2019 年 7 月 13 日
the code i wrote:
function y_dil=dilation(x,se)
L=length(se)
x=[zeros(1,L) x];
N=length(x)
k=1+L;
y_dil=zeros(1,N);
for n=k:N
for i=1:L
r(i)=max(x(n-i)+se(i))
end
Y_dil(k-L)=max(r);
k=k+1;
end
end

回答 (2 件)

Massimo Zanetti
Massimo Zanetti 2016 年 10 月 6 日
Use imdilate function which is already in Matlab. https://it.mathworks.com/help/images/ref/imdilate.html
For example, if your signal is SIGNAL matrix (1xN matrix), and your structuring element is SE=[1,1,1], try this:
DIL_SIGNAL = imdilate(SIGNAL,SE)
  4 件のコメント
Walter Roberson
Walter Roberson 2016 年 10 月 8 日
A 1D signal is a very thin 2D signal ;-)

サインインしてコメントする。


M E
M E 2019 年 7 月 13 日
Supporting the solution provided by Massimo, You can make costum length structuring elements:
DIL = imdilate(S,strel('line',Len,0))

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by