发明内容
本发明旨在至少解决现有技术中存在的技术问题之一。为此,本发明提出一种胶体金检测卡识别方法,能够提高胶体金检测卡结果判断的准确性。
本发明还提出一种胶体金检测卡识别系统。
本发明还提出一种电子设备。
本发明还提出一种计算机可读存储介质。
根据本发明的第一方面实施例的胶体金检测卡识别方法,包括:
获取胶体金检测卡的检测图像;
对所述检测图像进行阈值处理,以得到检测卡骨架图像;
提取所述检测卡骨架图像的灰度值小于预设灰度阈值的区域,以得到检测区;
对所述检测区进行特征提取,以得到检测区特征曲线;
根据所述检测区特征曲线得到背景信号值、质控值和检测值;
根据所述背景信号值、所述质控值、所述检测值和预设检测指标阈值输出检测结果。
根据本发明实施例的胶体金检测卡识别方法,至少具有如下有益效果:不需要专业人士参与检测结果的判断,用户只需要通过手机或者数字相机对检测卡进行拍照就能得到较为准确的检测结果,减少了检测结果判断的主观因素和不确定性,同时,本发明的胶体金检测卡识别方法对检测图像处理是采取较为稳定的算法,克服了图像较大的变化范围和不确定性。
根据本发明的一些实施例,所述对所述检测图像进行阈值处理,以得到检测卡骨架图像,包括:
获取所述检测图像的灰度图;
获取所述灰度图的最大峰值,并根据所述最大峰值左右的半峰位置得到第一阈值和第二阈值;
获取所述第一阈值和所述第二阈值之间的所有像素以得到骨架像素;
获取所述检测图像中与对应所述骨架像素的图像区域以得到检测卡骨架。
根据本发明的一些实施例,所述提取所述检测卡骨架图像的灰度值小于预设灰度阈值的区域,以得到检测区,包括:
对所述检测卡骨架进行填洞,并获取所述检测卡骨架横向及纵向的最小坐标与最大坐标,以得到最小覆盖框;
根据所述最小覆盖框和预设位置确定第一候选区域;
获取所述第一候选区域的第一候选图像,并获取所述第一候选图像的灰度图;
提取所述第一候选图像的灰度值小于预设灰度阈值比较,以得到第二候选区域;
将所述第二候选区域连通以得到检测区。
根据本发明的一些实施例,所述根据所述检测区特征曲线得到背景信号值、质控值和检测值,包括:
获取所述检测区特征曲线的中值,以得到背景信号值;
获取所述检测区特征曲线的二阶导数曲线,并计算所述二阶导数曲线的平均值和标准差;
获取所述二阶导数曲线中二阶导数曲线值大于平均值与二倍所述标准差之和的多个波谷位置;
根据所述检测区特征曲线的多个所述波谷位置确定所述质控值和/或所述检测值。
根据本发明的一些实施例,所述根据所述检测区特征曲线的多个所述波谷位置确定所述质控值和/或所述检测值,包括:
根据所述二阶导数曲线的左半部预设第一距离的所述波谷位置确定质控位置;
根据所述检测区特征曲线和所述质控位置确定所述质控值;
根据所述二阶导数曲线的右半部预设第一距离的所述波谷位置确定检测位置;
根据所述检测区特征曲线和所述检测位置确定所述检测值。
根据本发明的一些实施例,所述根据所述背景信号值、所述质控值、所述检测值和预设检测指标阈值输出检测结果,包括:
根据所述背景信号值、所述质控值和所述检测值确定检测指标值;
根据所述背景信号值和所述标准差确定背景阈值;
将所述质控值和所述背景阈值、所述检测指标值和所述预设检测指标阈值比较以输出检测结果。
根据本发明的一些实施例,所述将所述质控值和所述背景阈值、所述检测指标值和预设检测指标阈值比较以输出检测结果,包括:
若所述质控值大于所述背景阈值,则输出所述检测结果为无效;
若所述质控值小于或等于所述背景阈值,且所述检测指标值大于或等于所述预设检测指标阈值,则输出所述检测结果为阳性;
若所述质控值小于或等于所述背景阈值,且所述检测指标值小于所述预设检测指标阈值,则输出所述检测结果为阴性。
根据本发明的第二方面实施例的胶体金检测卡识别系统,包括:
获取模块,所述获取模块用于获取胶体金检测卡的检测图像;
处理模块,所述处理模块用于对所述检测图像进行阈值处理,以得到检测卡骨架图像;
提取模块,所述提取模块用于对所述检测区进行特征提取,以得到检测区特征曲线;
所述提取模块还用于提取所述检测卡骨架图像的灰度值小于预设灰度阈值比较的区域,以得到检测区;
所述处理模块还用于根据所述检测区特征曲线得到背景信号值、质控值和检测值;
判断输出模块,所述判断输出模块用于根据所述背景信号值、所述质控值、所述检测值和预设检测指标阈值输出检测结果。
根据本发明实施例的胶体金检测卡识别系统,至少具有如下有益效果:不需要专业人士参与检测结果的判断,用户只需要通过手机或者数字相机对检测卡进行拍照就能得到较为准确的检测结果,减少了检测结果判断的主观因素和不确定性,同时,本发明的胶体金检测卡识别系统对检测图像处理是采取较为稳定的算法,克服了图像较大的变化范围和不确定性。
根据本发明第三方面实施例的电子设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如第一方面实施例中任意一项所述的胶体金检测卡识别方法。
根据本发明第四方面实施例的计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行如第一方面实施例中任意一项所述的胶体金检测卡识别方法。
本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
在本发明的描述中,需要理解的是,涉及到方位描述,例如上、下、前、后、左、右等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
在本发明的描述中,若干的含义是一个以上,多个的含义是两个以上,大于、小于、超过等理解为不包括本数,以上、以下、以内等理解为包括本数。如果有描述到第一、第二只是用于区分技术特征为目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量或者隐含指明所指示的技术特征的先后关系。
本发明的描述中,除非另有明确的限定,设置、安装、连接等词语应做广义理解,所属技术领域技术人员可以结合技术方案的具体内容合理确定上述词语在本发明中的具体含义。
本发明的描述中,参考术语“一个实施例”、“一些实施例”、“示意性实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
参照图1,第一方面,本发明的一些实施例提供了一种胶体金检测卡识别方法,包括但不限于步骤S110、步骤S120、步骤S130、步骤S140、步骤S150、步骤S160。
S110:获取胶体金检测卡的检测图像;
S120:对检测图像进行阈值处理,以得到检测卡骨架图像;
S130:提取检测卡骨架图像的灰度值小于预设灰度阈值的区域,以得到检测区;
S140:对检测区进行特征提取,以得到检测区特征曲线;
S150:根据检测区特征曲线得到背景信号值、质控值和检测值;
S160:根据背景信号值、质控值、检测值和预设检测指标阈值输出检测结果。
在步骤S110中,检测图像由手机或者数字相机拍摄得到,且在对胶体金检测卡拍摄以得到检测图像时,需要将手机或者数字相机与检测卡平行进行拍摄,以得到更加清晰的检测图像,并且,在拍摄时,应该对胶体金检测卡以从上到下的竖直方向进行拍摄,以便于后续对检测图像的处理。
需要说明的是,检测值为检测线所处的位置对应到检测区特征曲线的值;质控值为质控线所处的位置对应到检测区特征曲线的值。
本发明的胶体金检测卡识别方法,不需要专业人士参与检测结果的判断,用户只需要通过手机或者数字相机对检测卡进行拍照就能得到较为准确的检测结果,减少了用于对检测结果判断的主观因素和不确定性,同时,本发明的胶体金检测卡识别方法对检测图像处理是采取较为稳定的算法,克服了图像较大的变化范围和不确定性。
参照图2和图3,其中,图3中,横坐标表示灰度,纵坐标表示像素数。在本发明的一些实施例中,步骤S120包括但不限于步骤S121、步骤S122、步骤S123和步骤S124。
S121:获取检测图像的灰度图;
S122:获取灰度图的最大峰值,并根据最大峰值左右的半峰位置得到第一阈值和第二阈值;
S123:获取第一阈值和第二阈值之间的所有像素以得到骨架像素;
S124:获取检测图像中与对应骨架像素的图像区域以得到检测卡骨架。
在步骤S121中,对步骤S110中获得的检测图像进行灰度处理,一般情况下,手机或数字相机拍摄得到的检测图像为彩色的检测卡图像,其中,检测卡为从上到下的竖直方向。由于受关注的检测卡信号为红色,因此,取彩色图像中的红轴(R)进行灰度处理,以得到检测图像的灰度图。
需要说明的是,也可以采取彩色图像中的绿轴(G)或者蓝轴(B)或者R、G、B的任意加权线性组合(所有权重和为1)进行灰度处理,以得到检测图像的灰度图。
在对检测图像进行处理以得到检测结果之前,需要将检测线和质控线所在的位置提取出来,即得到检测区。检测区的提取其实是去除灰度图的背景,利用阀值法可以把背景切除。一般说来,由于要求检测卡的背景为白色,所以去除最大亮度后,背景也基本去除,去除最亮灰度的区域称为前景区。但为了更稳定地确定检测卡区,需要先寻找前景区中检测卡骨架。首先将从步骤S121中得到的灰度图找到最大峰值,并根据最大峰值确定左边和右边的半峰位置及对应的峰值(如图3中的A点),以得到第一阈值(左阈值,如图3中,B点)和第二阈值(右阈值,如图3中C点)。再获取第一阈值和第二阈值之间的所有像素以得到骨架像素,然后根据检测图像中与对应骨架像素的图像区域以得到检测卡骨架。
参照图5-A至图5-C,图5-A为手机或者其他数字相机拍摄得到的彩色的检测图像,对图5-A进行灰度处理(在此处选取红轴(R),但不限于此,可以选取其他轴或者三轴的权值组合),以得到检测图像的灰度图,如图5-B所示;再对得到的检测图像的灰度图进行阈值处理得到检测卡骨架,如图5-C所示。其中,阈值处理的方式在前文已详细叙述,在此不再赘述。
参照图4和图5(图5包括图5-A至图5-F的所有图),在本发明的一些实施例中,步骤S130包括但不限于步骤S131、步骤S132、步骤S134和步骤S135。
S131:对检测卡骨架进行填洞,并获取检测卡骨架横向及纵向的最小坐标与最大坐标,以得到最小覆盖框;
S132:根据最小覆盖框和预设位置确定第一候选区域;
S133:获取第一候选区域的第一候选图像,并获取第一候选图像的灰度图;
S134:提取第一候选图像的灰度值小于预设灰度阈值比较,以得到第二候选区域;
S135:将第二候选区域连通以得到检测区。
具体地,在本实施例中,对获取的检测卡骨架进行填洞(Fill Hole)的图像形态操作,并获取检测卡骨架横向及纵向的最小坐标和最大坐标,以确定最小覆盖框的四个角落点,再根据四个角落点确定最小覆盖框,可以理解的是,最小覆盖框即为胶体金检测卡所在的区域(即检测卡区)。
参照图5-C至图5-F,对检测卡骨架图像(图5-C所示)进行图像形态学的填洞操作,并获取检测卡骨架横向及纵向的最小坐标和最大坐标,以确定最小覆盖框的四个角落点,再根据四个角落点确定最小覆盖框得到检测卡区(如图5-D所示);检测卡区从上向下平分成三份,中间部分为确定检测线和质检线所在的区域,即得到第一候选区域,如图5-E所示。再获取第一候选区域的第一候选图像,并对第一候选图像进行灰度处理,以得到第一候选图像的灰度图。将第一候选区域图像的灰度值与预设灰度阈值比较,以得到第二候选区域,再对第二候选区域进行闭合的图像形态操作以得到第二候选区域标记,最后将得到的第二候选区域标记连通以得到检测区,如图5-F所示。
需要说明的是,由于T/C线及其它干扰的阴影线的总面积不超过整个候选区域的1/5,因此,在本实施例中取第一候选区域上灰度的20%百分位作为阀值,小于此阀值的区域为T/C线所在区域,第一候选区域上灰度使用阀值后的黑白图记作ROI(region ofinterest,感兴趣区域)。
参照图6,其中,图6中横坐标表示图像纵坐标(行数),纵坐标表示移动框内亮度和。需要说明的是,步骤S140:对检测区进行特征提取,以得到检测区特征曲线。具体为:
获取检测区的检测区图像,并记检测区图像为J,其宽度为Jw,高度为Jh。使用宽为Jw,高为S(比如S取5)的移动窗口,从上向下沿J一个一个像素移动,每次计算移动窗口覆盖的像素灰度总和,当移动窗口刚好契合C线或T线时(S=5为线的厚度),对应的灰度和即为C线或T线的度量,亦即检测信号量。为方便起见,图6中,把J逆时针旋转90度平放,图像从上到下变为从左到右,曲线为图像上对应位置的灰度和,即得到检测区特征曲线。
参照图7和图8,其中,图8为检测区特征曲线的二阶导数曲线,图8中横坐标表示图像行数,纵坐标表示亮度;图8中,E为二阶导数曲线的平均值,S为标准差,2S为二倍标准差,P1为质控线(C线)在二阶导数曲线对应的位置,P2为检测线(T线)在二阶导数曲线对应的位置。
需要说明的是,在计算检测区特征曲线的二阶导数曲线时,需要计算检测区特征曲线的一阶导数。在本申请中,曲线的每一个横坐标点对应的一阶导数值为:该点的值与该点右边相邻点的差值,计算曲线上每个点与相邻点的差值,以得到一阶导数。对一阶导数曲线再进行一次取相邻差以得到二阶导数曲线。
需要强调的是,导数值也可以通过该点值与左边相邻点的值之差来实现,或者更一般地以该点为左端或右端的一个小区间内点的加权平均。比如在选为左端时,权重为(1,a,b,…,c),其中a,b,…,c均为负数且满足a+b+…+c=-1。1表示该点对应的权重,a,b,…c则为从该点右侧相邻1个点,2个点,…,n个点,对应的权重。比如,该点的值与该点右边相邻点的值之差其实对应权重(1,-1)。在曲线前端或后端没有相邻点时稍做边界处理,可以省略这些端点或者利用镜像对称弥补缺失的相邻点。
在本发明的一些实施例中,步骤S150包括但不限于步骤S151、步骤S152、步骤S153和步骤S154。
步骤S151:获取检测区特征曲线的中值,以得到背景信号值;
步骤S152:获取检测区特征曲线的二阶导数曲线,并计算二阶导数曲线的平均值和标准差;
步骤S153:获取二阶导数曲线中二阶导数曲线值大于平均值与二倍标准差之和的多个波谷位置;
步骤S154:根据检测区特征曲线的多个波谷位置确定质控值和/或检测值。
在本实施例中,计算检测区特征曲线的二阶导数曲线,可以用相邻点的差值进行计算,也可以引入如(-1,0,1)之类的1D面纱进行计算。然后再计算二阶导数曲线的平均值和标准差,获取二阶导数曲线中二阶导数曲线值大于平均值与二倍标准差之和的多个波谷位置,再根据检测区特征曲线的多个波谷位置确定质控值和/或检测值。
也就是说,在本实施例中,通过计算检测区特征曲线的二阶导数曲线,以确定大于平均值与二倍标准差之和的所有点,这些点构成的连续区间为对应的波谷,在将波谷所在的位置对应到检测区特征曲线,以确定质控值或者检测值。
在一些实施例中,步骤S154包括但不限于步骤S1541、步骤S1542、步骤S1543和步骤S1544。
步骤S1541:根据二阶导数曲线的左半部预设第一距离的波谷位置确定质控位置;
步骤S1542:根据检测区特征曲线和质控位置确定质控值;
步骤S1543:根据二阶导数曲线的右半部预设第一距离的波谷位置确定检测位置;
步骤S1544:根据检测区特征曲线和检测位置确定检测值。
具体地,在本实施例中,检测区特征曲线的二阶导数曲线的左半部的波谷为C线(质控线),右半部的波谷为T线(检测线),如果两边分别有多个波谷,分别选取离1/3或2/3处(即预设第一距离选择离中值1/3或者2/3处)最近的为C/T线。
在本发明的一些实施例中,步骤S160包括但不限于步骤S161、步骤S162和步骤S163。
步骤S161:根据背景信号值、质控值和检测值确定检测指标值;
步骤S162:根据背景信号值和标准差确定背景阈值;
步骤S163:将质控值和背景阈值、检测指标值和预设检测指标阈值比较以检测结果。
其中,步骤S163包括但不限于步骤S1631、步骤S1632、步骤S1633。
步骤S1631:若质控值大于背景阈值,则输出检测结果为无效;
步骤S1632:若质控值小于或等于背景阈值,且检测指标值大于或等于预设检测指标阈值,则输出检测结果为阳性;
步骤S1633:若质控值小于或等于背景阈值,且检测指标值小于预设检测指标阈值,则输出检测结果为阴性。
具体地,在本实施例中,背景信号值为检测区特征曲线的中值,记为B。特征曲线检测线对应的值即为检测值,即为T,质控线对应的值即为质控值,记为C。检测指标定义为:表示超出背景的检测信号占超出背景的质控信号的百分比,可以大于100%。定义式为:
检测指标=(T-B)/(C-B)*100%
根据定义式可以得到检测指标值。
为确定质控线信号是否有效,需要计算背景信号阈值,定义式如下:
背景阀值=B+2*标准方差
将质控值和背景阈值进行比较,检测指标值和预设检测指标阈值比较以得到检测结果。
参照表1,表1为采用4个阴性及阳性的检测卡图像,根据上述方法提取得到的特征表。需要说明的是,预设检测指标阈值在本实施例中选取20%,预设检测指标阈值的设定有足够的安全范围边际,由表1可知,所有阴性检测卡的检测指标均小于10%,而所有阳性检测卡的检测指标均大于100%。
表1:检测卡图像特征表
参照图9,第二方面,本发明的一些实施例还提供了一种胶体金检测卡识别系统,包括获取模块910、处理模块920、提取模块930和判断输出模块940。其中,获取模块910用于获取胶体金检测卡的检测图像,检测图像由手机或数字相机拍摄得到;处理模块920用于对检测图像进行阈值处理,以得到检测卡骨架图像;提取模块930用于对检测区进行特征提取,以得到检测区特征曲线;提取模块930还用于提取检测卡骨架图像的灰度值小于预设灰度阈值比较的区域,以得到检测区;处理模块920还用于根据检测区特征曲线得到背景信号值、质控值和检测值;判断输出模块940用于根据背景信号值、质控值、检测值和预设检测指标阈值输出检测结果。
本发明实施例的胶体金检测卡识别系统,不需要专业人士参与检测结果的判断,用户只需要通过手机或者数字相机对检测卡进行拍照就能得到较为准确的检测结果,减少了用于对检测结果判断的主观因素和不确定性,同时,本发明的胶体金检测卡识别系统对检测图像处理是采取较为稳定的算法,克服了图像较大的变化范围和不确定性。
第三方面,本申请实施例还提供了一种电子设备。
在一些实施例中,电子设备包括:至少一个处理器,以及与至少一个处理器通信连接的存储器;其中,存储器存储有指令,指令被至少一个处理器执行,以使至少一个处理器执行指令时实现本申请实施例中任一项胶体金检测卡识别方法。
处理器和存储器可以通过总线或者其他方式连接。
存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序以及非暂态性计算机可执行程序,如本申请实施例描述的胶体金检测卡识别方法。处理器通过运行存储在存储器中的非暂态软件程序以及指令,从而实现上述的胶体金检测卡识别方法。
存储器可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储执行上述胶体金检测卡识别方法。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,比如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施方式中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至该处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
实现上述的胶体金检测卡识别方法所需的非暂态软件程序以及指令存储在存储器中,当被一个或者多个处理器执行时,执行上述第一方面实施例中提到的胶体金检测卡识别方法。
第四方面,本申请实施例还提供了计算机可读存储介质。
在一些实施例中,计算机可读存储介质存储有计算机可执行指令,计算机可执行指令用于执行第一方面实施例中提到的胶体金检测卡识别方法。
在一些实施例中,该存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个控制处理器执行,比如,被上述电子设备中的一个处理器执行,可使得上述一个或多个处理器执行上述胶体金检测卡识别方法。
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统可以被实施为软件、固件、硬件及其适当的组合。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
上面结合附图对本发明实施例作了详细说明,但是本发明不限于上述实施例,在所属技术领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下作出各种变化。此外,在不冲突的情况下,本发明的实施例及实施例中的特征可以相互组合。