技术特征:
1.一种基于显微镜图像的鱼腥藻类细胞统计方法,其特征在于,包括以下步骤:步骤
⑴
图像预处理:增强图像的对比度;步骤
⑵
图像二值化:找出图像中鱼腥藻类区域;步骤
⑶
计算鱼腥藻类最小外接矩形:计算二值图像的外轮廓,并找到这些轮廓的最小外接矩形;步骤
⑷
检测鱼腥藻类二值图像:根据鱼腥藻类最小外接矩形,生成用于细胞统计的鱼腥藻类二值图像;步骤
⑸
计算鱼腥藻类细胞个数:通过步骤
⑷
计算的二值图像来统计鱼腥藻类细胞个数。2.如权利要求1所述的基于显微镜图像的鱼腥藻类细胞统计方法,其特征在于,步骤
⑶
中计算鱼腥藻类最小外接矩形包括:首先基于二值图像计算外轮廓,设定阈值的外轮廓,其次对满足设定阈值的外轮廓,计算外轮廓的最小外接矩形,根据最小外接矩形计算最小外接矩形结构体,最后对最小外接矩形结构体进行删除误检测最小外接矩形。3.如权利要求2所述的基于显微镜图像的鱼腥藻类细胞统计方法,其特征在于,步骤
⑶
计算最小外接矩形结构体包括以下几个步骤:
⑴
通过最小外接矩形的宽、高和旋转角度等参数,计算4个顶点的坐标,顶点坐标按顺时针方向存放,分别存放在pts[0]、pts[1]、pts[2]和pts[3]中;
⑵
找出最小外接矩形的长边和短边,将它长边的长度保存在data结构体的width变量里,短边的长度保存在data结构体的height变量里;
⑶
计算最小外接矩形长边和短边的比值,按比值来计算它的形状属性,本发明中最小外接矩形的形状属性分为一般形状、长条形和正方形三种形态,对应shape变量的值为0、1和2;
⑷
将pts[0]和pts[1]组成一个线段line1,将pts[1]和pts[2]组成另一个线段line2,通过判断两个线段的长度,来找到长边对应的线段;
⑸
计算任意长边线段两个顶点坐标x方向的距离和y方向的距离,判断它的方向属性,方向属性只有水平状态和垂直状态两种,存放在direction变量中;
⑹
根据方向特征,比较长边线段x轴或y轴的坐标值,将数值较小的长边线段保存在linel变量中,将数值较大的长边线段保存在liner变量中;
⑺
linel和liner也是一个结构体,它有两个参数分别是斜率k和y轴上的截距b,通过线段上的两个顶点坐标,分别计算data结构体中linel和liner直线方程的参数k和b。4.如权利要求3所述的基于显微镜图像的鱼腥藻类细胞统计方法,其特征在于,步骤
⑷
删除误检测最小外接矩形包括:
⑴
查找最小外接矩形结构体的shape数值,找出shape=1的结构体;
⑵
进一步分析shape=1的结构体,根据它的direction数值,计算width变量数值与图像长度的比值,如果比值大于设置的阈值(0.75),则将该结构体作为参考结构体;
⑶
以参考结构体为基础,分析其他结构体顶点坐标与参考结构体linel和liner的位置关系;
⑷
在计算点到线段的投影时,如果参考结构体中direction=0,首先找到将y轴最大的顶点和y轴最小的顶点,将y轴最大顶点的x坐标的值代入linel的直线方程中,计算点投影
到linel上对应y方向的坐标值;
⑸
在计算点到线段的投影时,如果参考结构体中direction=1,首先找到将x轴最大的顶点和x轴最小的顶点,将x轴最大顶点的y坐标的值代入linel的直线方程中,计算该点投影到linel上对应x方向的坐标值;
⑹
当参考结构体direction=0时,删除linel上方或者liner下方的其他结构体;当参考结构体direction=1时,删除linel左边或者liner右边的其他结构体。5.如权利要求4所述的基于显微镜图像的鱼腥藻类细胞统计方法,其特征在于,步骤
⑷
检测鱼腥藻类二值图像包括:
⑴
结合最小外接矩形结构体来更新原来的二值图像,形成一个更干净的二值图像;
⑵
首先生成一个与原二值图像分辨率相同的二值图像,默认以0来填充该图像;
⑶
将步骤
⑵
生成的mask掩模图像和原二值图像做与操作,得到过滤掉误检测数据后的二值图像;
⑷
计算步骤
⑶
中二值图像的contour轮廓和它的层级关系;
⑸
根据检测的轮廓数据,生成鱼腥藻类二值图像。6.如权利要求5所述的基于显微镜图像的鱼腥藻类细胞统计方法,其特征在于,步骤
⑹
根据轮廓数据,生成鱼腥藻类二值图像包括:
⑴
首先从轮廓的hierarchy中找到parent=-1的数据,这些数据都是外轮廓,计算他们的最小外接矩形,然后再和data结构体里的width和height进行匹配,找到对应的外轮廓contour点集;
⑵
生成一个新的二值图像,二值图像的分辨率与原始图像分辨率一致,二值图像各像素的初始值为0,填充步骤
⑴
中找到的外轮廓contour点集包围的区域,填充值为255,生成鱼腥藻类二值图像;
⑶
在使用otsu二值化分割图像时,不可避免地会出现细胞区域(白色)内部存在空洞(黑色)的现象,它会导致计算出来的鱼腥藻类细胞像素面积偏小;
⑷
如果data结构体中shape=2,说明鱼腥藻类细胞很可能是闭合或环绕卷曲的形态,首先按照步骤
⑵
的方式填充外轮廓,得到一个二值图像contourimg1;
⑸
从轮廓的hierarchy中找到parent不等于-1的数据,这些数据都是内轮廓,计算他们的像素面积,如果面积大于设定的阈值,则将它们对应的contour点集保存下来;
⑹
生成一个新的二值图像,二值图像的分辨率与原始图像分辨率一致,二值图像各像素的初始值为0,填充步骤
⑸
中所有内轮廓contour点集包围的区域,填充值为255,得到一个二值图像contourimg2;
⑺
用contourimg1减去contourimg2,得到鱼腥藻类二值图像;
⑻
如果正方形鱼腥藻类是闭合的,那么contourimg2是存在白色区域,通过步骤
⑺
可以得到图像中实际鱼腥藻类细胞区域的二值图像;如果正方形鱼腥藻类是非闭合的,那么contourimg2是不存在白色区域的,步骤
⑺
得到的鱼腥藻类二值图像实际上就是contourimg1。7.如权利要求6所述的基于显微镜图像的鱼腥藻类细胞统计方法,其特征在于,步骤
⑸
计算鱼腥藻类细胞个数包括以下几个步骤:
⑴
在鱼腥藻类二值图像上,重新计算图像中的外轮廓,并计算它的外接矩形;
⑵
将外接矩形长边除以短边,计算它的长短边比值,如果比值大于设定的阈值(4.0),则认为图像上鱼腥藻类的形态是长条形;
⑶
如果鱼腥藻类的形态为长条形,找到外接矩形的短边,以短边来修正鱼腥藻类单位细胞的像素尺寸;
⑷
计算二值图像的像素面积,用它除以修正后的单位细胞像素尺寸,得到鱼腥藻类的细胞个数;
⑸
如果鱼腥藻类的形态不是长条形,那么,先采用斑点检测方法从灰度图像中检测鱼腥藻类细胞;
⑹
如果步骤
⑸
中检测到多个大小相似的鱼腥藻类细胞,则以它们的均值来修正单位细胞像素尺寸;
⑺
执行步骤
⑷
,计算鱼腥藻类的细胞个数;
⑻
如果步骤
⑸
中未能检测到多个大小相似的鱼腥藻类细胞,则不修正单位细胞像素尺寸,直接将二值图像的像素面积除以默认的细胞像素尺寸,得到鱼腥藻类的细胞个数。8.如权利要求7所述的基于显微镜图像的鱼腥藻类细胞统计方法,其特征在于,通过二值图像进行细胞个数统计时,首先根据图像上鱼腥藻类的形态,对单位细胞的像素尺寸进行了修正,再计算二值图像中白色区域的像素面积,用它除以修正后的单位细胞像素尺寸,计算出细胞个数。
技术总结
本发明公开了一种基于显微镜图像的鱼腥藻类细胞统计方法,包括以下步骤:步骤
技术研发人员:任海平 段春建 朱子晗 姬灵 张铁财 李斌 王英才 胡圣 张晶 李书印
受保护的技术使用者:生态环境部长江流域生态环境监督管理局生态环境监测与科学研究中心
技术研发日:2022.01.27
技术公布日:2022/5/17