clc,clear,close all; % 清除缓存
% 2019/10/11 星期五 DAY12
% 功能:识别照片中米粒个数并作出相应标记、计数
% 说明:无
%
%% 形态学处理=数米粒
g=imread('rice.png');
SE=strel('disk',4); % 形态结构元素
X1=imerode(g,SE); % 二值图像腐蚀
I=imdilate(X1,SE); % 二值图像膨胀
% I=imread('rice.png');
BG=imopen(I,strel('disk',15));
% 对图像实现开运算,开运算一般能平滑图像的轮廓,消弱狭窄的部分,去掉细的突出。
% se=strel('disk',5);用圆盘形结构元素通过开运算 移除小于5像素的雪花
I2=imsubtract(I,BG); % 减法运算 从一个图像中减去另一个图像或从图像中减去常量
level=graythresh(I2); % 灰谷 基于otsu方法的全局图像阈值
bw2=imbinarize(I2,level); % 基于阈值将图像转换为二值图像
[labeled,numObjects]=bwlabel(bw2,8);
max(max(labeled))
f=bw2;
[L,n]= bwlabel(f);
% 函数find(见5.2.2节)在处理标记矩阵时非常有用。