MATLAB Answers

0

how can i perform edge detection efficiently in matlab?

Asked by Aditya Shrivastava on 28 Apr 2013
i have tried four methods i.e. sobel,prewitt,roberts,log but not getting single correct o/p on scanned images.
this is my code- image=imread('sample_img.jpg');
image_gray=rgb2gray(image);
image_BW=im2bw(image_gray);
imshow(image_BW);
image_comp = imcomplement(image_BW);
image_filter = medfilt2(image_comp);
image_fill=imfill(image_filter,'holes');
BW = edge(image_fill,'log',0.2);
at place of "log",i tried other methods too.
thanks for the help..

  0 Comments

Sign in to comment.

2 Answers

Answer by Chandra Shekhar on 28 Apr 2013

I = imread('circuit.tif');
BW1 = edge(I,'prewitt');
BW2 = edge(I,'canny');
figure, imshow(BW1)
figure, imshow(BW2)

  1 Comment

Sign in to comment.


Answer by Image Analyst
on 28 Apr 2013

So what's wrong with what you did? There are lots of edge detectors but until I see your image and know what your issue with edge() is, I'm hesitant to just go and list and explain a bunch of edge detection algorithms, which you can look up online anyway.

  1 Comment

hello.. i made a customized code for edge detection... n it worked.. but thanks for the indulgence..

Sign in to comment.