附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1是本发明实施例一提供的梯度图像;
图2是本发明实施例一提供的梯度方向矫正方法的流程图;
图3是本发明实施例一提供的梯度二值化图像;
图4是本发明实施例一提供的单像素厚度的细胞边缘处理方法的流程图;
图5是本发明实施例一提供的中心点与其四领域内像素分布的示意图;
图6是本发明实施例一提供的细胞边缘区域值的示意图;
图7是本发明实施例一提供的像素A的曲线方向的示意图;
图8是本发明实施例一提供的像素B的曲线方向的示意图;
图9是本发明实施例一提供的矫正第一梯度方向的流程图;
图10是本发明实施例一提供的细胞边缘对应的所有像素的X方向的梯度方向和X方向的曲线方向的符号的示意图;
图11是本发明实施例一提供的细胞边缘对应的所有像素的X方向的梯度方向和X方向的曲线方向的符号情况的示意图;
图12是本发明实施例一提供的细胞边缘对应的所有像素矫正后的X方向的梯度方向的示意图;
图13是本发明实施例一提供的未经矫正处理与经矫正处理后细胞圈选的效果对比图;
图14是本发明实施例二提供的梯度方向矫正装置的结构框图。
实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的模块或具有相同或类似功能的模块。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。相反,本发明的实施例包括落入所附加权利要求书的精神和内涵范围内的所有变化、修改和等同物。
本发明实施例由细胞边缘所在的像素沿细胞边缘往前预设距离和往后预设距离的两个像素确定直线、该像素到该直线的垂足与该像素的坐标差值为该像素的曲线方向,计算细胞边缘对应的每一个像素的第一梯度方向和曲线方向,通过第一梯度方向的符号和曲线方向的符号矫正第一梯度方向,得到第二梯度方向,提高了计算细胞的圆心的准确性,进而保证细胞计数的准确性。
图2是本发明实施例一提供的梯度方向矫正方法的流程图。如图2所示,该方法包括如下步骤。
步骤S201:获取包含细胞边缘信息的细胞图像。
在本发明实施例中,细胞图像可以是在显微镜光路下对装有细胞液的载玻片进行拍摄得到的彩色图或者灰度图,其中包含细胞边缘信息。若为彩色图,可经转换得到灰度图,灰度图再转换为其他形式的细胞图像供后续步骤使用。
图1所示的细胞图像为由灰度图转换得到的梯度图像,图3所示的细胞图像为由梯度图像转换得到的梯度二值化图像。在图1和图3中,均为一个大圆套着一个小圆或者圆弧,大圆及其围合的区域表示一个细胞。对于每一个细胞,大圆、小圆和圆弧均称为细胞边缘,三者均覆盖若干个像素。细胞边缘信息包括大圆、小圆和圆弧覆盖像素的位置及其对应的像素值等。在图3中,细胞边缘覆盖像素的像素值为255,其他像素的像素值为0。
步骤S202:从细胞图像中提取单像素厚度的细胞边缘信息。
由于细胞图像的存储方式和遍历方式为行列顺序的形式,为了便于后续步骤对细胞边缘所在像素的处理,作为本发明的一个实施例,从细胞图像中提取细胞边缘信息,将细胞边缘信息按一维数组的前后顺序形式存储。
为了提高后续计算细胞的圆心的准确性,将细胞边缘处理为单像素厚度的细胞边缘,然后再进行提取。作为本发明的一个实施例,如图4所示,处理为单像素厚度的细胞边缘的方法包括如下步骤。
步骤S401:判断细胞边缘对应的每一个像素在四邻域内是否满足预设条件。
步骤S402:将满足预设条件的像素去除得到单像素厚度的细胞边缘。
图5列出了4种中心点与其四领域内像素分布的情况。在本发明实施例中,对于细胞边缘对应的每一个像素,以其作为中心点,判断其四邻域内像素是否满足如图5所示的任一分布的情况,即其左、上两个像素的像素值是否与其相同,或者,其右、上两个像素的像素值是否与其相同,或者,其左、下两个像素的像素值是否与其相同,或者,其右、下两个像素的像素值是否与其相同。如果满足任一分布的情况,像素值相同,则判定为非单像素厚度,需要去除该像素(中心点);如果4种情况都不满足,则判定为单像素厚度。去除即是将该像素的像素值设为其他值,如设为与背景相同的值。由此得到单像素厚度的细胞边缘。
在本发明实施例中,提取单像素厚度的细胞边缘信息的方法包括如下步骤。
首先,在梯度二值化图像中进行连通区域划分,使得连通的区域具有相同的区域值,不连通的区域具有不同的区域值。连通区域划分可采用现有的八邻域标记算法等,在此不再赘述。由此,一条细胞边缘成为一个连通的区域,其覆盖的若干个像素具有相同的区域值,如图6所示,该细胞边缘的区域值为1;不同的细胞边缘为不连通的区域,其覆盖的像素具有不同的区域值。
然后,查找每个连通的区域的起始点,即查找每条细胞边缘的起始点。以细胞边缘覆盖的任一像素作为中心点,统计其八邻域内像素的区域值与之相等的像素的数量。若数量仅为1,则将该像素置作为该连通的区域的起始点,即将该像素作为该细胞边缘的起始点,进入下一步骤;若数量大于1,则将中心点移至下一个细胞边缘覆盖的像素,重复进行上述查找起始点的操作;若遍历完该细胞边缘覆盖的像素都没能确定起始点,则将最后一个中心点置为该细胞边缘的起始点。
最后,从起始点开始对细胞边缘覆盖的像素按一维数组的前后顺序形式存储。以起始点作为中心点,将中心点的信息保存到数组中,并在其八邻域内按顺时针方向或者逆时针方向查找区域值与之相等的像素,查找到后将中心点移至该像素,并将新中心点的信息保存到数组中。重复上述操作直至遍历完细胞边缘覆盖的所有像素。
步骤S203:计算细胞边缘对应的每一个像素的第一梯度方向和曲线方向。
在本发明实施例中,根据灰度图计算细胞边缘对应的每一个像素的第一梯度方向。第一梯度方向采用图像处理领域的定义,包括X方向的梯度方向和Y方向的梯度方向。根据梯度二值化图像或者步骤202提取的细胞边缘信息计算细胞边缘对应的每一个像素的曲线方向。细胞边缘所在的某个像素的曲线方向为:由该像素沿细胞边缘往前预设距离和往后预设距离的两个像素确定直线、该像素到直线的垂足与该像素的坐标差值为曲线方向。对应于第一梯度方向,曲线方向也包括X方向的曲线方向和Y方向的曲线方向。
图7是本发明实施例一提供的像素A的曲线方向的示意图。图8是本发明实施例一提供的像素B的曲线方向的示意图。如图7所示,像素A的坐标为(100,100),其沿细胞边缘往前5个像素和往后5个像素为像素P1、像素P2(预设距离为5个像素,在此不做限定),像素P1和像素P2确定一直线,像素A到该直线的垂足为像素P,像素P的坐标为(150,160),则像素P与像素A的坐标差值,即像素A的曲线方向为(50, 60);同理,如图8所示,像素B的坐标为(400,180),其沿细胞边缘往前5个像素和往后5个像素为像素P1、像素P2,像素P1和像素P2确定一直线,像素B到该直线的垂足为像素P,像素P的坐标为(380,190),则像素P与像素B的坐标差值,即像素B的曲线方向为(-20, 10)。
步骤S204:根据细胞边缘对应的所有像素的第一梯度方向的符号和曲线方向的符号矫正第一梯度方向得到第二梯度方向。
作为本发明的一个实施例,矫正细胞边缘对应的所有像素的第一梯度方向的过程如图9所示,该方法包括如下步骤。
步骤S901:对于细胞边缘对应的所有像素,提取其第一梯度方向的符号和曲线方向的符号。
步骤S902:若第一梯度方向和曲线方向异号的像素比同号的像素多,对细胞边缘对应的所有像素的第一梯度方向进行取反得到第二梯度方向。
如图10所示,左边为某细胞边缘对应的所有像素的X方向的梯度方向,右边为该细胞边缘对应的所有像素的X方向的曲线方向的符号(1表示正号,-1表示负号)。判断各像素X方向的梯度方向和X方向的曲线方向为异号或是同号。判断的方法可以是将两者相乘然后提取符号,在此不做限定。如图11所示,各像素的X方向的梯度方向和X方向的曲线方向均为异号,即异号的像素比同号的像素多。对该细胞边缘对应的所有像素的X方向的梯度方向进行取反,得到矫正后的X方向的梯度方向,如图12所示。同样地,对该细胞边缘对应的所有像素的Y方向的梯度方向和Y方向的曲线方向也进行相同的处理,得到矫正后的Y方向的梯度方向。矫正后的X方向的梯度方向和矫正后的Y方向的梯度方向为第二梯度方向。矫正后得到的第二梯度方向,实际上是将图1中右边的多个箭头从朝圆心的反方向矫正为朝圆心的方向,使得虚焦的细胞内的投票值增大。
在本发明实施例中,若第一梯度方向和曲线方向同号的像素比异号的像素多,则保持细胞边缘对应的所有像素的第一梯度方向不变,后续步骤根据保持不变的第一梯度方向计算细胞的圆心。也可以将保持不变的第一梯度方法赋予第二梯度方向,后续步骤根据第二梯度方向计算细胞的圆心。
步骤S205:根据细胞边缘对应的每一个像素的第二梯度方向计算细胞的圆心。
在本发明实施例中,根据细胞边缘对应的每一个像素的第二梯度方向计算细胞的圆心,即尽可能多地朝圆心的方向进行投票以判别细胞的圆心位置。如图13所示,左边为未经矫正处理和细胞圈选的细胞图像,中间为未经矫正处理即进行细胞圈选的细胞图像,右边为经矫正处理后进行细胞圈选的细胞图像。可以看到,中间的细胞图像漏圈了细胞(箭头所指的位置),经梯度方向矫正处理后,在右边的细胞图像中漏圈的细胞被圈选到了(箭头所指的位置),由此保证了细胞计数的准确性。
本发明实施例由细胞边缘所在的像素沿细胞边缘往前预设距离和往后预设距离的两个像素确定直线、该像素到该直线的垂足与该像素的坐标差值为该像素的曲线方向,计算细胞边缘对应的每一个像素的第一梯度方向和曲线方向,通过第一梯度方向的符号和曲线方向的符号矫正第一梯度方向,得到第二梯度方向,提高了计算细胞的圆心的准确性,进而保证细胞计数的准确性。
图14是本发明实施例二提供的梯度方向矫正装置的结构框图,如图14所示,该装置包括:获取单元1401、第一计算单元1402和矫正单元1403。
获取单元用于获取包含细胞边缘信息的细胞图像。
第一计算单元用于计算细胞边缘对应的每一个像素的第一梯度方向和曲线方向,其中,由细胞边缘所在的像素沿细胞边缘往前预设距离和往后预设距离的两个像素确定直线、像素到直线的垂足与像素的坐标差值为曲线方向。
矫正单元用于根据细胞边缘对应的所有像素的第一梯度方向的符号和曲线方向的符号矫正第一梯度方向得到第二梯度方向。
优选地,矫正单元1403包括符号子单元和取反子单元。
符号子单元用于对于细胞边缘对应的所有像素,提取第一梯度方向的符号和曲线方向的符号。
取反子单元用于若第一梯度方向和曲线方向异号的像素比同号的像素多,对细胞边缘对应的所有像素的第一梯度方向进行取反得到第二梯度方向。
优选地,第一梯度方向包括X方向的梯度方向和Y方向的梯度方向,曲线方向包括X方向的曲线方向和Y方向的曲线方向。
进一步地,梯度方向矫正装置还包括提取单元。提取单元用于从细胞图像中提取单像素厚度的细胞边缘信息。
进一步地,梯度方向矫正装置还包括第二计算单元。第二计算单元用于根据细胞边缘对应的每一个像素的第二梯度方向计算细胞的圆心。
在该梯度方向矫正装置中运行的梯度方向矫正方法与实施例一描述的方法一一对应,在此不再赘述。
本发明实施例由细胞边缘所在的像素沿细胞边缘往前预设距离和往后预设距离的两个像素确定直线、该像素到该直线的垂足与该像素的坐标差值为该像素的曲线方向,计算细胞边缘对应的每一个像素的第一梯度方向和曲线方向,通过第一梯度方向的符号和曲线方向的符号矫正第一梯度方向,得到第二梯度方向,提高了计算细胞的圆心的准确性,进而保证细胞计数的准确性。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。