Vous êtes sur la page 1sur 1

function im=Thresholding(I)

[r,c]=size(I);
im=zeros(r,c);
for i=1:r
forj=1:c
if I(i,j)>105
im(i,j)=1;
end
end
end
im=bwareaopen(im,5)
im=imfill(im,'holes');
end
clc;
close all;
clear all;
I=imread('');
I=rgb2gray(I);
I2=Thresholding(I);
cc=bwconncomp(I2,8)
n=cc.NumObjects;
Area=zeros(n,1);
Perimeter=zeros(n,1);
MajorAxis=zeros(n,1);
MinorAxis=zeros(n,1);
k=region(cc,'Area','Perimeter','MajorAxisLength','MinorAxisLength');
fori=1:n
gain=false(size(I2));
gain(cc.PixelIdsList(i))=true;
%im=grain(cc.PixelIdxList(i))
figure(i);
imshow(grain);
Area(i)=k(i).Perimeter;
MajorAxis(i)=k(i).MajorAxisLength;
MniorAxis(i)=k(i).MinorAxisLength;
end
graindata(1,1)=mean(Area);
graindata(2,1)=mean(Perimeter);
graindata(3,1)=mean(MajorAxis);
graindata(4,1)=mean(MinorAxis);

Vous aimerez peut-être aussi