一种棒材自动计数方法及装置转让专利

申请号 : CN201911387187.4

文献号 : CN110766018B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 孙茂杰李福存徐海宁孙敬忠苏循亮陈家乐林启森李敏朱正清

申请人 : 江苏金恒信息科技股份有限公司

摘要 :

本申请涉及棒材计数技术领域,公开了一种棒材自动计数方法及装置,该方法中,首先获取棒材端面图像,选定待识别区域,通过对待识别区域进行预处理,提取所有端面轮廓,然后将所有端面轮廓按照面积划分为独立端面轮廓以及粘连端面轮廓。将粘连端面轮廓作为待分割端面轮廓,接着获取待分割端面轮廓的外轮廓以及棒材直径,划定分割线,通过外轮廓以及分割线,将待分割端面轮廓分割成多个子端面轮廓,最后根据逼近圆算法,对子端面轮廓进行处理,获取圆化子端面轮廓,根据圆化子端面轮廓以及独立端面轮廓,对棒材端面图像对应的棒材进行计数。上述方法中,在计数之前对粘连的棒材端面进行分割,准确识别每一根棒材端面的轮廓,有效提高计数精确度。

权利要求 :

1.一种棒材自动计数方法,其特征在于,包括:获取棒材端面图像,并选定所述棒材端面图像的待识别区域;

对所述待识别区域进行预处理,提取所述待识别区域中所有端面轮廓;

将所有端面轮廓按照面积划分为独立端面轮廓以及粘连端面轮廓,并将所述粘连端面轮廓作为待分割端面轮廓;

获取所述待分割端面轮廓的外轮廓以及棒材直径;

根据所述待分割端面轮廓的外轮廓以及所述棒材直径,划定分割线;

根据所述外轮廓以及所述分割线,将所述待分割端面轮廓分割成多个子端面轮廓;

根据逼近圆算法,对所述子端面轮廓进行处理,获取圆化子端面轮廓;

根据所述圆化子端面轮廓以及所述独立端面轮廓,对所述棒材端面图像对应的棒材进行计数;

其中,所述根据所述待分割端面轮廓的外轮廓以及所述棒材直径,划定分割线,包括:获取所述待分割端面轮廓的外轮廓所有像素点;

按照预设的坐标系,获取所有像素点的横坐标值;

根据所述棒材直径、第一分割参考点和第二分割参考点,划定分割线,其中,所述第一分割参考点为横坐标值最小的像素点,所述第二分割参考点为横坐标值最大的像素点;

其中,所述根据所述棒材直径、第一分割参考点和第二分割参考点,划定分割线,包括:根据所述棒材直径,设定固定值;

根据所述第一分割参考点,划定第一分割线,所述第一分割线为横坐标值比所述第一分割参考点的横坐标值大所述固定值的纵向竖线;

根据所述第二分割参考点,划定第二分割线,所述第二分割线为横坐标值比所述第二分割参考点的横坐标值小所述固定值的纵向竖线。

2.根据权利要求1所述的方法,其特征在于,所述将所有端面轮廓按照面积划分为独立端面轮廓以及粘连端面轮廓,包括:如果所述端面轮廓的面积不小于预设的面积阈值,则将所述端面轮廓判定为粘连端面轮廓;

或者,如果所述端面轮廓的面积小于预设的面积阈值,则将所述端面轮廓判定为独立端面轮廓。

3.根据权利要求1所述的方法,其特征在于,所述根据所述棒材直径,设定固定值,包括:如果所述待分割端面轮廓存在内轮廓,则将所述固定值设置为棒材的半径;

如果所述待分割端面轮廓不存在所述内轮廓,则将所述固定值设置为所述棒材直径。

4.根据权利要求1所述的方法,其特征在于,所述根据所述圆化子端面轮廓以及所述独立端面轮廓,对棒材进行计数,包括:在所述待识别区域中设定计数线;

获取前后两帧棒材端面图像中的棒材端面圆心坐标,其中,所述棒材端面圆心坐标为任一个所述圆化子端面轮廓的圆心坐标或者任一个所述独立端面轮廓的圆心坐标;

如果在前后两帧棒材端面图像中存在棒材端面圆心坐标分别位于所述计数线的两侧,且该棒材端面圆心坐标在所述前后两帧棒材端面图像中的坐标距离小于预设的阈值,则计数加1。

5.根据权利要求1所述的方法,其特征在于,所述对所述待识别区域进行预处理,提取所述待识别区域中所有端面轮廓,包括:获取第一帧棒材端面图像,并选定所述第一帧棒材端面图像的待识别区域;

获取当前帧棒材端面图像,并选定所述当前帧棒材端面图像的待识别区域;

将所述第一帧棒材端面图像的待识别区域设置为背景帧待识别区域,将所述当前帧棒材端面图像的待识别区域设置为当前帧待识别区域;

对所述背景帧待识别区域以及所述当前帧待识别区域进行初步处理,所述初步处理包括灰度化处理及中值滤波处理;

使用背景差分法,对初步处理后的背景帧待识别区域以及当前帧待识别区域进行背景相减,获取当前帧待识别区域的目标背景图像,并对所述当前帧待识别区域的目标背景图像进行二次处理,所述二次处理包括二值化处理、膨胀处理以及腐蚀处理;

使用Canny边缘检测法对二次处理后的当前帧待识别区域的目标背景图像进行边缘分割,提取所述当前帧待识别区域中的所有端面轮廓。

6.一种棒材自动计数装置,其特征在于,包括:区域选定模块,用于获取棒材端面图像,并选定所述棒材端面图像的待识别区域;

端面轮廓提取模块,用于对所述待识别区域进行预处理,提取所述待识别区域中所有端面轮廓;

轮廓划分模块,用于将所有端面轮廓按照面积划分为独立端面轮廓以及粘连端面轮廓,并将所述粘连端面轮廓作为待分割端面轮廓;

第一获取模块,用于获取所述待分割端面轮廓的外轮廓以及棒材直径;

分割线划定模块,用于根据所述待分割端面轮廓的外轮廓以及所述棒材直径,划定分割线;

轮廓分割模块,用于根据所述外轮廓以及所述分割线,将所述待分割端面轮廓分割成多个子端面轮廓;

逼近圆化模块,用于根据逼近圆算法,对所述子端面轮廓进行处理,获取圆化子端面轮廓;

棒材计数模块,用于根据所述圆化子端面轮廓以及所述独立端面轮廓,对所述棒材端面图像对应的棒材进行计数;

其中,所述分割线划定模块包括:

像素点获取单元,用于获取所述待分割端面轮廓的外轮廓所有像素点;

横坐标值获取单元,用于按照预设的坐标系,获取所有像素点的横坐标值;

分割线划定单元,用于根据所述棒材直径、第一分割参考点和第二分割参考点,划定分割线,其中,所述第一分割参考点为横坐标值最小的像素点,所述第二分割参考点为横坐标值最大的像素点;

其中,所述分割线划定单元包括:

固定值设定子单元,用于根据所述棒材直径,设定固定值;

第一分割线划定子单元,用于根据所述第一分割参考点,划定第一分割线,所述第一分割线为横坐标值比所述第一分割参考点的横坐标值大所述固定值的纵向竖线;

第二分割线划定子单元,用于根据所述第二分割参考点,划定第二分割线,所述第二分割线为横坐标值比所述第二分割参考点的横坐标值小所述固定值的纵向竖线。

7.根据权利要求6所述的装置,其特征在于,所述轮廓划分模块包括:粘连端面轮廓判定单元,用于在所述端面轮廓的面积不小于预设的面积阈值时,将所述端面轮廓判定为粘连端面轮廓;

独立端面轮廓判定单元,用于在所述端面轮廓的面积小于预设的面积阈值时,将所述端面轮廓判定为独立端面轮廓。

说明书 :

一种棒材自动计数方法及装置

技术领域

[0001] 本申请涉及棒材计数技术领域,尤其涉及一种棒材自动计数方法及装置。

背景技术

[0002] 钢厂通常需要将棒材按照规定的支数进行打捆包装,因此在打捆包装之前需对棒材进行计数。传统的棒材计数方法是通过人工计数,这种方式效率低且难以保证准确率。为了提高棒材计数的效率,目前许多钢厂已普遍采用基于机器视觉的方法进行棒材计数。
[0003] 基于机器视觉进行棒材计数的流程大致包括:当棒材通过链床的带动进入计数区域内时,工控机发出计数信号,触发视觉检测相机进行拍照,采集棒材端面的图像信息,然后工控机对采集所得的图像信息进行视觉处理,识别以及跟踪棒材以实现计数。其中,视觉检测相机固定安装在链床旁边,以便于采集棒材的端面图像。
[0004] 棒材通过链床进行运输的过程中,容易出现重叠交叉的现象,若三根棒材叠在一起,视觉检测相机拍摄所得的图像中,这三根棒材的端面会粘连成“品字形”,若多根棒材并排粘连在一起,其端面图像会呈“一字形”。当棒材端面出现粘连的情况,会导致工控机进行视觉处理时,难以识别出棒材各自的轮廓,进而影响计数的精确度。

发明内容

[0005] 为了解决当棒材端面出现粘连的情况,会导致工控机进行视觉处理时,难以识别出棒材各自的轮廓,进而影响计数的精确度的技术问题,本申请通过以下实施例公开了一种棒材自动计数方法及装置。
[0006] 本申请第一方面公开了一种棒材自动计数方法,该方法包括:
[0007] 获取棒材端面图像,并选定所述棒材端面图像的待识别区域;
[0008] 对所述待识别区域进行预处理,提取所述待识别区域中所有端面轮廓;
[0009] 将所有端面轮廓按照面积划分为独立端面轮廓以及粘连端面轮廓,并将所述粘连端面轮廓作为待分割端面轮廓;
[0010] 获取所述待分割端面轮廓的外轮廓以及棒材直径;
[0011] 根据所述待分割端面轮廓的外轮廓以及所述棒材直径,划定分割线;
[0012] 根据所述外轮廓以及所述分割线,将所述待分割端面轮廓分割成多个子端面轮廓;
[0013] 根据逼近圆算法,对所述子端面轮廓进行处理,获取圆化子端面轮廓;
[0014] 根据所述圆化子端面轮廓以及所述独立端面轮廓,对棒材端面图像对应棒材进行计数。
[0015] 可选的,所述将所有端面轮廓按照面积划分为独立端面轮廓以及粘连端面轮廓,包括:
[0016] 如果所述端面轮廓的面积不小于预设的面积阈值,则将所述端面轮廓判定为粘连端面轮廓;
[0017] 或者,如果所述端面轮廓的面积小于预设的面积阈值,则将所述端面轮廓判定为独立端面轮廓。
[0018] 可选的,所述根据所述待分割端面轮廓的外轮廓以及所述棒材直径,划定分割线,包括:
[0019] 获取所述待分割端面轮廓的外轮廓所有像素点;
[0020] 按照预设的坐标系,获取所有像素点的横坐标值;
[0021] 根据所述棒材直径、所述第一分割参考点和所述第二分割参考点,划定分割线,其中,第一分割参考点是指横坐标值最小的像素点,第二分割参考点是指横坐标值最大的像素点。
[0022] 可选的,所述根据所述棒材直径、所述第一分割参考点和所述第二分割参考点,划定分割线,包括:
[0023] 根据所述棒材直径,设定固定值;
[0024] 根据所述第一分割参考点,划定第一分割线,所述第一分割线为横坐标值比所述第一分割参考点的横坐标值大所述固定值的纵向竖线;
[0025] 根据所述第二分割参考点,划定第二分割线,所述第二分割线为横坐标值比所述第二分割参考点的横坐标值小所述固定值的纵向竖线。
[0026] 可选的,所述根据所述棒材直径,设定固定值,包括:
[0027] 如果所述待分割端面轮廓存在内轮廓,则将所述固定值设置为棒材的半径;
[0028] 如果所述待分割端面轮廓不存在所述内轮廓,则将所述固定值设置为所述棒材直径。
[0029] 可选的,所述根据所述圆化子端面轮廓以及所述独立端面轮廓,对棒材进行计数,包括:
[0030] 在所述待识别区域中设定计数线;
[0031] 获取前后两帧棒材端面图像中的棒材端面圆心坐标,其中,所述棒材端面圆心坐标为任一个所述圆化子端面轮廓的圆心坐标或者任一个所述独立端面轮廓的圆心坐标;
[0032] 如果在前后两帧棒材端面图像中存在棒材端面圆心坐标分别位于所述计数线的两侧,且该棒材端面圆心坐标在所述前后两帧棒材端面图像中的坐标距离小于预设的阈值,则计数加1。
[0033] 可选的,所述对所述待识别区域进行预处理,提取所述待识别区域中所有端面轮廓,包括:
[0034] 获取第一帧棒材端面图像,并选定所述第一帧棒材端面图像的待识别区域;
[0035] 获取当前帧棒材端面图像,并选定所述当前帧棒材端面图像的待识别区域;
[0036] 将所述第一帧棒材端面图像的待识别区域设置为背景帧待识别区域,将所述当前帧棒材端面图像的待识别区域设置为当前帧待识别区域;
[0037] 对所述背景帧待识别区域以及所述当前帧待识别区域进行初步处理,所述初步处理包括灰度化处理及中值滤波处理;
[0038] 使用背景差分法,对初步处理后的背景帧待识别区域以及当前帧待识别区域进行背景相减,获取当前帧待识别区域的目标背景图像,并对所述当前帧待识别区域的目标背景图像进行二次处理,所述二次处理包括二值化处理、膨胀处理以及腐蚀处理;
[0039] 使用Canny边缘检测法对二次处理后的当前帧待识别区域的目标背景图像进行边缘分割,提取所述当前帧待识别区域中的所有端面轮廓。
[0040] 本申请第二方面公开了一种棒材自动计数装置,该装置应用于本申请第一方面公开的一种棒材自动计数方法,该装置包括:
[0041] 区域选定模块,用于获取棒材端面图像,并选定所述棒材端面图像的待识别区域;
[0042] 端面轮廓提取模块,用于对所述待识别区域进行预处理,提取所述待识别区域中所有端面轮廓;
[0043] 轮廓划分模块,用于将所有端面轮廓按照面积划分为独立端面轮廓以及粘连端面轮廓,并将所述粘连端面轮廓作为待分割端面轮廓;
[0044] 第一获取模块,用于获取所述待分割端面轮廓的外轮廓以及棒材直径;
[0045] 分割线划定模块,用于根据所述待分割端面轮廓的外轮廓以及所述棒材直径,划定分割线;
[0046] 轮廓分割模块,用于根据所述外轮廓以及所述分割线,将所述待分割端面轮廓分割成多个子端面轮廓;
[0047] 逼近圆化模块,用于根据逼近圆算法,对所述子端面轮廓进行处理,获取圆化子端面轮廓;
[0048] 棒材计数模块,用于根据所述圆化子端面轮廓以及所述独立端面轮廓,对所述棒材端面图像对应的棒材进行计数。
[0049] 可选的,所述轮廓划分模块包括:
[0050] 粘连端面轮廓判定单元,用于在所述端面轮廓的面积不小于预设的面积阈值时,将所述端面轮廓判定为粘连端面轮廓;
[0051] 独立端面轮廓判定单元,用于在所述端面轮廓的面积小于预设的面积阈值时,将所述端面轮廓判定为独立端面轮廓。
[0052] 可选的,所述分割线划定模块包括:
[0053] 像素点获取单元,用于获取所述待分割端面轮廓的外轮廓所有像素点;
[0054] 横坐标值获取单元,用于按照预设的坐标系,获取所有像素点的横坐标值;
[0055] 分割线划定单元,用于根据所述棒材直径、第一分割参考点和第二分割参考点,划定分割线,其中,所述第一分割参考点为横坐标值最小的像素点,所述第二分割参考点为横坐标值最大的像素点。
[0056] 可选的,所述分割线划定单元包括:
[0057] 固定值设定子单元,用于根据所述棒材直径,设定固定值;
[0058] 第一分割线划定子单元,用于根据所述第一分割参考点,划定第一分割线,所述第一分割线为横坐标值比所述第一分割参考点的横坐标值大所述固定值的纵向竖线;
[0059] 第二分割线划定子单元,用于根据所述第二分割参考点,划定第二分割线,所述第二分割线为横坐标值比所述第二分割参考点的横坐标值小所述固定值的纵向竖线。
[0060] 可选的,所述固定值设定子单元包括:
[0061] 第一设定子单元,用于在所述待分割端面轮廓存在内轮廓时,将所述固定值设置为棒材的半径;
[0062] 第二设定子单元,用于在所述待分割端面轮廓不存在所述内轮廓时,将所述固定值设置为所述棒材直径。
[0063] 可选的,所述棒材计数模块包括:
[0064] 计数线设定单元,用于在所述待识别区域中设定计数线;
[0065] 圆心坐标获取单元,用于获取前后两帧棒材端面图像中的棒材端面圆心坐标,其中,所述棒材端面圆心坐标为任一个所述圆化子端面轮廓的圆心坐标或者任一个所述独立端面轮廓的圆心坐标;
[0066] 计数判定单元,用于在前后两帧棒材端面图像中存在棒材端面圆心坐标分别位于所述计数线的两侧,且该棒材端面圆心坐标在所述前后两帧棒材端面图像中的坐标距离小于预设的阈值时,计数加1。
[0067] 可选的,所述端面轮廓提取模块包括:
[0068] 第一区域选定单元,用于获取第一帧棒材端面图像,并选定所述第一帧棒材端面图像的待识别区域;
[0069] 第二区域选定单元,用于获取当前帧棒材端面图像,并选定所述当前帧棒材端面图像的待识别区域;
[0070] 背景设定单元,用于将所述第一帧棒材端面图像的待识别区域设置为背景帧待识别区域,将所述当前帧棒材端面图像的待识别区域设置为当前帧待识别区域;
[0071] 初步处理单元,用于对所述背景帧待识别区域以及所述当前帧待识别区域进行初步处理,所述初步处理包括灰度化处理及中值滤波处理;
[0072] 二次处理单元,用于使用背景差分法,对初步处理后的背景帧待识别区域以及当前帧待识别区域进行背景相减,获取当前帧待识别区域的目标背景图像,并对所述当前帧待识别区域的目标背景图像进行二次处理,所述二次处理包括二值化处理、膨胀处理以及腐蚀处理;
[0073] 边缘分割单元,用于使用Canny边缘检测法对二次处理后的当前帧待识别区域的目标背景图像进行边缘分割,提取所述当前帧待识别区域中的所有端面轮廓。
[0074] 本申请实施例公开了一种棒材自动计数方法及装置,在该方法中,首先获取棒材端面图像,并选定待识别区域,通过对待识别区域进行预处理,提取所有端面轮廓,然后将所有端面轮廓按照面积划分为独立端面轮廓以及粘连端面轮廓,并将粘连端面轮廓作为待分割端面轮廓,接着获取待分割端面轮廓的外轮廓以及棒材直径,划定分割线,通过外轮廓以及分割线,将待分割端面轮廓分割成多个子端面轮廓,最后根据逼近圆算法,对子端面轮廓进行处理,获取圆化子端面轮廓,根据圆化子端面轮廓以及独立端面轮廓,便可以对所述棒材端面图像对应的棒材进行计数。上述方法中,在计数之前对出现粘连的棒材端面进行分割,进而准确识别每一根棒材端面的轮廓,能够有效提高棒材计数的精确度。

附图说明

[0075] 为了更清楚地说明本申请的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0076] 图1为本申请实施例公开的一种棒材自动计数方法的工作流程示意图;
[0077] 图2为本申请实施例公开的棒材端面轮廓的示意图;
[0078] 图3为本申请实施例公开的一种棒材自动计数方法中,所获取的待分割端面轮廓的外轮廓示意图;
[0079] 图4为本申请实施例公开的一种棒材自动计数方法中,划定分割线的工作流程示意图;
[0080] 图5为本申请实施例公开的一种棒材自动计数方法中,又一种划定分割线的工作流程示意图;
[0081] 图6为本申请实施例公开的一种棒材自动计数方法中,所获取的待分割端面轮廓内轮廓的示意图;
[0082] 图7为本申请实施例公开的一种棒材自动计数方法中,划定的分割线示意图;
[0083] 图8为本申请实施例公开的一种棒材自动计数方法中,将所述待分割端面轮廓分割成多个子端面轮廓的示意图;
[0084] 图9为本申请实施例公开的一种棒材自动计数装置的结构示意图。

具体实施方式

[0085] 为了解决当棒材端面出现粘连的情况,会导致工控机进行视觉处理时,难以识别出棒材各自的轮廓,进而影响计数的精确度的技术问题,本申请通过以下实施例公开了一种棒材自动计数方法及装置。
[0086] 本申请第一实施例公开了一种棒材自动计数方法,参见图1所示的工作流程示意图,该方法包括:
[0087] 步骤S11,获取棒材端面图像,并选定所述棒材端面图像的待识别区域。
[0088] 步骤S12,对所述待识别区域进行预处理,提取所述待识别区域中所有端面轮廓。
[0089] 步骤S13,将所有端面轮廓按照面积划分为独立端面轮廓以及粘连端面轮廓,并将所述粘连端面轮廓作为待分割端面轮廓。其中独立端面轮廓表示未出现粘连情况的棒材的端面轮廓,粘连端面轮廓表示出现多根粘连在一起的棒材端面轮廓。
[0090] 由于工控机进行视觉处理时,主要依靠识别棒材端面的轮廓进行计数,当棒材出现粘连现象时,其轮廓之间会出现叠加,工控机无法准确识别出每个棒材端面的轮廓。为了解决这一问题,本申请实施例将所有端面轮廓划分为独立端面轮廓以及粘连端面轮廓,并将所述粘连端面轮廓作为待分割端面轮廓,以进行分割处理。
[0091] 若棒材未出现粘连现象,其端面轮廓如图2中的“1”所示,本申请实施例中,将之定义为独立端面轮廓。
[0092] 若棒材出现粘连现象,且为三根棒材叠在一起,其端面图像会呈“品字形”,如图2中的“2”所示。
[0093] 若棒材出现粘连现象,且为多根棒材并排粘连在一起,其端面图像会呈“一字形”,如图2中的“3”和“4”所示,其中,“3”表示2根棒材并排粘连在一起,“4”表示3根棒材并排粘连在一起。
[0094] 本申请实施例中,按照面积对所有端面轮廓进行划分。
[0095] 在一种实现方式中,如果所述端面轮廓的面积不小于预设的面积阈值,则将所述端面轮廓判定为粘连端面轮廓,或者,如果所述端面轮廓的面积小于预设的面积阈值,则将所述端面轮廓判定为独立端面轮廓,依此将所有端面轮廓划分为独立端面轮廓以及粘连端面轮廓。
[0096] 实际应用中,面积阈值根据棒材的尺寸规格预先设置,作为示例,可将面积阈值设置为单根棒材面积的1.8倍。
[0097] 步骤S14,获取所述待分割端面轮廓的外轮廓以及棒材直径。
[0098] 实际应用中,棒材直径可根据钢厂所生产棒材的规格获知,待分割端面轮廓的外轮廓通过工控机中的图像识别模块进行提取。参见图3所示,“A”表示针对“品字形”端面提取的外轮廓,“B”和“C”表示针对“一字形”端面提取的外轮廓。
[0099] 步骤S15,根据所述待分割端面轮廓的外轮廓以及所述棒材直径,划定分割线。
[0100] 在一种实现方式中,参见图4所示的工作流程示意图,步骤S15包括:
[0101] 步骤S151、获取所述待分割端面轮廓的外轮廓所有像素点。
[0102] 步骤S152、按照预设的坐标系,获取所有像素点的横坐标值。
[0103] 实际应用中,按照相机拍摄的图像区域可以预先设定坐标系。本申请实施例中,以相机拍摄图像区域左上角顶点作为原点,横向为X轴,纵向为Y轴建立坐标系。
[0104] 步骤S153、根据所述棒材直径、所述第一分割参考点和所述第二分割参考点,划定分割线,其中,第一分割参考点是指横坐标值最小的像素点,第二分割参考点是指横坐标值最大的像素点。
[0105] 具体的,参见图5所示的工作流程示意图,步骤S153包括:
[0106] 步骤S1531、根据所述棒材直径,设定固定值。
[0107] 当三根棒材叠加呈“品字形”时,其端面轮廓不光存在外轮廓,还存在内轮廓,然而“一字形”端面轮廓则不会存在内轮廓,其中“品字形”端面轮廓的内轮廓如图6所示。本申请实施例中,利用这一特点,对“品字形”和“一字形”的待分割端面轮廓进行区分。
[0108] 在所述待分割端面轮廓存在内轮廓时,表示该待分割端面轮廓为“品字形”,此时将所述固定值设置为棒材的半径。
[0109] 在所述待分割端面轮廓不存在所述内轮廓,表示该待分割端面轮廓为“一字形”,此时将所述固定值设置为所述棒材直径。
[0110] 步骤S1532、根据所述第一分割参考点,划定第一分割线,所述第一分割线为横坐标值比所述第一分割参考点的横坐标值大所述固定值的纵向竖线。
[0111] 步骤S1533、根据所述第二分割参考点,划定第二分割线,所述第二分割线为横坐标值比所述第二分割参考点的横坐标值小所述固定值的纵向竖线。
[0112] 参见图7所示,“a”表示针对“品字形”的待分割端面轮廓划定分割线的示意图,“b”和“c”表示针对“一字形”的待分割端面轮廓划定分割线的示意图,图中,D表示棒材直径,Xmin代表第一分割参考点,即待分割端面轮廓外轮廓所有像素点中横坐标值最小的像素点,Xmax代表第二分割参考点,即待分割端面轮廓外轮廓所有像素点中横坐标值最大的像素点。“a”、“b”和“c”中的纵向竖线表示所划定的分割线。
[0113] 步骤S16,根据所述外轮廓以及所述分割线,将所述待分割端面轮廓分割成多个子端面轮廓。
[0114] 参见图8所示,根据外轮廓以及分割线,能够将“品字形”的待分割端面轮廓分割成3个子端面轮廓:①、②和③。
[0115] 需要说明的是,根据外轮廓以及分割线,对“品字形”的待分割端面轮廓进行分割时,将外轮廓内部默认为一个整体的端面轮廓,忽略内轮廓的存在。
[0116] 步骤S17,根据逼近圆算法,对所述子端面轮廓进行圆化处理,获取圆化子端面轮廓。
[0117] 步骤S18,根据所述圆化子端面轮廓以及所述独立端面轮廓,对棒材端面图像对应棒材进行计数。
[0118] 本申请实施例公开了一种棒材自动计数方法及装置,在该方法中,首先获取棒材端面图像,并选定待识别区域,通过对待识别区域进行预处理,提取所有端面轮廓,然后将所有端面轮廓按照面积划分为独立端面轮廓以及粘连端面轮廓,并将粘连端面轮廓作为待分割端面轮廓,接着获取待分割端面轮廓的外轮廓以及棒材直径,划定分割线,通过外轮廓以及分割线,将待分割端面轮廓分割成多个子端面轮廓,最后根据逼近圆算法,对子端面轮廓进行处理,获取圆化子端面轮廓,根据圆化子端面轮廓以及独立端面轮廓,便可以对所述棒材端面图像对应的棒材进行计数。上述方法中,在计数之前对出现粘连的棒材端面进行分割,进而准确识别每一根棒材端面的轮廓,能够有效提高棒材计数的精确度。
[0119] 进一步的,所述根据所述圆化子端面轮廓以及所述独立端面轮廓,对棒材进行计数,包括:
[0120] 在所述待识别区域中设定计数线。
[0121] 获取前后两帧棒材端面图像中的棒材端面圆心坐标,其中,所述棒材端面圆心坐标为任一个所述圆化子端面轮廓的圆心坐标或者任一个所述独立端面轮廓的圆心坐标。
[0122] 如果在前后两帧棒材端面图像中存在棒材端面圆心坐标分别位于所述计数线的两侧,且该棒材端面圆心坐标在所述前后两帧棒材端面图像中的坐标距离小于预设的阈值,则计数加1。
[0123] 在进行计数之前,还需滤除图像区域中的干扰项,将面积小于最小阈值或者大于最大阈值的的轮廓删除。实际应用中,可以将最小阈值设置为0.4倍的单根棒材面积,将最大阈值设置为3倍的单根棒材面积。
[0124] 进一步的,所述对所述待识别区域进行预处理,提取所述待识别区域中所有端面轮廓,包括:
[0125] 获取第一帧棒材端面图像,并选定所述第一帧棒材端面图像的待识别区域。
[0126] 获取当前帧棒材端面图像,并选定所述当前帧棒材端面图像的待识别区域。
[0127] 将所述第一帧棒材端面图像的待识别区域设置为背景帧待识别区域,将所述当前帧棒材端面图像的待识别区域设置为当前帧待识别区域。
[0128] 对所述背景帧待识别区域以及所述当前帧待识别区域进行初步处理,所述初步处理包括灰度化处理及中值滤波处理。
[0129] 使用背景差分法,对初步处理后的背景帧待识别区域以及当前帧待识别区域进行背景相减,获取当前帧待识别区域的目标背景图像,并对所述当前帧待识别区域的目标背景图像进行二次处理,所述二次处理包括二值化处理、膨胀处理以及腐蚀处理。
[0130] 实际应用中也可以使用帧间差分法获取当前帧待识别区域的目标背景图像。
[0131] 二值化处理是为了让图像呈现黑白两种颜色,处理过程包括:设定阈值r,若像素点的灰度值大于190,则将像素点的灰度值赋值为255,即白色,否则像素点的灰度值赋值为0,即黑色。
[0132] 使用Canny边缘检测法对二次处理后的当前帧待识别区域的目标背景图像进行边缘分割,提取所述当前帧待识别区域中的所有端面轮廓。
[0133] 下述为本申请公开的装置实施例,用于实施上述方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
[0134] 本申请第二实施例公开了一种棒材自动计数装置,该装置应用于本申请第一实施例公开的一种棒材自动计数方法,参见图9所示,该装置包括:
[0135] 区域选定模块10,用于获取棒材端面图像,并选定所述棒材端面图像的待识别区域。
[0136] 端面轮廓提取模块20,用于对所述待识别区域进行预处理,提取所述待识别区域中所有端面轮廓。
[0137] 轮廓划分模块30,用于将所有端面轮廓按照面积划分为独立端面轮廓以及粘连端面轮廓,并将所述粘连端面轮廓作为待分割端面轮廓。
[0138] 第一获取模块40,用于获取所述待分割端面轮廓的外轮廓以及棒材直径。
[0139] 分割线划定模块50,用于根据所述待分割端面轮廓的外轮廓以及所述棒材直径,划定分割线。
[0140] 轮廓分割模块60,用于根据所述外轮廓以及所述分割线,将所述待分割端面轮廓分割成多个子端面轮廓。
[0141] 逼近圆化模块70,用于根据逼近圆算法,对所述子端面轮廓进行处理,获取圆化子端面轮廓。
[0142] 棒材计数模块80,用于根据所述圆化子端面轮廓以及所述独立端面轮廓,对所述棒材端面图像对应的棒材进行计数。
[0143] 进一步的,所述轮廓划分模块30包括:
[0144] 粘连端面轮廓判定单元,用于在所述端面轮廓的面积不小于预设的面积阈值时,将所述端面轮廓判定为粘连端面轮廓。
[0145] 独立端面轮廓判定单元,用于在所述端面轮廓的面积小于预设的面积阈值时,将所述端面轮廓判定为独立端面轮廓。
[0146] 进一步的,所述分割线划定模块50包括:
[0147] 像素点获取单元,用于获取所述待分割端面轮廓的外轮廓所有像素点。
[0148] 横坐标值获取单元,用于按照预设的坐标系,获取所有像素点的横坐标值。
[0149] 分割线划定单元,用于根据所述棒材直径、第一分割参考点和第二分割参考点,划定分割线,其中,所述第一分割参考点为横坐标值最小的像素点,所述第二分割参考点为横坐标值最大的像素点。
[0150] 进一步的,所述分割线划定单元包括:
[0151] 固定值设定子单元,用于根据所述棒材直径,设定固定值。
[0152] 第一分割线划定子单元,用于根据所述第一分割参考点,划定第一分割线,所述第一分割线为横坐标值比所述第一分割参考点的横坐标值大所述固定值的纵向竖线。
[0153] 第二分割线划定子单元,用于根据所述第二分割参考点,划定第二分割线,所述第二分割线为横坐标值比所述第二分割参考点的横坐标值小所述固定值的纵向竖线。
[0154] 进一步的,所述固定值设定子单元包括:
[0155] 第一设定子单元,用于在所述待分割端面轮廓存在内轮廓时,将所述固定值设置为棒材的半径。
[0156] 第二设定子单元,用于在所述待分割端面轮廓不存在所述内轮廓时,将所述固定值设置为所述棒材直径。
[0157] 进一步的,所述棒材计数模块80包括:
[0158] 计数线设定单元,用于在所述待识别区域中设定计数线。
[0159] 圆心坐标获取单元,用于获取前后两帧棒材端面图像中的棒材端面圆心坐标,其中,所述棒材端面圆心坐标为任一个所述圆化子端面轮廓的圆心坐标或者任一个所述独立端面轮廓的圆心坐标。
[0160] 计数判定单元,用于在前后两帧棒材端面图像中存在棒材端面圆心坐标分别位于所述计数线的两侧,且该棒材端面圆心坐标在所述前后两帧棒材端面图像中的坐标距离小于预设的阈值时,计数加1。
[0161] 进一步的,所述端面轮廓提取模块20包括:
[0162] 第一区域选定单元,用于获取第一帧棒材端面图像,并选定所述第一帧棒材端面图像的待识别区域。
[0163] 第二区域选定单元,用于获取当前帧棒材端面图像,并选定所述当前帧棒材端面图像的待识别区域。
[0164] 背景设定单元,用于将所述第一帧棒材端面图像的待识别区域设置为背景帧待识别区域,将所述当前帧棒材端面图像的待识别区域设置为当前帧待识别区域。
[0165] 初步处理单元,用于对所述背景帧待识别区域以及所述当前帧待识别区域进行初步处理,所述初步处理包括灰度化处理及中值滤波处理。
[0166] 二次处理单元,用于使用背景差分法,对初步处理后的背景帧待识别区域以及当前帧待识别区域进行背景相减,获取当前帧待识别区域的目标背景图像,并对所述当前帧待识别区域的目标背景图像进行二次处理,所述二次处理包括二值化处理、膨胀处理以及腐蚀处理。
[0167] 边缘分割单元,用于使用Canny边缘检测法对二次处理后的当前帧待识别区域的目标背景图像进行边缘分割,提取所述当前帧待识别区域中的所有端面轮廓。
[0168] 以上结合具体实施方式和范例性实例对本申请进行了详细说明,不过这些说明并不能理解为对本申请的限制。本领域技术人员理解,在不偏离本申请精神和范围的情况下,可以对本申请技术方案及其实施方式进行多种等价替换、修饰或改进,这些均落入本申请的范围内。本申请的保护范围以所附权利要求为准。