www.pudn.com > rice.rar > rice.m
I=imread('rice.jpg');
I_en=wiener2(I);
I_en=medfilt2(I_en,[5,5]);
f=[1,2,1;2,4,2;1,2,1]/16;
I_en=conv2(I_en,f);
I_en=uint8(I_en);
subplot(2,2,1),imshow(I_en);
title({'维纳-中值-高斯','增强的图像'});
se = strel('disk', 20);
Itop = imtophat (I_en, se);
Ibot = imbothat (I_en, se);
I_en = imsubtract(imadd (Itop, I_en), Ibot);
I_en = imcomplement(I_en);
subplot(2,2,2), imshow (I_en), title ('增强对比度后反相');
Iemin = imextendedmin (I_en, 80);
Iimpose = imimposemin (I_en, Iemin);
subplot(2,2,3), imshow(Iimpose), title('将谷底置零');
wat = watershed (Iimpose);
stats = regionprops(wat, 'Area', 'Orientation')
area = [ stats(:).Area ];
x1=length(find(area(:)<2000));
subplot(2,2,4), imshow(wat), title({'分水岭算法结果',['米粒个数为',num2str(x1)]});