![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/196490/image.png)
Get Number of Grains
5 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Hello,
Below link is having a sample program of finding grain size using line intercept method [Public_matlab_code_v1b.zip] In this sample how can I get Number of Grains present in the Input image. Example code is having one EBSD image as well, how can I convert my rgb images to EBSD so that I can use the attached example.
0 Kommentare
Antworten (1)
AMAR P
am 25 Sep. 2018
Bearbeitet: AMAR P
am 25 Sep. 2018
hi, I gave it a try. Check with the code below. There are couple of intensity transformation need to be perform to get sharp images. Furthermore, I will also suggest you to try Edge filter to enhance them.
MainImg = imread('temp.bmp');
% Convert to GrayScale Image [To perform histeq]
GrayImg = rgb2gray(MainImg);
% Intensity transformation
GrayImg = histeq(GrayImg);
% Convert to Binary Image
BinImg = im2bw(GrayImg);
%Get Region props
GrainProps = regionprops('table', BinImg,'Centroid');
% Get No of Grains in the image
NoOfGrains = numel(GrainProps);
%Read All Centers into Array
GrainCenters = GrainProps.Centroid;
% Mark Grains at Center.
figure(1);
imshow(BinImg);
hold on;
text(GrainCenters(:,1), GrainCenters(:,2),'*','Color','r');
hold off
fprintf('\nNo. Of Grains found in the Image = %d\n', NoOfGrains);
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/196490/image.png)
Siehe auch
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!