cover irregular edges (toughs), MATLAB Image processing
이전 댓글 표시
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.
채택된 답변
추가 답변 (2개)
Image Analyst
2014년 10월 3일
2 개 추천
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
Mohammad Abouali
2014년 10월 3일
I love this active contour. Very handy tool
Vijay
2014년 10월 3일
Sean de Wolski
2014년 10월 3일
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
2014년 10월 3일
편집: Sean de Wolski
2014년 10월 3일
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)

카테고리
도움말 센터 및 File Exchange에서 Display Image에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
