get eccentricity and metric values images
2 views (last 30 days)
Show older comments
bro, I want to save the eccentricity and metric values of many images so that they form a table of eccentricity values and a metric of multiple images.
How do i make a loop?
source code:
clear; clc; close all;
%mfolder='E:\Kuliah\TesMatlalb\tesLATIH';
%filenames = dir(fullfile(mfolder, '*.png'));
%total = numel(filenames);
i = imread('21.png');
im = im2bw(i,.25);
bw = imcomplement(im);
bw = imfill(bw,'holes');
bw = bwareaopen(bw,50);
%figure,imshow(bw);
[bw,num] = bwlabel(bw);
bbox = zeros(num,4);
RGB4 = i;
for k = 1:num
bw2 = bw==k;
[B,L] = bwboundaries(bw2,'noholes');
stats = regionprops(L,'All');
perimeter = cat(1,stats.Perimeter);
area = cat(1,stats.Area);
eccentricity = cat(1,stats.Eccentricity);
metric = 4*pi*area/perimeter^2;
bbox(k,:) = cat(1,stats.BoundingBox);
end
RGB5 = insertShape(i, 'Rectangle', bbox, 'LineWidth', 1);
figure, imshow(RGB5);
0 Comments
Accepted Answer
Image Analyst
on 21 Feb 2021
Index your variables with k:
area(k) = cat(1,stats.Area);
eccentricity(k) = cat(1,stats.Eccentricity);
metric(k) = 4*pi*area/perimeter^2;
More Answers (0)
See Also
Categories
Find more on Image Data Workflows in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!