Image Processing Reference
In-Depth Information
%Region descriptors (compactness)
function RegionDescrp(inputimage)
%Image size
[rows,columns]=size(inputimage);
%area
A=0;
for x=1:columns
for y=1:rows
if inputimage(y,x)==0 A=A+1; end
end
end
%Obtain Contour
C=Contour(inputimage);
%Perimeter & mean
X=C(1,:); Y=C(2,:); m=size(X,2);
mx=X(1); my=Y(1);
P=sqrt((X(1)-X(m))^2+(Y(1)-Y(m))^2);
for i=2:m
P=P+sqrt((X(i)-X(i-1))^2+(Y(i)-Y(i-1))^2);
mx=mx+X(i); my=my+Y(i);
end
mx=mx/m; my=my/m;
%Compactness
Cp=4*pi*A/P^2;
%Dispersion
max=0; min=99999;
for i=1:m
d=((X(i)-mx)^2+(Y(i)-my)^2);
if (d>max) max=d; end
if (d<min) min=d; end
end
I=pi*max/A;
IR=sqrt(max/min);
%Results
disp('perimeter=');
disp(P);
disp('area=');
disp(A);
disp('Compactness=');
disp(Cp);
disp('Dispersion=');
disp(I);
disp('DispersionR=');
disp(IR);
Code 7.4
Evaluating basic region descriptors
Search WWH ::




Custom Search