本发明涉及图像识别领域,尤其涉及一种血液细胞的图像识别计数方法。
背景技术:
在癌症发病率逐年上升的情况下,现在医院诊断癌症主要还是由医生人工去辨别医学显微图像,这就要求检测人员或医师具有丰富的临床经验,但这样的诊断方式存在着工作效率低,强度大,易疲劳和产生人为误差等诸多缺点。利用图像识别对血液显微细胞图像进行分类,以此来辅助医生进行分析和计数血液中病变微细胞,并且得到病理等方面的重要信息,这对于帮助医务人员进行血液疾病的诊断和治疗具有非常重要的临床意义。
技术实现要素:
有鉴于此,本发明提出了一种效率高、准确率高的急性白血病的血液细胞的图像识别计数方法。
本发明的技术方案是这样实现的:本发明提供了一种血液细胞的图像识别计数方法,其包括以下步骤,
S1,采集血液显微图像样本;
S2,对图片进行灰度化处理;
S3,对图片进行滤波处理;
S4,对图片进行二值化和阈值分割处理;
S5,提取细胞形态学特征参数;
S6,采用BP神经网络对细胞特征参数进行识别;
S7,计算细胞个数N1;
S8,将原图片从RGB空间转到LAB空间;
S9,用K均值聚类对图片像素进行LAB颜色聚类;
S10,对连通区域进行细胞识别;
S11,计算细胞个数N2;
S12,选取N1和N2中较小者为计数细胞个数。
在以上技术方案的基础上,优选的,所述步骤S2中采用加权平均法对图片进行灰度化处理,即当R=G=B=0.3R+0.59G+0.11B时,得到最合理的灰度图像。
在以上技术方案的基础上,优选的,步骤S3中的滤波处理中,先读取各个像素灰度值,再选取方形结构,运用中值算法进行滤波。
在以上技术方案的基础上,优选的,步骤S4中对图片进行二值化和阈值分割处理中,先读取滤波后各个像素灰度值,再采用最佳阈值法进行迭代,得出最佳阈值,最后运用最佳阈值对图像进行二值化处理。
在以上技术方案的基础上,优选的,步骤S5中,采用矩形的结构元素,在Matlab中用imdilate函数进行图像膨胀,用imerode函数实现图像腐蚀,然后对细胞图像标记各个连通区域,再计算各个连通区域的圆度、矩度、面积和周长作为细胞形态学特征参数。
在以上技术方案的基础上,优选的,步骤S6中,采用BP神经网络对细胞特征参数进行识别,重新标记识别为1的连通区域,标记数即为细胞识别个数。
在以上技术方案的基础上,优选的,步骤S8中,先采用以下公式将原图片从RGB空间转到XYZ空间,
再采用以下公式将XYZ空间转换到Lab空间,
L=116(Y/Y0)1/3-16
a=500[(X/X0)1/3-(Y/Y0)1/3]
b=500[(X/X0)1/3-(Z/Z0)1/3]
其中,X0=95.045,Y0=100,Z0=108.255。
在以上技术方案的基础上,优选的,步骤S9包括以下步骤,
首先,根据血液中细胞的颜色特点,从样本中选出C个合适的颜色作为初始聚类中心,将全部颜色随机分成C类,计算每类的平均值,再讲每类平均值作为下次的聚类中心;
然后,通过计算将样本就近归入聚类中心所代表的类中,取其中一样本,将其归入与其最接近的聚类中心中,重新计算这类的均值,更新聚类中心;
最后,取出下一样本,重复以上操作,知道所有颜色样本归入到相应类中。
本发明的血液细胞的图像识别计数方法相对于现有技术具有以下有益效果:
(1)考虑到血液细胞图像的特殊性,通过Matlab进行算法仿真,进行细胞识别并计数;
(2)通过形态学的方法提取细胞特征参数,并将这些特征参数作为BP神经网络的输入参数进行细胞识别,最后进行细胞计数;
(3)采用色度学的方法进行细胞计数的校正,提高细胞计数的准确性;
(4)采用中值滤波算法、灰度直方图算法、阈值处理算法、腐蚀和膨胀算法,实现细胞的识别和自动计数,准确度好,效率高。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明的血液细胞的图像识别计数方法的流程图。
具体实施方式
下面将结合本发明实施方式,对本发明实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式仅仅是本发明一部分实施方式,而不是全部的实施方式。基于本发明中的实施方式,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施方式,都属于本发明保护的范围。
如图1所示,本发明的血液细胞的图像识别计数方法,其包括以下步骤,
S1,采集血液显微图像样本。
S2,对图片进行灰度化处理。具体的,采用加权平均法对图片进行灰度化处理,即当R=G=B=0.3R+0.59G+0.11B时,得到最合理的灰度图像。
S3,对图片进行滤波处理。具体的,先读取各个像素灰度值,再选取方形结构,运用中值算法进行滤波。
S4,对图片进行二值化和阈值分割处理。具体的,先读取滤波后各个像素灰度值,再采用最佳阈值法进行迭代,得出最佳阈值,最后运用最佳阈值对图像进行二值化处理。
S5,提取细胞形态学特征参数。具体的,采用矩形的结构元素,在Matlab中用imdilate函数进行图像膨胀,用imerode函数实现图像腐蚀,然后对细胞图像标记各个连通区域,再计算各个连通区域的圆度、矩度、面积和周长作为细胞形态学特征参数。
S6,采用BP神经网络对细胞特征参数进行识别。具体的,采用BP神经网络对细胞特征参数进行识别,重新标记识别为1的连通区域,标记数即为细胞识别个数。
S7,计算细胞个数N1;
S8,将原图片从RGB空间转到LAB空间。具体的,先采用以下公式将原图片从RGB空间转到XYZ空间,
再采用以下公式将XYZ空间转换到Lab空间,
L=116(Y/Y0)1/3-16
a=500[(X/X0)1/3-(Y/Y0)1/3]
b=500[(X/X0)1/3-(Z/Z0)1/3]
其中,X0=95.045,Y0=100,Z0=108.255。
S9,用K均值聚类对图片像素进行LAB颜色聚类。具体的,
首先,根据血液中细胞的颜色特点,从样本中选出C个合适的颜色作为初始聚类中心,将全部颜色随机分成C类,计算每类的平均值,再讲每类平均值作为下次的聚类中心;
然后,通过计算将样本就近归入聚类中心所代表的类中,取其中一样本,将其归入与其最接近的聚类中心中,重新计算这类的均值,更新聚类中心;
最后,取出下一样本,重复以上操作,知道所有颜色样本归入到相应类中。
S10,对连通区域进行细胞识别。可采用与步骤S5和S6相同的方法。
S11,计算细胞个数N2;
S12,选取N1和N2中较小者为计数细胞个数。
以上所述仅为本发明的较佳实施方式而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。