Edge detection using Fuzzy Logic

I am trying to detect edge of gray scale image using fuzzy logic. In my code first I am trying to detect edge and then to remove noise. Edge detection part is working,but noise removal part have not worked. Edge detection pixels have values between 0 to 50 and background pixel values have constant value i.e. 128. In case of noise removal I put if else conditions . But each checked pixel i.e. z(i,j) satisfies only if condition whether it is true or not. Following is my code.........
a=imread('a.jpg');
g1=rgb2gray(a);
g=imresize(g1,[200 200]);
[m,n]=size(g);
%figure, imshow(g)
%edge detection part
t=readfis('edge.fis');
z=uint8(zeros(m,n));
for i=2:m-1
for j=2:n-1
F = [g(i-1,j-1) g(i-1,j) g(i,j-1) g(i,j)];
h=double(F);
z(i,j)=evalfis(h,t);
end
end
disp(z)
figure, imshow(z)
%noise removal part
z2=uint8(zeros(m,n));
for i=2:m-1
for j=2:n-1
if ((0<=z(i-1,j-1)<=50) & (0<=z(i-1,j)<=50) & (0<=z(i-1,j+1)<=50) & (0<=z(i,j-1)<=50) & (0<=z(i,j)<=50) & (0<=z(i,j+1)<=50) & (0<=z(i+1,j-1)<=50) & (0<=z(i+1,j)<=50) & (0<=z(i+1,j+1)<=50))
% if z1(i-1,j-1)==0 && z1(i-1,j)==0 && z1(i-1,j+1)==0 && z1(i,j-1)==0 && z1(i,j)==0 && z1(i,j+1)==0 && z1(i+1,j-1)==0 && z1(i+1,j)==0 && z1(i+1,j+1)==0
z2(i,j)=128;
else
z2(i,j)=z(i,j);
end
end
end
figure, imshow(z2)

2 个评论

hi Res,
I cant help you but i need ur help. i also want to do edge detection with fuzzy logic. but i don't know how to start. can you please suggest me something for writing fuzzy logic code.
Thanks in advance
i need edge detection using fuzzy

请先登录,再进行评论。

回答(3 个)

Omid Sarrafzadeh
Omid Sarrafzadeh 2012-7-30

0 个投票

Hi Res It depends on your 'edge.fis' FIS and your rules. May I know more about them?
hamed Aghapanah
hamed Aghapanah 2019-10-4

0 个投票

Dear Res,
I do it and ind that there are many solution to find edge. Because the result is related to Membership Functions.
which one is the best solution?
thanks

类别

在 帮助中心 和 File Exchange 中查找有关 Fuzzy Logic Toolbox 的更多信息

提问:

Res
2012-5-21

Community Treasure Hunt

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

Start Hunting!

Translated by