how can we calculate surface area for this leaf in matlab?
1 回表示 (過去 30 日間)
古いコメントを表示
only the leaf
4 件のコメント
Image Analyst
2024 年 7 月 14 日
@Navoda If you have any more questions, then attach your image in a new discussion thread with the paperclip icon after you read this:
採用された回答
Image Analyst
2014 年 3 月 31 日
Which leaf? There are lots of leaves in that image, and they're all green. That's the problem. So you can either hand trace the leaf with imfreehand(). Demo of imfreehand are attached below in blue.
Or you can try texture segmentation because the giant leaf has a different texture than the "background" leaves. You can use stdfilt or entropyfilt() to do texture segmentation.
Once you've processed it to a point where you can threshold it then you can use regionprops, as shown in my image segmentation tutorial: http://www.mathworks.com/matlabcentral/fileexchange/?term=authorid%3A31862 I also have color segmentation demos there but since all your leaves are so close in color, that probably won't work.
Finally, to get a "real world" area, instead of pixels, you'll need to spatially calibrate and I attach my demo (below in blue) to show you how to do that.
5 件のコメント
Image Analyst
2017 年 11 月 7 日
You can use color segmentation by hue, or discriminant analysis (if you have the stats toolbox).
See my demo http://www.mathworks.com/matlabcentral/fileexchange/28512-simplecolordetectionbyhue-- or try the Color Threshlder app on the Apps tab of the tool ribbon.
Image Analyst
2017 年 11 月 10 日
Did that work for you? If not, start your own question in a separate thread.
その他の回答 (1 件)
Walter Roberson
2014 年 3 月 31 日
It looks to me that if you were to convert to brightness you could threshold on that to get most of the leaf. The heart of the leaf might not come out exactly right with that due to shadows.
Watershed segmentation would be another approach.
0 件のコメント
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!