CN115719358A - 一种x射线安检图像中直线段提取方法 - Google Patents
一种x射线安检图像中直线段提取方法 Download PDFInfo
- Publication number
- CN115719358A CN115719358A CN202211476286.1A CN202211476286A CN115719358A CN 115719358 A CN115719358 A CN 115719358A CN 202211476286 A CN202211476286 A CN 202211476286A CN 115719358 A CN115719358 A CN 115719358A
- Authority
- CN
- China
- Prior art keywords
- edge
- point
- image
- current
- points
- 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.)
- Pending
Links
Images
Landscapes
- Image Analysis (AREA)
Abstract
本发明公开了一种X射线安检图像中直线段提取方法,首先利用基于图像局部熵的各向异性滤波方法对X射线安检图像进行滤波,在去除噪声的同时也可以很好保持图像中的弱边缘;然后提出图像边缘单像素细化的方法和曲线提取的方法,相对现有常规方法,可以提取更大长度的曲线,减小曲线断裂的概率;然后利用Douglas‑Peucker算法提取直线段,在提取直线段的同时可以保留直线段间的交点;最后根据X射线安检图像的先验知识,去除无机物物体、行包边缘等显著干扰直线段。本发明可以解决安检设备行包图像中薄片型物体边缘不清晰、提取边缘直线段不连续的问题,高效准确地实现薄片型物体边缘直线段的检测,对后续X射线安检图像中薄片***物的分割与识别有重要意义。
Description
技术领域
本发明涉及图像处理技术领域,具体涉及一种X射线安检图像中直线段提取方法。
背景技术
随着我国经济的高速增长,公共交通飞速发展,人们出行变得更加快捷便利的同时,公共交通安全问题也逐渐突显出来。因此,安检设备对行李中禁携物品的准确检测能力对保障国家安全、社会安定和人民生命财产安全变得越来越重要。
AT安检设备以其较高的检测能力和较经济的设备成本优势在机场、火车站等人员密集的公共场所得到广泛应用。长期以来,薄片型物体(如薄片型***物)探测一直是AT安检设备的功能瓶颈与技术难点,因薄片型物体厚度薄,X射线投影特征偏弱,再加上一旦行李箱中物品杂乱,出现明显重叠和遮挡情况,将进一步降低AT安检设备薄片型物体的检出能力。薄片型物体最有价值的投影特征是其边缘直线段,这是后续分割与进一步识别薄片型物体的基础,然而,X射线行包图像中薄片型物体投影往往存在灰度对比度低、边缘不清晰、易被其它物体遮挡等不利因素,利用常规的直线检测算法提取相关特征困难。
发明内容
针对现有技术的不足,本发明旨在提供一种X射线安检图像中直线段提取方法。
为了实现上述目的,本发明采用如下技术方案:
一种X射线安检图像中直线段提取方法,包括以下步骤:
步骤S1、获取原始X射线安检图像I(x,y);
步骤S2、对图像I(x,y)进行基于图像局部熵的各向异性滤波,得到滤波后的图像I1(x,y);
步骤S3、对图像I1(x,y)进行Canny边缘检测,得到边缘图像I2(x,y);
步骤S4、对图像I2(x,y)进行边缘细化处理,得到单像素边缘图像I3(x,y);具体过程为:
S4.1、求取图像I2(x,y)中每个边缘点的邻域分布情况;以×表示当前待处理边缘像素点,以P0-P7表示当前像素点的八邻域点,以P8-P23表示八邻域外点;
S4.2、当点×的八邻域点内无边缘点,消除当前边缘像素点×;
当点×的八邻域点内有1个边缘点P时,对边缘点P的八邻域点进行判断。若边缘点P的八邻域点除×点外仅有1个边缘点,则保留当前边缘像素点×;若边缘点P的八邻域点除×点外有2个边缘点,如果这2个边缘点相邻,且其中1点与边缘点P所成方向和×点与边缘点P所成方向相同,则保留当前边缘像素点×,其他情况下消除当前边缘像素点×;
当点×的八邻域点内有2个边缘点时,若这2个边缘点不连通,则消除当前边缘像素点×;若这2个边缘点连通时:
1)当这2个边缘点是对角关系时,若这2个边缘点中的任意一个边缘点在其八邻域点中除×点外,还有其他边缘点,则消除当前边缘像素点×;
2)当这2个边缘点是四连通关系时,若这2个边缘点在其八邻域点中均有边缘点,且为该2个边缘点的公有邻域边缘点时,消除当前边缘像素点×,其余情况则保留当前边缘像素点×。
当点×的八邻域点中有3个边缘点时,若这3个边缘点连通,且至少存在一个四连通时,消除当前边缘像素点×,否则保留当前边缘像素点×;
当点×的八邻域点中有4个以上边缘点时,若这些边缘点间存在连通关系,则消除当前边缘像素点×,否则保留当前边缘像素点×;
最后得到单像素边缘图像I3(x,y);
步骤S5、按照边缘跟踪方法从图像I3(x,y)中提取曲线,得到曲线集C;具体过程为:
S5.1、建立一个与图像I3(x,y)相同大小的标记矩阵用于表示像素被使用状态,标记矩阵初始化像素为0;
S5.2、遍历图像I3(x,y),若有边缘点的八邻域点内只有1个边缘点,则此边缘点为曲线起始点,以起始点为当前点开始跟踪;
S5.3、在标记矩阵中设置当前点值为1,遍历当前点的八邻域点,八邻域点中未标记的边缘点数量为N;
S5.4、若N=0,当前曲线跟踪结束,返回步骤S5.2,继续遍历图像I3(x,y),寻找新的曲线起始点;
若N=1,则下一边缘点为该未标记的边缘点,在当前曲线的曲线链码表中记录当前点到下一边缘点的链码值,并把下一边缘点设为当前点,返回步骤S5.3;链码值为八邻域的方向值,取值为0-7,逆时针方向递增;
若N≥2,首先确定曲线主方向,如果当前曲线像素点个数小于10,曲线主方向定义为当前曲线链码表中链码值的众数,否则曲线主方向定义为当前曲线链码表中后八个链码值的众数;如果当前点在曲线主方向处存在边缘点,则以这个边缘点为下一边缘点,在当前曲线的曲线链码表记录当前点到下一边缘点的链码值,并把下一边缘点设为当前点,返回步骤S5.3;如果当前点在曲线主方向处不存在边缘点,判断曲线主方向的链码值减一的位置是否存在边缘点,若存在边缘点,则下一边缘点为此点,在当前曲线的曲线链码表记录当前点到下一边缘点的链码值,并把下一边缘点设为当前点,返回步骤S5.3;如果曲线主方向的链码值减一的位置不存在边缘点,判断主方向的链码值加一的位置是否存在边缘点,若存在边缘点,则下一边缘点为这个边缘点,在当前曲线的曲线链码表记录当前点到下一边缘点的链码值,并把下一边缘点设为当前点,返回步骤S5.3,否则结束当前曲线跟踪,返回步骤S5.2;
最终得到曲线集C;
步骤S6、对曲线集C中每一条曲线按照Douglas-Peucker算法压缩,可得到所有直线段的端点;
步骤S7、定义直线段端点间的距离为直线长度,若直线长度满足所设长度阈值要求,则保留该直线,否则舍去;
步骤S8、根据直线端点可计算得到该直线段上的所有像素点,计算每条直线段的方程和角度,提取直线段;
步骤S9、根据X射线安检图像的先验知识,去除图像中的显著干扰直线段;
步骤S10、输出剩余直线段,流程结束。
进一步地,步骤S2的具体过程为:
S2.3、采用八个方向离散化,迭代公式为:
由此得到经过基于图像局部熵的各向异性滤波处理后的图像I1(x,y)。
进一步地,步骤S9的具体过程为:
S9.1、建立一个与原始X射线安检图像相同大小的全0矩阵作为背景边缘图;
S9.2、利用Prewitt算子计算图像I1(x,y)中每个像素点的梯度,在背景边缘图中用255标记梯度大于150的像素点;
S9.3、对图像I1(x,y)中每个像素点,遍历其上下左右四邻域,若四邻域中有且只有一个像素点值大于235,则在背景边缘图中用255标记该像素点;
S9.4、利用形态学膨胀处理背景边缘图;
S9.5、对于步骤S8中提取的所有直线段,遍历每条直线段上的各个像素点,若该条直线段上有一半以上的像素点都处于背景边缘图中的标记位置,则去除该条直线段。
本发明的有益效果在于:本发明首先利用基于图像局部熵的各向异性滤波方法对X射线安检图像进行滤波,在去除噪声的同时也可以很好保持图像中的弱边缘;然后提出图像边缘单像素细化的方法和曲线提取的方法,相对现有常规方法,可以提取更大长度的曲线,减小曲线断裂的概率;然后利用Douglas-Peucker算法提取直线段,在提取直线段的同时可以保留直线段间的交点;最后根据X射线安检图像的先验知识,去除无机物物体、行包边缘等显著干扰直线段。本发明可以解决安检设备行包图像中薄片型物体边缘不清晰、提取边缘直线段不连续的问题,高效准确地实现薄片型物体边缘直线段的检测,对后续X射线安检图像中薄片***物的分割与识别有重要意义。
附图说明
图1为本发明实施例1中的方法流程示意图;
图2为本发明实施例1中邻域模板示意图;
图3为本发明实施例2中获取的原始X射线安检图像;
图4为本发明实施例2中各向异性滤波处理后的图像;
图5为本发明实施例2中步骤S4处理后的单像素边缘图像;
图6为本发明实施例2中步骤S8提取直线段后的结果示意图;
图7为本发明实施例2中步骤S10输出的剩余直线段示意图。
具体实施方式
以下将结合附图对本发明作进一步的描述,需要说明的是,本实施例以本技术方案为前提,给出了详细的实施方式和具体的操作过程,但本发明的保护范围并不限于本实施例。
实施例1
本实施例提供一种X射线安检图像中直线段提取方法,总体包括各向异性滤波、图像Canny边缘提取、图像边缘单像素处理、曲线提取、基于Douglas-Peucker算法的直线段提取、直线段长度判断和基于先验知识去除显著干扰直线段的步骤。
具体地,如图1所示,所述X射线安检图像中直线段提取方法包括以下步骤:
步骤S1、获取原始X射线安检图像I(x,y);
步骤S2、对图像I(x,y)进行基于图像局部熵的各向异性滤波,得到滤波后的图像I1(x,y);具体过程为:
S2.3、采用八个方向离散化,迭代公式为:
由此得到经过基于图像局部熵的各向异性滤波处理后的图像I1(x,y)。
步骤S3、对图像I1(x,y)进行Canny边缘检测,得到边缘图像I2(x,y);
步骤S4、对图像I2(x,y)进行边缘细化处理,得到单像素边缘图像I3(x,y);具体过程为:
S4.1、求取图像I2(x,y)中每个边缘点的邻域分布情况;邻域模板如图2所示,以×表示当前待处理边缘像素点,以P0-P7表示当前像素点的八邻域点,以P8-P23表示八邻域外点。
S4.2、当点×的八邻域点内无边缘点,消除当前边缘像素点×;
当点×的八邻域点内有1个边缘点P时,对边缘点P的八邻域点进行判断。若边缘点P的八邻域点除×点外仅有1个边缘点,则保留当前边缘像素点×;若边缘点P的八邻域点除×点外有2个边缘点,如果这2个边缘点相邻,且其中1点与边缘点P所成方向和×点与边缘点P所成方向相同,则保留当前边缘像素点×,其他情况下消除当前边缘像素点×;
当点×的八邻域点内有2个边缘点时,若这2个边缘点不连通,则消除当前边缘像素点×;若这2个边缘点连通时:
1)当这2个边缘点是对角关系时,例如图2的P4和P6,若这2个边缘点中的任意一个边缘点在其八邻域点中除×点外,还有其他边缘点,则消除当前边缘像素点×;
2)当这2个边缘点是四连通关系时,例如图2的P5和P6,若这2个边缘点在其八邻域点中均有边缘点,且为该2个边缘点的公有邻域边缘点时,如图2中的P19或P20或P19和P20,消除当前边缘像素点×,其余情况则保留当前边缘像素点×。
当点×的八邻域点中有3个边缘点时,若这3个边缘点连通,且至少存在一个四连通时,消除当前边缘像素点×,否则保留当前边缘像素点×;
当点×的八邻域点中有4个以上边缘点时,若这些边缘点间存在连通关系,则消除当前边缘像素点×,否则保留当前边缘像素点×;
最后得到单像素边缘图像I3(x,y);
步骤S5、按照边缘跟踪方法从图像I3(x,y)中提取曲线,得到曲线集C;具体过程为:
S5.1、建立一个与图像I3(x,y)相同大小的标记矩阵用于表示像素被使用状态,标记矩阵初始化像素为0;
S5.2、遍历图像I3(x,y),若有边缘点的八邻域点内只有1个边缘点,则此边缘点为曲线起始点,以起始点为当前点开始跟踪,并为当前曲线建立曲线链码表,用向量表示;
S5.3、在标记矩阵中设置当前点值为1,遍历当前点的八邻域点,八邻域点中未标记的边缘点数量为N;
S5.4、若N=0,当前曲线跟踪结束,返回步骤S5.2,继续遍历图像I3(x,y),寻找新的曲线起始点;
若N=1,则下一边缘点为该未标记的边缘点,在当前曲线的曲线链码表中记录当前点到下一边缘点的链码值,并把下一边缘点设为当前点,返回步骤S5.3;链码值为八邻域的方向值,取值为0-7,逆时针方向递增;
若N≥2,首先确定曲线主方向,如果当前曲线像素点个数小于10,曲线主方向定义为当前曲线链码表中链码值的众数,否则曲线主方向定义为当前曲线链码表中后八个链码值的众数;如果当前点在曲线主方向处存在边缘点,则以这个边缘点为下一边缘点,在当前曲线的曲线链码表记录当前点到下一边缘点的链码值,并把下一边缘点设为当前点,返回步骤S5.3;如果当前点在曲线主方向处不存在边缘点,判断曲线主方向的链码值减一的位置是否存在边缘点,若存在边缘点,则下一边缘点为此点,在当前曲线的曲线链码表记录当前点到下一边缘点的链码值,并把下一边缘点设为当前点,返回步骤S5.3;如果曲线主方向的链码值减一的位置不存在边缘点,判断主方向的链码值加一的位置是否存在边缘点,若存在边缘点,则下一边缘点为这个边缘点,在当前曲线的曲线链码表记录当前点到下一边缘点的链码值,并把下一边缘点设为当前点,返回步骤S5.3,否则结束当前曲线跟踪,返回步骤S5.2;
最终得到曲线集C;
步骤S6、对曲线集C中每一条曲线按照Douglas-Peucker算法压缩,可得到所有直线段的端点。Douglas-Peucker算法为本领域内公知技术,实现过程在此不以详述。
步骤S7、定义直线段端点间的距离为直线长度,若直线长度满足所设长度阈值要求,则保留该直线,否则舍去;
步骤S8、根据直线端点计算得到该直线段上的所有像素点,计算每条直线段的方程和角度,提取直线段;
步骤S9、根据X射线安检图像的先验知识,去除图像中无机物、托盘边缘、行包边缘等显著干扰直线段;具体过程为:
S9.1、建立一个与原始X射线安检图像相同大小的全0矩阵作为背景边缘图;
S9.2、利用Prewitt算子计算图像I1(x,y)中每个像素点的梯度,在背景边缘图中用255标记梯度大于150的像素点;
S9.3、对图像I1(x,y)中每个像素点,遍历其上下左右四邻域,若四邻域中有且只有一个像素点值大于235,则在背景边缘图中用255标记该像素点;
S9.4、利用形态学膨胀处理背景边缘图;
S9.5、对于步骤S8中提取的所有直线段,遍历每条直线段上的各个像素点,若该条直线段上有一半以上的像素点都处于背景边缘图中的标记位置,则去除该条直线段。
步骤S10、输出剩余直线段,流程结束。
实施例2
本实施例提供一种实施例1所述方法的应用实例。
步骤S1、通过AT安检设备采集,获得X射线安检图像I(x,y),为含有薄片型***物的某典型例图像,如图3所示;
步骤S2、对步骤S1获得的I(x,y)进行基于图像局部熵的各向异性滤波:
S2.1、利用图像局部熵公式计算图像I(x,y)每个像素点的局部熵,其中Ωk为以当前像素点为中心的k×k邻域,本实施例中邻域大小的为7×7,L为图像灰度级,为灰度级l在邻域Ωk中出现的概率,nl为灰度级为l的像素个数;
S2.3、采用八个方向离散化,迭代公式为:
由此,得到经过基于图像局部熵的各向异性滤波处理后的图像I1(x,y),如图4所示。
步骤S3、对图像I1(x,y)进行Canny边缘检测,得到边缘图像I2(x,y);
步骤S4、对图像I2(x,y)进行边缘细化处理,得到单像素边缘图像I3(x,y):
S4.1、求取图像I2(x,y)中每个边缘点的邻域分布情况,邻域模板如图2所示;
S4.2、当点×的八邻域点内无边缘点,消除当前边缘像素点×;
当点×的八邻域点内有1个边缘点P时,对边缘点P的八邻域点进行判断。若边缘点P的八邻域点除×点外仅有1个边缘点,则保留当前边缘像素点×;若边缘点P的八邻域点除×点外有2个边缘点,如果这2个边缘点相邻,且其中1点与边缘点P所成方向和×点与边缘点P所成方向相同,则保留当前边缘像素点×,其他情况下消除当前边缘像素点×;
当点×的八邻域点内有2个边缘点时,若这2个边缘点不连通,则消除当前边缘像素点×;若这2个边缘点连通时:
1)当这2个边缘点是对角关系时,例如图2的P4和P6,若这2个边缘点中的任意一个边缘点在其八邻域点中除×点外,还有其他边缘点,则消除当前边缘像素点×;
2)当这2个边缘点是四连通关系时,例如图2的P5和P6,若这2个边缘点在其八邻域点中均有边缘点,且为该2个边缘点的公有邻域边缘点时,如图2中的P19或P20或P19和P20,消除当前边缘像素点×,其余情况则保留当前边缘像素点×。
当点×的八邻域点中有3个边缘点时,若这3个边缘点连通,且至少存在一个四连通时,消除当前边缘像素点×,否则保留当前边缘像素点×;
当点×的八邻域点中有4个以上边缘点时,若这些边缘点间存在连通关系,则消除当前边缘像素点×,否则保留当前边缘像素点×;
边缘图I2(x,y)经过步骤S4的处理即可得到单像素边缘图像I3(x,y),如图5所示。
步骤S5,按照某种边缘跟踪方法从图像I3(x,y)中提取曲线,得到曲线集C,具体步骤为:
S5.1、建立一个与图像I3(x,y)相同大小的标记矩阵用于表示像素被使用状态,标记矩阵初始化像素为0;
S5.2、遍历图像I3(x,y),若有边缘点八邻域内只有1个边缘点,则此边缘点为曲线起始点,以起始点为当前点开始跟踪;
S5.3、在标记矩阵中设置当前点值为1,遍历当前点八邻域,八邻域内未标记的边缘点数量为N;
S5.4、若N=0,当前曲线跟踪结束,返回步骤S5.2,继续遍历图像I3(x,y),寻找新的曲线起始点;
若N=1,则下一边缘点为该未标记的边缘点,在当前曲线的曲线链码表中记录当前点到下一边缘点的链码值,并把下一边缘点设为当前点,返回步骤S5.3;链码值为八邻域的方向值,取值为0-7,逆时针方向递增;
若N≥2,首先确定曲线主方向,如果当前曲线像素点个数小于10,曲线主方向定义为当前曲线链码表中链码值的众数,否则曲线主方向定义为当前曲线链码表中后八个链码值的众数;如果当前点在曲线主方向处存在边缘点,则以这个边缘点为下一边缘点,在当前曲线的曲线链码表记录当前点到下一边缘点的链码值,并把下一边缘点设为当前点,返回步骤S5.3;如果当前点在曲线主方向处不存在边缘点,判断曲线主方向的链码值减一的位置是否存在边缘点,若存在边缘点,则下一边缘点为此点,在当前曲线的曲线链码表记录当前点到下一边缘点的链码值,并把下一边缘点设为当前点,返回步骤S5.3;如果曲线主方向的链码值减一的位置不存在边缘点,判断主方向的链码值加一的位置是否存在边缘点,若存在边缘点,则下一边缘点为这个边缘点,在当前曲线的曲线链码表记录当前点到下一边缘点的链码值,并把下一边缘点设为当前点,返回步骤S5.3,否则结束当前曲线跟踪,返回步骤S5.2;
最终得到曲线集C;
步骤S6、对曲线集C中每一条曲线按照Douglas-Peucker算法压缩,得到所有直线的端点;
步骤S7、根据直线端点可计算得到直线长度,若直线长度满足所设长度阈值要求,则保留该直线,否则舍去。本发明中直线长度阈值一种可选方案为15;
步骤S8、根据直线端点得到该直线段上的所有像素点,计算每条直线段的方程的角度,提取直线段,如图6所示;
步骤S9、根据X射线安检图像的先验知识,去除图像中无机物、托盘边缘、行包边缘等显著干扰直线段,其具体实现方法为:
S9.1、建立一个与原图像相同大小的全0矩阵作为背景边缘图;
S9.2、利用Prewitt算子计算图像I1(x,y)中每个像素点的梯度,在背景边缘图中用255标记梯度大于150的像素点;
S9.3、对图像I1(x,y)中每个像素点,遍历其上下左右四邻域,若四邻域中有且只有一个像素点值大于235,在背景边缘图中用255标记该像素点;
S9.4、利用形态学膨胀处理背景边缘图;
S9.5、对于步骤S8中提取的所有直线段,遍历每条直线段上的各个像素点,若该条直线段上有一半及以上的像素点都处于背景边缘图中的标记位置,则去除该条直线段。
步骤S10,输出剩余直线段,如图7所示,算法结束。
对于本领域的技术人员来说,可以根据以上的技术方案和构思,给出各种相应的改变和变形,而所有的这些改变和变形,都应该包括在本发明权利要求的保护范围之内。
Claims (3)
1.一种X射线安检图像中直线段提取方法,其特征在于,包括以下步骤:
步骤S1、获取原始X射线安检图像I(x,y);
步骤S2、对图像I(x,y)进行基于图像局部熵的各向异性滤波,得到滤波后的图像I1(x,y);
步骤S3、对图像I1(x,y)进行Canny边缘检测,得到边缘图像I2(x,y);
步骤S4、对图像I2(x,y)进行边缘细化处理,得到单像素边缘图像I3(x,y);具体过程为:
S4.1、求取图像I2(x,y)中每个边缘点的邻域分布情况;以×表示当前待处理边缘像素点,以P0-P7表示当前像素点的八邻域点,以P8-P23表示八邻域外点;
S4.2、当点×的八邻域点内无边缘点,消除当前边缘像素点×;
当点×的八邻域点内有1个边缘点P时,对边缘点P的八邻域点进行判断;若边缘点P的八邻域点除×点外仅有1个边缘点,则保留当前边缘像素点×;若边缘点P的八邻域点除×点外有2个边缘点,如果这2个边缘点相邻,且其中1点与边缘点P所成方向和×点与边缘点P所成方向相同,则保留当前边缘像素点×,其他情况下消除当前边缘像素点×;
当点×的八邻域点内有2个边缘点时,若这2个边缘点不连通,则消除当前边缘像素点×;若这2个边缘点连通时:
1)当这2个边缘点是对角关系时,若这2个边缘点中的任意一个边缘点在其八邻域点中除×点外,还有其他边缘点,则消除当前边缘像素点×;
2)当这2个边缘点是四连通关系时,若这2个边缘点在其八邻域点中均有边缘点,且为该2个边缘点的公有邻域边缘点时,消除当前边缘像素点×,其余情况则保留当前边缘像素点×;
当点×的八邻域点中有3个边缘点时,若这3个边缘点连通,且至少存在一个四连通时,消除当前边缘像素点×,否则保留当前边缘像素点×;
当点×的八邻域点中有4个以上边缘点时,若这些边缘点间存在连通关系,则消除当前边缘像素点×,否则保留当前边缘像素点×;
最后得到单像素边缘图像I3(x,y);
步骤S5、按照边缘跟踪方法从图像I3(x,y)中提取曲线,得到曲线集C;具体过程为:
S5.1、建立一个与图像I3(x,y)相同大小的标记矩阵用于表示像素被使用状态,标记矩阵初始化像素为0;
S5.2、遍历图像I3(x,y),若边缘点的八邻域点内只有1个边缘点,则此边缘点为曲线起始点,以起始点为当前点开始跟踪;
S5.3、在标记矩阵中设置当前点值为1,遍历当前点的八邻域点,八邻域点中未标记的边缘点数量为N;
S5.4、若N=0,当前曲线跟踪结束,返回步骤S5.2,继续遍历图像I3(x,y),寻找新的曲线起始点;
若N=1,则下一边缘点为该未标记的边缘点,在当前曲线的曲线链码表中记录当前点到下一边缘点的链码值,并把下一边缘点设为当前点,返回步骤S5.3;链码值为八邻域的方向值,取值为0-7,逆时针方向递增;
若N≥2,首先确定曲线主方向,如果当前曲线像素点个数小于10,曲线主方向定义为当前曲线链码表中链码值的众数,否则曲线主方向定义为当前曲线链码表中后八个链码值的众数;如果当前点在曲线主方向处存在边缘点,则以这个边缘点为下一边缘点,在当前曲线的曲线链码表记录当前点到下一边缘点的链码值,并把下一边缘点设为当前点,返回步骤S5.3;如果当前点在曲线主方向处不存在边缘点,判断曲线主方向的链码值减一的位置是否存在边缘点,若存在边缘点,则下一边缘点为此点,在当前曲线的曲线链码表记录当前点到下一边缘点的链码值,并把下一边缘点设为当前点,返回步骤S5.3;如果曲线主方向的链码值减一的位置不存在边缘点,判断主方向的链码值加一的位置是否存在边缘点,若存在边缘点,则下一边缘点为这个边缘点,在当前曲线的曲线链码表记录当前点到下一边缘点的链码值,并把下一边缘点设为当前点,返回步骤S5.3,否则结束当前曲线跟踪,返回步骤S5.2;
最终得到曲线集C;
步骤S6、对曲线集C中每一条曲线按照Douglas-Peucker算法压缩,可得到所有直线段的端点;
步骤S7、定义直线段端点间的距离为直线长度,若直线长度满足所设长度阈值要求,则保留该直线,否则舍去;
步骤S8、根据直线端点可计算得到该直线段上的所有像素点,计算每条直线段的方程和角度,提取直线段;
步骤S9、根据X射线安检图像的先验知识,去除图像中的显著干扰直线段;
步骤S10、输出剩余直线段,流程结束。
2.根据权利要求1所述的方法,其特征在于,步骤S2的具体过程为:
S2.3、采用八个方向离散化,迭代公式为:
由此得到经过基于图像局部熵的各向异性滤波处理后的图像I1(x,y)。
3.根据权利要求1所述的方法,其特征在于,步骤S9的具体过程为:
S9.1、建立一个与原始X射线安检图像相同大小的全0矩阵作为背景边缘图;
S9.2、利用Prewitt算子计算图像I1(x,y)中每个像素点的梯度,在背景边缘图中用255标记梯度大于150的像素点;
S9.3、对图像I1(x,y)中每个像素点,遍历其上下左右四邻域,若四邻域中有且只有一个像素点值大于235,则在背景边缘图中用255标记该像素点;
S9.4、利用形态学膨胀处理背景边缘图;
S9.5、对于步骤S8中提取的所有直线段,遍历每条直线段上的各个像素点,若该条直线段上有一半以上的像素点都处于背景边缘图中的标记位置,则去除该条直线段。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211476286.1A CN115719358A (zh) | 2022-11-23 | 2022-11-23 | 一种x射线安检图像中直线段提取方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211476286.1A CN115719358A (zh) | 2022-11-23 | 2022-11-23 | 一种x射线安检图像中直线段提取方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115719358A true CN115719358A (zh) | 2023-02-28 |
Family
ID=85256072
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211476286.1A Pending CN115719358A (zh) | 2022-11-23 | 2022-11-23 | 一种x射线安检图像中直线段提取方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115719358A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116503912A (zh) * | 2023-06-25 | 2023-07-28 | 山东艾克斯智能科技有限公司 | 基于电子图囊的安检预警方法 |
-
2022
- 2022-11-23 CN CN202211476286.1A patent/CN115719358A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116503912A (zh) * | 2023-06-25 | 2023-07-28 | 山东艾克斯智能科技有限公司 | 基于电子图囊的安检预警方法 |
CN116503912B (zh) * | 2023-06-25 | 2023-08-25 | 山东艾克斯智能科技有限公司 | 基于电子图囊的安检预警方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104751142B (zh) | 一种基于笔划特征的自然场景文本检测方法 | |
CN110349207B (zh) | 一种复杂环境下的视觉定位方法 | |
CN109785285B (zh) | 一种基于椭圆特征拟合的绝缘子破损检测方法 | |
CN107688806B (zh) | 一种基于仿射变换的自由场景文本检测方法 | |
CN107045634B (zh) | 一种基于最大稳定极值区域与笔画宽度的文本定位方法 | |
CN111931538A (zh) | 一种Micro QR二维码的定位方法 | |
CN111489337B (zh) | 一种自动光学检测伪缺陷去除方法及*** | |
CN105447489B (zh) | 一种图片ocr识别***的字符与背景粘连噪声消除方法 | |
WO2015066984A1 (zh) | 一种面向复杂背景的光学字符识别方法及装置 | |
CN109712147A (zh) | 一种基于Zhang-Suen图像骨架提取的干涉条纹中心线拟合方法 | |
CN112308872B (zh) | 基于多尺度Gabor一阶导数的图像边缘检测方法 | |
CN112488046A (zh) | 一种基于无人机高分辨率影像的车道线提取方法 | |
CN115719358A (zh) | 一种x射线安检图像中直线段提取方法 | |
CN110782385A (zh) | 一种基于深度学习的图像水印的去除方法 | |
CN110687122A (zh) | 一种陶瓦表面裂纹检测方法及*** | |
CN111652844B (zh) | 一种基于数字图像区域增长的x射线缺陷检测方法及*** | |
Ashoori-Lalimi et al. | An efficient method for vehicle license plate detection in complex scenes | |
CN115205560A (zh) | 一种基于单目相机的先验地图辅助室内定位方法 | |
Zhao et al. | Analysis of image edge checking algorithms for the estimation of pear size | |
CN108460735A (zh) | 基于单幅图像的改进暗通道去雾方法 | |
CN104102911A (zh) | 一种基于aoi的子弹表观缺陷检测***的图像处理算法 | |
CN112200769B (zh) | 一种用于违建检测的定点监控新旧时相图像变化检测方法 | |
CN111583156B (zh) | 文档图像底纹去除方法及*** | |
CN112258518B (zh) | 一种海天线提取方法及装置 | |
CN111815591B (zh) | 基于ct图像的肺结节检测方法 |
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 |