1.一种双孢蘑菇分级判断方法,其特征在于,包括如下步骤:S1,获取蘑菇图像信息;
S2,提取感兴趣区域:根据蘑菇图像拍摄环境,设定参数并截取具有单一底色的蘑菇图像,获得待提取图像;计算出蘑菇外轮廓的最小外接矩形的左上点的坐标值,以及最小外接矩形的宽度W和高度H;
S3,图像分割,其包括:
S31,将待提取图像转化为灰度图像;
S32,采用OSTU阈值分割算法处理,得到二值化图像;
S33,进行形态学变换:使用3*3的矩阵作为模板进行闭运算,先膨胀,对图片的每一个像素x置于模板的中央,遍历所有被模板覆盖的其他像素,修改像素x的值为所有像素中最大的值,对膨胀后的图片进行腐蚀,对图像的每个像素做遍历修改像素为模板中的最小值,得到形态学变换图;
S34,对形态学变换图进行膨胀操作,得到背景图像;
S35,进行距离变换:设置掩模大小为3*3,设前景图片的RBG值为(255,255,255),即白色;设背景图片的RBG值为(0,0,0),即黑色;将非零像素点作为前景目标,零像素点作为背景;计算前景图片和背景图片的所有像素距离,使用最小二乘法,用所述距离替换为像素,生成距离变换图;
S36,以所述距离为阈值进行固定阈值二值化确定前景图像;
S37,将背景图像和前景图像相减,确定前景图像和背景图像重合的不确定区域,提取图像轮廓,得到标记markers;
S38,根据不确定区域在markers中经过分水岭变化最终得到原始图像的边界;
S4,根据获取的前景图像,计算前景图像的像素个数m,则蘑菇菌盖的面积为:m*25.4/d平方毫米,其中,d为摄像头的分辨率;
S5,按照预设规则,根据蘑菇菌盖的面积判定等级。
2.如权利要求1所述的一种双孢蘑菇分级判断方法,其特征在于,在S2中,采用OpenCV中的库函数findContours和boundingRect来计算蘑菇的最小外接矩形的左上点的坐标值,以及矩形的宽度W和高度H。
3.如权利要求1所述的一种双孢蘑菇分级判断方法,其特征在于,在S2中,还包括对所述最小外接矩形向外延伸13mm,得到扩展矩形。
4.如权利要求1所述的一种双孢蘑菇分级判断方法,其特征在于,S4中还包括分别计算蘑菇的正面和反面的面积,取二者最大值作为蘑菇的面积。
5.如权利要求1所述的一种双孢蘑菇分级判断方法,其特征在于,还包括S41,其包括:S411,提取特征点:构建Hessian矩阵,待提取图像中任意一个像素点X=(x,y)的Hessian矩阵H(X,σ)如下:其中,σ为尺度,Lxx(X,σ),Lxy(X,σ),Lyy(X,σ)分别为高斯滤波后待提取图像在各个方向上的二阶导数;
将积分图像与方框滤波器的卷积近似表示为Dxx,Dxy,Dyy,则得到Hessian行列式近似计算为:det(Hessian)=DxxDyy-(λDxy)2 (2)其中,λ为权重系数,用来平衡使用方框滤波器近似带来的误差;
将所有经过Hessian矩阵处理后的像素点与尺度空间中的点进行非极大值比较,找出图像的兴趣点;
在尺度空间和图像空间中进行线性插值运算获得最后稳定的特征点;
S412,将原始图像转换为灰度图像;
根据提取到的特征点,以特征点为圆心画圆;
取蘑菇正面阈值为5mm,反面阈值为13mm;
如果圆的大小超过该阈值,则认为是残缺,反之,则不是残缺;
S5,按照预设规则,根据蘑菇菌盖的面积和残缺情况判定等级。