CN107481225A - 一种自动寻找最优参数分割粘连细胞的方法 - Google Patents
一种自动寻找最优参数分割粘连细胞的方法 Download PDFInfo
- Publication number
- CN107481225A CN107481225A CN201710620075.3A CN201710620075A CN107481225A CN 107481225 A CN107481225 A CN 107481225A CN 201710620075 A CN201710620075 A CN 201710620075A CN 107481225 A CN107481225 A CN 107481225A
- Authority
- CN
- China
- Prior art keywords
- cell
- point
- image
- value
- gray value
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 47
- 230000011218 segmentation Effects 0.000 title claims abstract description 16
- 238000005260 corrosion Methods 0.000 claims abstract description 55
- 230000007797 corrosion Effects 0.000 claims abstract description 55
- 238000006243 chemical reaction Methods 0.000 claims description 12
- 101100269850 Caenorhabditis elegans mask-1 gene Proteins 0.000 claims description 6
- 238000004364 calculation method Methods 0.000 claims description 6
- 238000001914 filtration Methods 0.000 claims description 6
- 239000012535 impurity Substances 0.000 claims description 4
- 238000000205 computational method Methods 0.000 claims description 3
- 238000007781 pre-processing Methods 0.000 claims description 3
- 239000003518 caustics Substances 0.000 claims description 2
- 239000000284 extract Substances 0.000 claims description 2
- 235000013399 edible fruits Nutrition 0.000 claims 1
- 238000005516 engineering process Methods 0.000 abstract description 5
- 238000000605 extraction Methods 0.000 abstract 1
- 238000004458 analytical method Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 238000003708 edge detection Methods 0.000 description 2
- 235000008331 Pinus X rigitaeda Nutrition 0.000 description 1
- 235000011613 Pinus brutia Nutrition 0.000 description 1
- 241000018646 Pinus brutia Species 0.000 description 1
- 230000010261 cell growth Effects 0.000 description 1
- 238000003759 clinical diagnosis Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005530 etching Methods 0.000 description 1
- 238000003709 image segmentation Methods 0.000 description 1
- 230000002401 inhibitory effect Effects 0.000 description 1
- 230000003834 intracellular effect Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/0002—Inspection of images, e.g. flaw detection
- G06T7/0012—Biomedical image inspection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/20—Image enhancement or restoration by the use of local operators
- G06T5/30—Erosion or dilatation, e.g. thinning
-
- G06T5/70—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/12—Edge-based segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30004—Biomedical image processing
- G06T2207/30024—Cell structures in vitro; Tissue sections in vitro
Abstract
一种自动寻找最优参数分割粘连细胞的方法,属于细胞图像处理技术领域,包括如下步骤:(1)采集细胞图像;(2)细胞图像预处理;(3)计算每个细胞参数(4)提取单个细胞标记图像;(5)计算细胞梯度图像;(6)去除细胞边界的孤立点;(7)细胞边界膨胀;(8)最优参数腐蚀细胞边界;(9)去除细胞边界。本发明通过计算细胞梯度图像,用不同灰度值标记背景、细胞边界、细胞内部,通过膨胀、可变参数腐蚀、去除边界的方法,准确的分隔开粘连细胞,提高了细胞参数计算的准确性。
Description
技术领域
本发明属于细胞图像处理技术领域,涉及一种自动寻找最优参数分割粘连细胞的方法。
背景技术
在细胞图像处理过程中,细胞的显微图像在临床诊断中有着重要意义。细胞图像的自动 分析技术为临床医学的研究提供了强有力的工具。但是在细胞的显微图像中经常出现细胞重 叠和粘连现象,这种由多个细胞聚堆而成的细胞群通常会严重影响后续的统计分析。将粘连 的细胞图像分割为一个个细胞的图像,对后续分析统计能否有效进行极为重要。因此在细胞 图像自动分析技术的研究中产生了对能有效分割有粘连细胞图像的算法的需求。根据图像不 同的特征,人们提出了各种算法,如:灰度阈值法区域生长法、边缘检测法、松施法等。这 些算法都要求图像具有某些特定性质,在实际处理中存在一定的局限性,难以直接使用。比 如,基于边缘检测的图像分割是利用图像中目标对象边缘灰度变换一般比较剧烈的属性,利 用图像处理中边缘检测方法将目标对象所在的区域提取出来的分割方法。由于这种分割方法 是利用不同图像区域间的不同性质(如区域边缘的灰度不连续)检测出各个区域间的分界线, 因此通常导致分割出来的图像对象的边缘不连续,甚至有时可能得到错误的边缘。
发明内容
针对现有技术的不足,本发明提供一种基于细胞边界灰度值变化剧烈的基础上,准确分 割粘连细胞的方法。
为实现上述目的,本发明采用了如下技术方案:
一种自动寻找最优参数分割粘连细胞的方法,其特征在于,包括如下步骤:
(1)采集细胞图像
利用自动图像采集设备采集人体细胞图像到计算机上,图像标准是8位bmp格式,将其 称之为原始图像sourceImage;
(2)细胞图像预处理
第一步,对原始图像sourceImage进行高斯滤波操作,以消除图像的高斯噪声。
第二步,二值化,用阈值的方法对当前图像sourceImage进行二值化处理,使背景变为黑 色,细胞和杂质成为白色,得到图像dest;
第三步,对图像dest进行开运算;
第四步,对图像dest进行通道变换,将单通道的dest变换成为三通道,变换后的图像放 到图像imgs中,之后对imgs图像进行分水岭运算,分水岭后得到的细胞图像为图像waterimage;
第五步,通过emgucv机器视觉库中的FindContours函数,在分水岭运算后的图像waterimage中依次寻找每个细胞轮廓,并将单个细胞轮廓上每一个点的轮廓信息加入指定的 点向量阵列contours中保存下来,得到单个细胞轮廓信息;所述的单个细胞轮廓信息包括坐 标和灰度值;
细胞预处理是对原始图像sourceImage进行处理,其中可能含有几十或者上百个细胞,而 第(3)、(4)、(5)、(6)、(7)、(8)步所处理的图像是来源于细胞原始图像sourceImage中单个的细 胞图像,细胞原始图像sourceImage中的每一个细胞都要单独经历步骤(2)至步骤(8)的过 程;
(3)计算每个细胞参数
首先通过上一步得到的单个细胞轮廓信息,在细胞原始图像sourceImage上面截取到当前 需要处理的单个完整的细胞,将粘连细胞也视为单个细胞;之后计算当前截取到的细胞的平 均半径;
调用emguCV库中的函数Moments()计算当前细胞图像的空间矩,并将计算结果保存在 mom中;
质心坐标计算:
质心X坐标m为一阶垂直矩除以零阶矩:CentroidX=mom.M10/mom.M00;
质心Y坐标n为一阶水平矩除以零阶矩:CentroidY=mom.M01/mom.M00;
细胞平均半径计算方法:设细胞边界共有w个点,某点坐标为(x,y),质心坐标为(m,n)
则细胞在此点处的半径为细胞平均半径s=sum/w。
(4)提取单个细胞标记图像
首先通过预处理得到的单个细胞轮廓信息,在细胞原始图像sourceImage上面截取到当前 需要处理的单个完整的细胞图像,将粘连细胞也视为单个细胞,然后对单个细胞图像的灰度 值进行改变,将图像背景设为黑色,图像背景的灰度值为0,将细胞边界的灰度值设为2,细 胞内部的灰度值设为1,得到单个细胞标记图像MaskImage;
(5)计算细胞梯度图像
在细胞原始图像sourceImage上面按照细胞轮廓位置,截取单个细胞的原始图像;对单个 细胞图像进行中值滤波操作去除图像噪声;将去除噪声后的细胞图像通过遍历细胞图像的方 法,将每个像素点的灰度值分别与该点周围八邻域内的八个点的灰度值作差;最后将八个差 值相加得到的和值替换为该点的灰度值,得到当前单个细胞图像的梯度图gradientImage;
(6)去除细胞边界的孤立点
遍历第(4)步得到的单个细胞标记图像MaskImage,如果某个边界点的八邻域内的点中 只有一个点是灰度值为2的边界点,此点是孤立的边界点;之后再去判断其八邻域内的点, 如果细胞内部点多,则将之设为内部点,否则就设为图像背景,去除孤立的边界点后得到图 像Mask1;
(7)细胞边界膨胀
在图像Mask1的基础上对细胞的边界按照当前细胞的平均半径的大小对细胞边界进行膨 胀,膨胀次数outsideIteration=平均半径*A,0.2≤A≤0.4,优选的,A的取值为0.3;首先向细 胞内部膨胀,然后向细胞外部膨胀,向外和向内的膨胀次数相同,交替进行;每次膨胀都是 根据细胞标记图像,将每一个细胞的边界点的八邻域内所有的非边界点改变为边界点,优选 的,非边界点改变为边界点的方法是:向细胞外部膨胀时,如果一个边界点的八邻域内有某 几个点的灰度值是0,则将其灰度值改变为2;向细胞内部膨胀时,如果一个边界点八邻域内 的某几个点的灰度值为1,则将其灰度值改变为2;通过细胞边界膨胀得到膨胀后的图像 Mask2;
(8)最优参数腐蚀细胞边界
通过对上一步的细胞边界膨胀后的图像Mask2,按照当前膨胀后的细胞边界点在梯度图 gradientImage中寻找相对应点的灰度值,提取到边界点所对应的梯度图gradientImage中最大 灰度值max_value和最小灰度值min_value,设定腐蚀需要的初始阈值step_i=min_value+step-1, 如果time值大于1则step=(max_value-min_value+1)/(time-1),如果time小于等于1,则 step=max_value-min_value+1;腐蚀次数=(max_value-step_i)/step+1,腐蚀从i=min_value+step-1 开始,以后每次增加step_i,即step_i=step_i+step,如果step_i值大于max_value,则腐蚀结 束;
腐蚀过程为:初始time值为1,开始对图像Mask2进行腐蚀,然后通过emgucv机器视觉库中的FindContours函数判断细胞轮廓个数t,如果细胞轮廓个数t为2个,则time值加1,再次对Mask2进行腐蚀,每次腐蚀函数调用结束都要进行判断,如果细胞轮廓由两个轮廓变为一个轮廓,则将time值改变回上一个参数,之后再次腐蚀,腐蚀结束后进行第(9)步细胞边 界去除;细胞边界腐蚀分为两个方向,一个是从背景开始向细胞内部腐蚀,一个是从细胞内 部向细胞外部腐蚀,这两个方向的腐蚀交替进行,腐蚀的次数相同,腐蚀时的判断量step_i 相同;
优选的,从细胞内部向外腐蚀方法为:循环开始时,step_i的初始值为 step_i=min_value+step-1,如果step_i大于max_value,腐蚀结束;如果step_i小于等于max_value, 则进入循环,将图像Mask2上细胞边界点中所有四邻域内只有灰度值为1的点而没有灰度值 为0的点的边界点加入新列表enumerator中,判断列表enumerator中点在梯度图像 gradientImage中对应点的梯度值是不是小于此时的阈值i,如果梯度值小于此时的阈值step_i, 则将Mask2上对应的点的灰度值改为1,如果梯度值大于等于此时的阈值step_i则不做任何 操作,当所有点都判断结束后,清空列表enumerator,本轮循环结束;
第二次循环,将step_i值加上step即step_i=step_i+step;判断step_i值是不是小于等于 max_value,如果step_i大于max_value那么腐蚀结束;如果step_i小于等于max_value则将图 像Mask2上细胞边界点中所有四邻域内只有灰度值为1的点而没有灰度值为0的边界点加入 新列表enumerator中,判断列表enumerator中点在梯度图gradientImage中对应点的梯度值是 不是小于此时的阈值step_i,如果梯度值小于此时的阈值step_i则将Mask2上对应的点的灰 度值改为1,如果梯度值大于等于此时的阈值step_i则不做任何操作,当所有点都判断结束后, 清空列表enumerator,本轮循环结束;
从背景向细胞内部腐蚀的方法为:根据梯度图gradientImage取得对应边界的最大梯度值 max_value、最小梯度值min_value、初始阈值step_i以及可变参数step;循环开始时,step_i 的初始值为step_i=min_value+step-1,如果step_i大于max_value,腐蚀结束;如果step_i小 于等于max_value,则进入循环,将图像Mask2上细胞边界点中所有四邻域内只有灰度值为0 的点而没有灰度值为1的点的边界点加入新列表enumerator2中,判断列表enumerator2中点 在梯度图gradientImage中对应点的梯度值是不是小于此时的阈值step_i,如果梯度值小于此 时的阈值step_i,则将Mask2上对应的点的灰度值改为0,如果梯度值大于等于此时的阈值 step_i则不做任何操作,当所有点都判断结束后,清空列表enumerator2,本轮循环结束;
第二次循环,将step_i值加上step即step_i=step_i+step。判断step_i值是不是小于等于 max_value,如果step_i大于max_value,腐蚀结束;如果step_i小于等于max_value,则将图 像Mask2上细胞边界点中所有四邻域内只有灰度值为1的点而没有灰度值为0的点的边界点 加入新列表enumerator2中,判断列表enumerator2中点在梯度图gradientImage中对应点的梯 度值是不是小于此时的阈值step_i,如果梯度值小于此时的阈值step_i,则将图像Mask2上对 应的点的灰度值改为0,如果梯度值大于等于此时的阈值step_i则不做任何操作,当所有点都 判断结束后,清空列表enumerator,本轮循环结束。
腐蚀结束后得到对应的细胞图像Mask3;
(9)去除细胞边界
遍历细胞腐蚀后的图像Mask3,将每个灰度值为2的点统计其八邻域内灰度值为1和灰 度值为0的点的个数,如果灰度值为0的点的个数与灰度值为1的点的个数相等,则将该边 界点设为细胞内部点,若灰度值为1的点的个数与灰度值为0的点的个数不相等,那么此边 界点就是背景点;得到分割后的结果图像Mask4。
本发明通过计算细胞梯度图像,用不同灰度值标记背景、细胞边界、细胞内部,通过膨 胀、可变参数腐蚀、去除边界的方法,准确的分隔开粘连细胞,提高了细胞参数计算的准确 性。
附图说明
图1是自动寻找最优参数分割粘连细胞的方法流程图;
图2-a是细胞原始图像;
图2-b是二值化图像;
图2-c是分水岭结果图;
图2-d是单个细胞图像;
图2-e是去除孤立边界点图像;
图2-f是边界膨胀后图像;
图2-g是边界腐蚀后图像;
图2-h是去除边界后图像;
图3是图1中“最优参数腐蚀细胞边界”步骤的流程图。
说明:为显示细胞处理的过程,上述图2-a到图2-h的细胞图像中细胞灰度值1均改为 128,灰度值2均改为255。
具体实施方式
下面结合附图对本发明作进一步说明。
如图1所示,一种自动寻找最优参数分割粘连细胞的方法,包括如下步骤:
(1)采集细胞图像:利用自动图像采集设备采集人体细胞图像到计算机上,图像标准是8 位bmp格式,将其称之为原始图像sourceImage,如附图2-a所示;
(3)细胞图像预处理:
第一步,对原始图像sourceImage进行高斯滤波操作,以消除图像的高斯噪声。
第二步,二值化,用阈值的方法对当前图像sourceImage进行二值化处理,使背景变为黑 色,细胞和杂质成为白色,得到图像dest,如附图2-b所示;
第三步,对图像dest进行开运算消除细小的杂质,在纤细处分离物体,平滑细胞的边界;
第四步,对图像dest进行通道变换,将单通道的dest变换成为三通道,以符合开运算的 条件,变换后的图像放到图像imgs中,之后对imgs图像进行分水岭运算,以初步分割细胞, 分水岭后得到的细胞图像为图像waterimage,如附图2-c所示;
第五步,通过emgucv机器视觉库中的FindContours函数,在分水岭运算后的图像waterimage中依次寻找每个细胞轮廓,并将单个细胞轮廓上每一个点的轮廓信息加入指定的 点向量阵列contours中保存下来,得到单个细胞轮廓信息;所述的单个细胞轮廓信息包括坐 标和灰度值;
细胞预处理是对原始图像sourceImage进行处理,其中可能含有几十或者上百个细胞,而 第(3)、(4)、(5)、(6)、(7)、(8)步所处理的是来源于细胞原始图像sourceImage中单个的细胞图 像,细胞原始图像sourceImage中的每一个细胞都要单独经历步骤(2)至步骤(8)的过程;
(3)计算每个细胞参数:首先通过上一步得到的单个细胞轮廓信息,在细胞原始图像 sourceImage上面截取到当前需要处理的单个完整的细胞,之后计算当前截取到的细胞的平均 半径;将粘连细胞也视为单个细胞,所谓粘连细胞是指边界相互靠近但没有重叠部分的两个 或者多个细胞;
调用emguCV库中的函数Moments()计算当前细胞图像的空间矩,并将计算结果保存在 mom中。
质心坐标计算:
质心X坐标m为一阶垂直矩除以零阶矩:CentroidX=mom.M10/mom.M00;
质心Y坐标n为一阶水平矩除以零阶矩:CentroidY=mom.M01/mom.M00;
细胞平均半径计算方法:设细胞边界共有w个点,某点坐标为(x,y),质心坐标为(m,n)
则细胞在此点处的半径为细胞平均半径s=sum/w;
(4)提取单个细胞标记图像:首先通过预处理得到的单个细胞轮廓信息,在细胞原始图像 sourceImage上面截取到当前需要处理的单个完整的细胞图像,将粘连细胞也视为单个细胞, 然后对单个细胞图像的灰度值进行改变,将图像背景设为黑色,图像背景的灰度值为0,将 细胞边界的灰度值设为2,细胞内部的灰度值设为1,得到单个细胞标记图像MaskImage,如 图2-e所示;
(5)计算细胞梯度图像:在细胞原始图像sourceImage上面按照细胞轮廓位置,截取单个 细胞的原始图像;对单个细胞图像进行中值滤波操作,以去除图像噪声;将去除噪声后的细 胞图像通过遍历细胞图像的方法,将每个像素点的灰度值分别与该点周围八邻域内的八个点 的灰度值作差;最后将八个差值相加得到的和值替换为该点的灰度值;由于在原始图像中, 细胞的灰度值颜色会有一个渐变,图像背景的颜色却大致相等,而细胞边界与背景的灰度值 又相差甚大,因此梯度图像会在细胞的边界处灰度值比较大,而在细胞内部的灰度值次之, 在图像的背景处的灰度值是最小的。可以利用这种变化趋势来通过梯度图像的灰度值寻找细 胞的边界。梯度计算最后得到的图像gradientImage就是当前单个细胞图像的梯度图。
(6)去除细胞边界的孤立点:通过第(4)步得到的单个细胞标记图像MaskImage,如图 2-e所示,其边界处的灰度值为2,细胞内部的灰度值为1,图像背景的灰度值为0;遍历单个细胞标记图像MaskImage,如果某个边界点的八邻域内的点中只有一个点是灰度值为2的边界点,那么此点可以认为是孤立的边界点,之后再去判断其八邻域内的点,细胞内部点多还是细胞外部点多,如果细胞内部点多,则将之设为内部点,否则就设为图像背景,去除孤立的边界点后得到的图像就是图像Mask1。
(7)细胞边界膨胀:在图像Mask1的基础上对细胞的边界按照当前细胞的平均半径的大小 对细胞边界进行膨胀,细胞边界膨胀的原理是以细胞的平均半径作为参数,如图2-d至2-h 所示,本实施例其细胞平均半径为26个像素,为保证膨胀效果膨胀的次数最低不低于3次, 最大不大于10次,本实施例的膨胀次数outsideIteration=平均半径*A,0.2≤A≤0.4,本实施例 中A的取值为0.3,即其膨胀次数outsideIteration=26*0.3=7.8,即为7次;膨胀方向有两个, 首先向细胞内部膨胀,然后向细胞外部膨胀,向外和向内的膨胀次数相同,交替进行;每次 膨胀都是根据细胞标记图像,将每一个细胞的边界点(灰度值为2)的八邻域内所有的非边 界点改变为边界点,改变的原则为:向细胞外部膨胀时,如果一个边界点的八邻域内有某几 个点的灰度值是0,也就是背景,则将其灰度值改变为2,也就是将其改变成边界点;向细胞 内部膨胀时,如果一个边界点八邻域内的某几个点的灰度值为1,该点也就是细胞内部点, 则将其灰度值改变为2,即将细胞内部点,改变为细胞边界点。细胞膨胀的结果图像仍然为 灰度值可能只有0、1、2的图像,如果细胞为单个细胞,根据膨胀参数细胞的平均半径其细 胞的膨胀结果正好是将所有的细胞内部值改变为边界值,结果只有两种灰度值0,2;若细胞 为粘连细胞,那么细胞的平均半径将超过正常细胞的平均半径,也就使得细胞的膨胀结果图 含有三种灰度值0、1、2,即细胞膨胀图像含有背景,边界以及细胞内部值;通过细胞边界 膨胀得到膨胀后的图像Mask2,如图2-f所示。
(8)最优参数腐蚀细胞边界:细胞边界腐蚀是通过步骤(5)中的细胞梯度图实现的,细 胞边界腐蚀的原理是:如图3所示,通过对上一步的细胞边界膨胀后的图像Mask2,按照当 前膨胀后的细胞边界点在梯度图像中寻找相对应点的灰度值,提取到边界点所对应的梯度图 中最大灰度值max_value和最小灰度值min_value,由于细胞边界在上一步中,既向外膨胀又 向内膨胀。因此,此时的细胞边界不是细胞的真正边界,而是包含一部分背景,一部分细胞 内部点。因此可以肯定的是梯度图中的灰度值的最大值一定是在细胞真正的边界处,而梯度 图中灰度值最小值一定是在原图像的背景处。设定腐蚀需要的初始阈值step_i=min_value+step-1,step_i的作用是与step一起控制腐蚀的次数,同时还是腐蚀时的判断 量,如果梯度图像上面的当前点其灰度值小于step_i则将其改变为内部点(向内腐蚀时)或 者背景点(向外腐蚀时)。step是每次腐蚀所加的固定值,也是一个可调的经验值,在循环 中step每次都会加到上一次腐蚀时的step_i值上面。step是通过time值控制的,time的取值 范围为1-18,如果time值大于1则step=(max_value-min_value+1)/(time-1),如果time小 于等于1,则step=max_value-min_value+1。腐蚀次数由初始阈值step_i,最大灰度值 max_value以及经验值step共同决定,腐蚀次数=(max_value-step_i)/step+1,腐蚀从 step_i=min_value+step-1开始,以后每次增加step,即step_i=step_i+step,如果step_i值大于 max_value,则腐蚀结束。
此处的step或者说time就是最优参数值,可以通过程序不断调整。
腐蚀过程为:初始time值为1,开始对图像Mask2进行腐蚀,然后通过emgucv机器视觉库中的FindContours函数判断细胞轮廓个数,如果细胞轮廓个数为2个,就说明这个细胞是一个可分割的粘连细胞,则time值加1,再次对Mask2进行腐蚀,每次腐蚀函数调用结束都要进行判断,如果细胞轮廓由两个轮廓变为一个轮廓,就说明上一次的time值或者说step 值是最优的细胞分割参数,将time值改变回上一个参数,之后再次腐蚀,腐蚀结束后进行第 (9)步细胞边界去除。细胞边界腐蚀同样可以分为两个方向,一个是从背景开始向细胞内部腐 蚀,一个是从细胞内部向细胞外部腐蚀,这两个方向的腐蚀交替进行,腐蚀的次数相同,腐 蚀时的判断量step_i相同。
从细胞内部向外腐蚀过程:根据梯度图像取得对应边界的最大梯度值max_value、最小梯 度值min_value、初始阈值step_i以及可变参数step。循环开始时,step_i的初始值为 step_i=min_value+step-1,如果step_i大于max_value,腐蚀结束;如果step_i小于等于max_value, 则进入循环,将图像Mask2上细胞边界点中所有四邻域内只有灰度值为1的点而没有灰度值 为0的点的边界点加入新列表enumerator中,判断列表enumerator中点在梯度图像 gradientImage中对应点的梯度值是不是小于此时的阈值i,如果梯度值小于此时的阈值step_i, 则将Mask2上对应的点的灰度值改为1,如果梯度值大于等于此时的阈值step_i则不做任何 操作,当所有点都判断结束后,清空列表enumerator,本轮循环结束;
第二次循环,将step_i值加上step即step_i=step_i+step;判断step_i值是不是小于等于 max_value,如果step_i大于max_value那么腐蚀结束;如果step_i小于等于max_value则将图 像Mask2上细胞边界点中所有四邻域内只有灰度值为1的点而没有灰度值为0的边界点加入 新列表enumerator中,判断列表enumerator中点在梯度图gradientImage中对应点的梯度值是 不是小于此时的阈值step_i,如果梯度值小于此时的阈值step_i则将Mask2上对应的点的灰 度值改为1,如果梯度值大于等于此时的阈值i则不做任何操作,当所有点都判断结束后,清 空列表enumerator,本轮循环结束;
从背景向细胞内部腐蚀的过程:根据梯度图像gradientImage取得对应边界的最大梯度值 max_value、最小梯度值min_value、初始阈值step_i以及可变参数step。循环开始时,step_i 的初始值为step_i=min_value+step-1,如果step_i大于max_value,腐蚀结束;如果step_i小 于等于max_value,则进入循环,将图像Mask2上细胞边界点中所有四邻域内只有灰度值为0 的点而没有灰度值为1的点的边界点加入新列表enumerator2中,判断列表enumerator2中点 在梯度图gradientImage中对应点的梯度值是不是小于此时的阈值step_i,如果梯度值小于此 时的阈值step_i,则将Mask2上对应的点的灰度值改为0,如果梯度值大于等于此时的阈值 step_i则不做任何操作,当所有点都判断结束后,清空列表enumerator2,本轮循环结束;
第二次循环,将step_i值加上step即step_i=step_i+step。判断step_i值是不是小于等于 max_value,如果step_i大于max_value,腐蚀结束;如果step_i小于等于max_value,则将图 像Mask2上细胞边界点中所有四邻域内只有灰度值为1的点而没有灰度值为0的点的边界点 加入新列表enumerator2中,判断列表enumerator2中点在梯度图gradientImage中对应点的梯 度值是不是小于此时的阈值step_i,如果梯度值小于此时的阈值step_i,则将图像Mask2上对 应的点的灰度值改为0,如果梯度值大于等于此时的阈值step_i则不做任何操作,当所有点都 判断结束后,清空列表enumerator,本轮循环结束。
由于两个方向的腐蚀操作都是在同一个循环内,所以当step_i值大于max_value时,细 胞边界腐蚀结束。
腐蚀结束后得到对应的细胞图像Mask3,如附图2-g所示。
在本实施例中通过检验其最优的腐蚀参数为time=3,初始阈值 step_i=67,max_value=136,min_value=0,step=68,其腐蚀次数为2次。
(9)去除细胞边界:这是分开细胞的最后一步,其去除细胞边界的原则是:遍历细胞腐蚀 后的图像Mask3,将每个灰度值为2的点统计其八邻域内灰度值为1和灰度值为0的点的个 数,如果灰度值为0的点的个数与灰度值为1的点的个数相等,则将该边界点设为细胞内部 点,若灰度值为1的点的个数与灰度值为0的点的个数不相等,那么此边界点就是背景点; 去除细胞边界后,如果当前细胞是一个粘连细胞,那么其将会被分割成为两个独立的细胞, 其分割后的细胞图像只有两种灰度值0和1,灰度值为0代表细胞图像的背景,灰度值为1代 表细胞图像中的细胞,去除细胞边界后粘连细胞就会被明显的分割开来,最后得到的结果图 像为图像Mask4,如图2-h所示。
此方法分离效果明显,提高了细胞边界的定位精度和分离粘连细胞的准确度。
Claims (5)
1.一种自动寻找最优参数分割粘连细胞的方法,其特征在于,包括如下步骤:
(1)采集细胞图像
利用自动图像采集设备采集人体细胞图像到计算机上,图像标准是8位bmp格式,将其称之为原始图像sourceImage;
(2)细胞图像预处理
第一步,对原始图像sourceImage进行高斯滤波操作,以消除图像的高斯噪声。
第二步,二值化,用阈值的方法对当前图像sourceImage进行二值化处理,使背景变为黑色,细胞和杂质成为白色,得到图像dest;
第三步,对图像dest进行开运算;
第四步,对图像dest进行通道变换,将单通道的dest变换成为三通道,变换后的图像放到图像imgs中,之后对imgs图像进行分水岭运算,分水岭后得到的细胞图像为图像waterimage;
第五步,通过emgucv机器视觉库中的FindContours函数,在分水岭运算后的图像waterimage中依次寻找每个细胞轮廓,并将单个细胞轮廓上每一个点的轮廓信息加入指定的点向量阵列contours中保存下来,得到单个细胞轮廓信息;所述的单个细胞轮廓信息包括坐标和灰度值;
(3)计算每个细胞参数
首先通过上一步得到的单个细胞轮廓信息,在细胞原始图像sourceImage上面截取到当前需要处理的单个完整的细胞,将粘连细胞视为单个细胞;之后计算当前截取到的细胞的平均半径;
(4)提取单个细胞标记图像
首先通过预处理得到的单个细胞轮廓信息,在细胞原始图像sourceImage上面截取到当前需要处理的单个完整的细胞图像,将粘连细胞也视为单个细胞,然后对单个细胞图像的灰度值进行改变,将图像背景设为黑色,图像背景的灰度值为0,将细胞边界的灰度值设为2,细胞内部的灰度值设为1,得到单个细胞标记图像MaskImage;
(5)计算细胞梯度图像
在细胞原始图像sourceImage上面按照细胞轮廓位置,截取单个细胞的原始图像;对单个细胞图像进行中值滤波操作去除图像噪声;将去除噪声后的细胞图像通过遍历细胞图像的方法,将每个像素点的灰度值分别与该点周围八邻域内的八个点的灰度值作差;最后将八个差值相加得到的和值替换为该点的灰度值,得到当前单个细胞图像的梯度图gradientImage;
(6)去除细胞边界的孤立点
遍历第(4)步得到的单个细胞标记图像MaskImage,如果某个边界点的八邻域内的点中只有一个点是灰度值为2的边界点,此点是孤立的边界点;之后再去判断其八邻域内的点,如果细胞内部点多,则将之设为内部点,否则就设为图像背景,去除孤立的边界点后得到图像Mask1;
(7)细胞边界膨胀
在图像Mask1的基础上对细胞的边界按照当前细胞的平均半径的大小对细胞边界进行膨胀,膨胀次数outsideIteration=平均半径*A,0.2≤A≤0.4,首先向细胞内部膨胀,然后向细胞外部膨胀,向外和向内的膨胀次数相同,交替进行;每次膨胀都是根据细胞标记图像MaskImage,将每一个细胞的边界点的八邻域内所有的非边界点改变为边界点,通过细胞边界膨胀得到膨胀后的图像Mask2;
(8)最优参数腐蚀细胞边界
通过对上一步的细胞边界膨胀后的图像Mask2,按照当前膨胀后的细胞边界点在梯度图gradientImage中寻找相对应点的灰度值,提取到边界点所对应的梯度图gradientImage中最大灰度值max_value和最小灰度值min_value,设定腐蚀需要的初始阈值step_i=min_value+step-1,如果time值大于1则step=(max_value-min_value+1)/(time-1),如果time小于等于1,则step=max_value-min_value+1;腐蚀次数=(max_value-step_i)/step+1,腐蚀从step_i=min_value+step-1开始,以后每次增加step_i,即step_i=step_i+step,如果step_i值大于max_value,则腐蚀结束;
腐蚀过程为:初始time值为1,开始对图像Mask2进行腐蚀,然后通过emgucv机器视觉库中的FindContours函数判断细胞轮廓个数,如果细胞轮廓个数为2个,则time值加1,再次对Mask2进行腐蚀,每次腐蚀函数调用结束都要进行判断,如果细胞轮廓由两个轮廓变为一个轮廓,则将time值改变回上一个参数,之后再次腐蚀,腐蚀结束后进行第(9)步细胞边界去除;细胞边界腐蚀分为两个方向,一个是从背景开始向细胞内部腐蚀,一个是从细胞内部向细胞外部腐蚀,这两个方向的腐蚀交替进行,腐蚀的次数相同,腐蚀时的判断量step_i相同;腐蚀结束后得到对应的细胞图像Mask3;
(9)去除细胞边界
遍历细胞腐蚀后的图像Mask3,将每个灰度值为2的点统计其八邻域内灰度值为1和灰度值为0的点的个数,如果灰度值为0的点的个数与灰度值为1的点的个数相等,则将该边界点设为细胞内部点,若灰度值为1的点的个数与灰度值为0的点的个数不相等,那么此边界点就是背景点;得到分割后的结果图像Mask4。
2.根据权利要求1所述的一种自动寻找最优参数分割粘连细胞的方法,其特征在于,所述步骤(3)中细胞平均半径的计算方法为:
调用emguCV库中的函数Moments()计算当前细胞图像的空间矩,并将计算结果保存在mom中;
质心坐标计算:
质心X坐标m为一阶垂直矩除以零阶矩:CentroidX=mom.M10/mom.M00;
质心Y坐标n为一阶水平矩除以零阶矩:CentroidY=mom.M01/mom.M00;
细胞边界共有w个点,某点坐标为(x,y),质心坐标为(m,n)则细胞在此点处的半径为细胞平均半径s=sum/w。
3.根据权利要求2所述的一种自动寻找最优参数分割粘连细胞的方法,其特征在于,所述步骤(7)中参数A的取值为0.3。
4.根据权利要求3所述的一种自动寻找最优参数分割粘连细胞的方法,其特征在于,所述步骤(7)细胞边界膨胀过程中,非边界点改变为边界点的方法是:向细胞外部膨胀时,如果一个边界点的八邻域内有某几个点的灰度值是0,则将其灰度值改变为2;向细胞内部膨胀时,如果一个边界点八邻域内的某几个点的灰度值为1,则将其灰度值改变为2。
5.根据权利要求4所述的一种自动寻找最优参数分割粘连细胞的方法,其特征在于,所述步骤(8)从细胞内部向外腐蚀方法为:循环开始时,step_i的初始值为step_i=min_value+step-1,如果step_i大于max_value,腐蚀结束;如果step_i小于等于max_value,则进入循环,将图像Mask2上细胞边界点中所有四邻域内只有灰度值为1的点而没有灰度值为0的点的边界点加入新列表enumerator中,判断列表enumerator中点在梯度图像gradientImage中对应点的梯度值是不是小于此时的阈值i,如果梯度值小于此时的阈值step_i,则将Mask2上对应的点的灰度值改为1,如果梯度值大于等于此时的阈值step_i则不做任何操作,当所有点都判断结束后,清空列表enumerator,本轮循环结束;
第二次循环,将step_i值加上step即step_i=step_i+step;判断step_i值是不是小于等于max_value,如果step_i大于max_value那么腐蚀结束;如果step_i小于等于max_value则将图像Mask2上细胞边界点中所有四邻域内只有灰度值为1的点而没有灰度值为0的边界点加入新列表enumerator中,判断列表enumerator中点在梯度图gradientImage中对应点的梯度值是不是小于此时的阈值step_i,如果梯度值小于此时的阈值step_i则将Mask2上对应的点的灰度值改为1,如果梯度值大于等于此时的阈值step_i则不做任何操作,当所有点都判断结束后,清空列表enumerator,本轮循环结束;
从背景向细胞内部腐蚀的方法为:循环开始时,step_i的初始值为step_i=min_value+step-1,如果step_i大于max_value,腐蚀结束;如果step_i小于等于max_value,则进入循环,将图像Mask2上细胞边界点中所有四邻域内只有灰度值为0的点而没有灰度值为1的点的边界点加入新列表enumerator2中,判断列表enumerator2中点在梯度图gradientImage中对应点的梯度值是不是小于此时的阈值step_i,如果梯度值小于此时的阈值step_i,则将Mask2上对应的点的灰度值改为0,如果梯度值大于等于此时的阈值step_i则不做任何操作,当所有点都判断结束后,清空列表enumerator2,本轮循环结束;
第二次循环,将step_i值加上step即step_i=step_i+step。判断step_i值是不是小于等于max_value,如果step_i大于max_value,腐蚀结束;如果step_i小于等于max_value,则将图像Mask2上细胞边界点中所有四邻域内只有灰度值为1的点而没有灰度值为0的点的边界点加入新列表enumerator2中,判断列表enumerator2中点在梯度图gradientImage中对应点的梯度值是不是小于此时的阈值step_i,如果梯度值小于此时的阈值step_i,则将图像Mask2上对应的点的灰度值改为0,如果梯度值大于等于此时的阈值step_i则不做任何操作,当所有点都判断结束后,清空列表enumerator,本轮循环结束。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710620075.3A CN107481225B (zh) | 2017-07-26 | 2017-07-26 | 一种自动寻找最优参数分割粘连细胞的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710620075.3A CN107481225B (zh) | 2017-07-26 | 2017-07-26 | 一种自动寻找最优参数分割粘连细胞的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107481225A true CN107481225A (zh) | 2017-12-15 |
CN107481225B CN107481225B (zh) | 2020-06-30 |
Family
ID=60597173
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710620075.3A Active CN107481225B (zh) | 2017-07-26 | 2017-07-26 | 一种自动寻找最优参数分割粘连细胞的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107481225B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108460780A (zh) * | 2018-02-28 | 2018-08-28 | 哈尔滨工程大学 | 一种基于背景骨架特征的粘连米粒图像分割方法 |
CN109472761A (zh) * | 2018-11-23 | 2019-03-15 | 军事科学院系统工程研究院卫勤保障技术研究所 | 一种基于荧光图像的细胞计数方法及系统 |
CN109685773A (zh) * | 2018-12-10 | 2019-04-26 | 西安理工大学 | 一种免疫细胞图像中突触位置点的确定方法 |
CN110517273A (zh) * | 2019-08-29 | 2019-11-29 | 麦克奥迪(厦门)医疗诊断系统有限公司 | 基于动态梯度阈值的细胞学图像分割方法 |
CN113393479A (zh) * | 2021-05-21 | 2021-09-14 | 杭州电子科技大学 | 一种分割细胞板图像中试管孔的方法 |
CN116862940A (zh) * | 2023-09-04 | 2023-10-10 | 深圳市瑞沃德生命科技有限公司 | 一种细胞边缘处理方法及其装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101777140A (zh) * | 2010-02-08 | 2010-07-14 | 宁波大学 | 一种显微图像的复杂粘连细胞个数统计方法 |
CN102013102A (zh) * | 2010-12-01 | 2011-04-13 | 华中科技大学 | 一种图像中的粘连细胞分割方法 |
CN102881017A (zh) * | 2012-09-21 | 2013-01-16 | 四川师范大学 | 一种细胞分离方法 |
CN103914843A (zh) * | 2014-04-04 | 2014-07-09 | 上海交通大学 | 基于分水岭算法和形态学标记的图像分割方法 |
CN104933701A (zh) * | 2015-05-18 | 2015-09-23 | 重庆大学 | 基于多尺度生长与双策略去粘连模型的乳腺细胞分割方法 |
CN105160668A (zh) * | 2015-08-26 | 2015-12-16 | 爱威科技股份有限公司 | 图像分割方法、系统与细胞图像分割方法、系统 |
-
2017
- 2017-07-26 CN CN201710620075.3A patent/CN107481225B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101777140A (zh) * | 2010-02-08 | 2010-07-14 | 宁波大学 | 一种显微图像的复杂粘连细胞个数统计方法 |
CN102013102A (zh) * | 2010-12-01 | 2011-04-13 | 华中科技大学 | 一种图像中的粘连细胞分割方法 |
CN102881017A (zh) * | 2012-09-21 | 2013-01-16 | 四川师范大学 | 一种细胞分离方法 |
CN103914843A (zh) * | 2014-04-04 | 2014-07-09 | 上海交通大学 | 基于分水岭算法和形态学标记的图像分割方法 |
CN104933701A (zh) * | 2015-05-18 | 2015-09-23 | 重庆大学 | 基于多尺度生长与双策略去粘连模型的乳腺细胞分割方法 |
CN105160668A (zh) * | 2015-08-26 | 2015-12-16 | 爱威科技股份有限公司 | 图像分割方法、系统与细胞图像分割方法、系统 |
Non-Patent Citations (2)
Title |
---|
王增坤: "基于EmguCv的粘连细胞分割方法研究", 《中国优秀硕士学位论文全文数据库(电子期刊)》 * |
高静: "基于形态学分水岭算法的细胞图像分割", 《CNKI中国知网》 * |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108460780A (zh) * | 2018-02-28 | 2018-08-28 | 哈尔滨工程大学 | 一种基于背景骨架特征的粘连米粒图像分割方法 |
CN109472761A (zh) * | 2018-11-23 | 2019-03-15 | 军事科学院系统工程研究院卫勤保障技术研究所 | 一种基于荧光图像的细胞计数方法及系统 |
CN109472761B (zh) * | 2018-11-23 | 2020-11-17 | 军事科学院系统工程研究院卫勤保障技术研究所 | 一种基于荧光图像的细胞计数方法及系统 |
CN109685773A (zh) * | 2018-12-10 | 2019-04-26 | 西安理工大学 | 一种免疫细胞图像中突触位置点的确定方法 |
CN109685773B (zh) * | 2018-12-10 | 2022-12-06 | 威海见生生物技术有限公司 | 一种免疫细胞图像中突触位置点的确定方法 |
CN110517273A (zh) * | 2019-08-29 | 2019-11-29 | 麦克奥迪(厦门)医疗诊断系统有限公司 | 基于动态梯度阈值的细胞学图像分割方法 |
CN110517273B (zh) * | 2019-08-29 | 2022-03-22 | 麦克奥迪(厦门)医疗诊断系统有限公司 | 基于动态梯度阈值的细胞学图像分割方法 |
CN113393479A (zh) * | 2021-05-21 | 2021-09-14 | 杭州电子科技大学 | 一种分割细胞板图像中试管孔的方法 |
CN113393479B (zh) * | 2021-05-21 | 2024-02-02 | 杭州电子科技大学 | 一种分割细胞板图像中试管孔的方法 |
CN116862940A (zh) * | 2023-09-04 | 2023-10-10 | 深圳市瑞沃德生命科技有限公司 | 一种细胞边缘处理方法及其装置 |
CN116862940B (zh) * | 2023-09-04 | 2024-02-06 | 深圳市瑞沃德生命科技有限公司 | 一种细胞边缘处理方法及其装置 |
Also Published As
Publication number | Publication date |
---|---|
CN107481225B (zh) | 2020-06-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107481225A (zh) | 一种自动寻找最优参数分割粘连细胞的方法 | |
CN109583425B (zh) | 一种基于深度学习的遥感图像船只集成识别方法 | |
Xuan et al. | An improved canny edge detection algorithm | |
KR101640998B1 (ko) | 화상 처리 장치 및 화상 처리 방법 | |
CN110414439B (zh) | 基于多峰值检测的抗遮挡行人跟踪方法 | |
CN111275696B (zh) | 一种医学图像处理的方法、图像处理的方法及装置 | |
CN106127735B (zh) | 一种设施蔬菜边缘清晰类叶面病斑分割方法及装置 | |
CN112750106B (zh) | 一种基于非完备标记的深度学习的核染色细胞计数方法、计算机设备、存储介质 | |
CN111062331B (zh) | 图像的马赛克检测方法、装置、电子设备及存储介质 | |
CN105513053B (zh) | 一种用于视频分析中背景建模方法 | |
CN111027446B (zh) | 一种高分辨率影像的海岸线自动提取方法 | |
CN109711268B (zh) | 一种人脸图像筛选方法及设备 | |
CN104766316B (zh) | 中医望诊中新型嘴唇分割算法 | |
CN111178193A (zh) | 一种车道线的检测方法、检测装置及计算机可读存储介质 | |
CN104966305A (zh) | 基于运动矢量划分的前景检测方法 | |
CN102693535B (zh) | 一种检测dr图像中束光器区域的方法 | |
CN106570885A (zh) | 基于亮度和纹理融合阈值的背景建模方法 | |
CN111126162A (zh) | 一种识别图像中炎症细胞的方法、装置及存储介质 | |
CN115908371A (zh) | 基于优化分割的植物叶片病虫害程度检测方法 | |
CN107545557A (zh) | 粪便图像中的虫卵检测方法和装置 | |
CN109766846B (zh) | 一种基于视频的自适应多车道车流检测方法及系统 | |
US10115028B2 (en) | Method and device for classifying an object in an image | |
CN105678773A (zh) | 一种低对比度图像分割方法 | |
CN103985113B (zh) | 舌像分割方法 | |
CN113111878A (zh) | 一种复杂背景下的红外弱小目标检测方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |