一、任务要求
要求识别上图中的米粒个数并在原图上找到质心进行序号标注。
二、图像处理
2.1 读取图像
图像读取主要代码如下:
g=imread('rice.gif');
2.2 形态学处理
对图像进行形态学处理,主要用于降低噪声,消除细小毛刺,平滑米粒图像。主要代码如下:
SE=strel('disk',4); % 形态结构元素
X1=imerode(g,SE); % 二值图像腐蚀
I=imdilate(X1,SE); % 二值图像膨胀
BG=imopen(I,strel('disk',15));
% 对图像实现开运算,开运算一般能平滑图像的轮廓,消弱狭窄的部分,去掉细的突出。
I2=imsubtract(I,BG); % 减法运算 从一个图像中减去另一个图像或从图像中减去常量
2.3 二值化
代码:
level=graythresh(I2); % 灰谷 基于otsu方法的全局图像阈值
bw2=imbinarize(I2,level); % 基于阈值