Calculate the size of a grain in an SEM image
Version 1.0.0 (1.4 KB) by
N/A
Code that allows you to calculate grain size in an SEM or FE-SEM image.
% Load the SEM image
img = imread('sem_image_075_100K.jpg');
% Convert the image to grayscale
img_gray = rgb2gray(img);
% Apply a threshold to the image to segment the grains
img_threshold = img_gray > 128;
% Use bwlabel to identify the individual grains in the image
[labeled_img, num_grains] = bwlabel(img_threshold);
% Initialize a variable to hold the grain sizes
grain_sizes = zeros(1, num_grains);
% Loop over each grain in the image and calculate its size
for i = 1:num_grains
grain_mask = labeled_img == i;
grain_sizes(i) = sum(grain_mask(:));
end
% Calculate the average grain size
avg_grain_size = mean(grain_sizes);
% Print the average grain size to the command window
fprintf('The average grain size is %.2f pixels\n', avg_grain_size);
Cite As
N/A (2024). Calculate the size of a grain in an SEM image (https://www.mathworks.com/matlabcentral/fileexchange/124445-calculate-the-size-of-a-grain-in-an-sem-image), MATLAB Central File Exchange. Retrieved .
MATLAB Release Compatibility
Created with
R2022b
Compatible with any release
Platform Compatibility
Windows macOS LinuxTags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Discover Live Editor
Create scripts with code, output, and formatted text in a single executable document.
Version | Published | Release Notes | |
---|---|---|---|
1.0.0 |