# [✓] Calculate area of a maple leaf image?

Posted 1 year ago
1463 Views
|
3 Replies
|
6 Total Likes
|
 Hi,I want to calculate the area of the maple leaf in cm^2.I have tried this img = Binarize@ Import["http://i37.ltalk.ru/22/85/298522/92/9427492/leave2.png"]~ Erosion~1; (m = MorphologicalComponents[img]) // Colorize linecount = 2 /. (Binarize@ Import["http://i37.ltalk.ru/22/85/298522/92/9427492/leave2.\ png"] // ColorNegate // Thinning // ComponentMeasurements[#, "PerimeterCount"] &); areacount = 2 /. ComponentMeasurements[MorphologicalComponents[img], "Count"]; areacount/linecount^2 // N but I'm not sure which region is calculated and the unit given. Can somebody help me? Thank you.
3 Replies
Sort By:
Posted 1 year ago
 The way your image is displayed is misleading. It has an alpha channel. This is why the results from Binarize are weird.Check this: im = Import["http://i37.ltalk.ru/22/85/298522/92/9427492/leave2.png"] ColorSeparate[im] From the output it is clear that the alpha channel is already a good mask of the leaf.To compute the area, use comp = Binarize@AlphaChannel[im] ComponentMeasurements[comp, "Area"] (* {1 -> 82093.4} *) As we're working with an image, the units are pixels.To get the result in $\mathrm{cm}^2$, we would need to know the dimensions of the image or the leaf in centimetres. If you have the actual leaf, you could measure it with a ruler, then use that information to calculate the pixel/cm ratio.