Edge Detection - Customizing Masks
Afficher commentaires plus anciens
I am trying to apply a Roberts-style edge detection to an image, however I do not want to use the Roberts algorithm supplied by the matlab code i.e. NOT: edge(I,'roberts'). The Roberts masks I need to apply to the image are: x=[1 0;0 -1] y=[0 -1;1 0], which is slightly different that MATLAB's built-in edge(I,'roberts') edge detector.
How can I apply custom Roberts, Sobel, and Prewitt edge detectors in MATLAB?
1 commentaire
PATRICK STANTON
le 9 Juil 2011
Réponses (1)
Image Analyst
le 9 Juil 2011
1 vote
Yes. That will work. Not sure about the Z though - you might want to take Z = sqrt(single(X).^2 + single(Y).^2) instead. Also, you might want to look into conv2(), which I believe is more highly optimized for speed than imfilter. Be sure to use fliplr and flipud on the masks if the orientation is important though since conv2 flips the kernel.
1 commentaire
PATRICK STANTON
le 9 Juil 2011
Catégories
En savoir plus sur Object Analysis dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!