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)

1 件のコメント
カテゴリ
ヘルプ センター および File Exchange で Display Image についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
