有人可以解释一下为什么 Matlab 中的“圆度”是由 (4*Area*pi)/(Perimeter^2) 计算的,而在 Podczeck 形状中它是 Area/(Pi/4*sp^2) https://qiftp .tudelft.nl/dipref/FeatureShape.html)?还是只是简单地定义不同?
我试图在 Matlab 中编写 Podczeck 形状圆度代码,我假设“MaxFeretDiameter”垂直于“MinFeretDiameter”,对吗?
代码:
clc;
clear all;
close all;
Pi=pi;
Image = rgb2gray(imread('pillsetc.png'));
BW = imbinarize(Image);
BW = imfill(BW,'holes');
BW = bwareaopen(BW, 100);
imshow(BW);
[B,L] = bwboundaries(BW,'noholes');
i=2;
stat = regionprops(BW, 'Area', 'Circularity', 'MaxFeretProperties', 'MinFeretProperties');
OArea = stat(i).Area;
OMaxFeretProperties = stat(i).MaxFeretDiameter;
OMinFeretProperties = stat(i).MinFeretDiameter;
OCircularityPodzeck = OArea/(Pi/4 * (OMaxFeretProperties^2))
OCircularityMatlab = stat(i).Circularity