MATLAB: How can we calculate surface area for this leaf in matlab

color segmentationImage Processing Toolboximage segmentation

only the leaf

Best Answer

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.
Related Question