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)]});