cover irregular edges (toughs), MATLAB Image processing
Mostrar comentarios más antiguos
I am trying to fill the irregular edges of the particles. I know that these particles are in the shape of a nearly parallelogram so I want to fill them accordingly, as shown in the image.

Can someone suggest me some methods or hints to overcome this problem?
Note: I have tried convex hull and dilation. Convex hull is not suitable as it might change the shape of the particle and in dilation I need to define some parameters. I want to use some non parametric solutions.
Respuesta aceptada
Más respuestas (2)
Image Analyst
el 3 de Oct. de 2014
2 votos
You can use activecontour(), where you can put in a parameter to tell it how closely to "hug" the boundary. Attached is a demo.
3 comentarios
Mohammad Abouali
el 3 de Oct. de 2014
I love this active contour. Very handy tool
Vijay
el 3 de Oct. de 2014
Sean de Wolski
el 3 de Oct. de 2014
active countour and bwconvhull are both newer than 2009. My shrinkWrap function on the FEX implements something similar to an active contour that might help. However, I think they're overkill here and just simple morphological operations could do this.
Sean de Wolski
el 3 de Oct. de 2014
Editada: Sean de Wolski
el 3 de Oct. de 2014
Since you know these objects to be convex, I would use bwconvhull(...,'objects') on the binary image.
I = imread('cap.PNG');
E = edge(I(:,:,1));
BW = imfill(imclose(E,strel('disk',4)),'holes');
BWC = bwconvhull(BW,'objects');
subplot(1,2,1)
imshow(BW)
subplot(1,2,2)
imshow(BWC)

1 comentario
Categorías
Más información sobre Image Processing Toolbox 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!
