get eccentricity and metric values images

2 ビュー (過去 30 日間)
riki anohq
riki anohq 2021 年 2 月 21 日
コメント済み: riki anohq 2021 年 2 月 22 日
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);

採用された回答

Image Analyst
Image Analyst 2021 年 2 月 21 日
Index your variables with k:
area(k) = cat(1,stats.Area);
eccentricity(k) = cat(1,stats.Eccentricity);
metric(k) = 4*pi*area/perimeter^2;
  1 件のコメント
riki anohq
riki anohq 2021 年 2 月 22 日
Thanks, i use this
metric(1,k) = 4*pi*area/perimeter^2;

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeImage Data Workflows についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by