Edge Detection - Customizing Masks
Mostrar comentarios más antiguos
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 comentario
PATRICK STANTON
el 9 de Jul. de 2011
Respuestas (1)
Image Analyst
el 9 de Jul. de 2011
1 voto
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 comentario
PATRICK STANTON
el 9 de Jul. de 2011
Categorías
Más información sobre Object Analysis en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!