logo好方法网

激光线的检测方法及装置、激光传感器、可读存储介质


技术摘要:
本申请提供一种激光线的检测方法及装置、激光传感器、可读存储介质。该检测方法包括:获取光学传感器的靶面对应的图像帧;所述靶面的行方向上映射有待检测激光线;根据所述图像帧的每列像素中各行像素的像素数据逐列地确定所述待检测激光线在每列像素中的位置;根据所  全部
背景技术:
目前,高速线激光位移传感器内部光学传感器的靶面像素数据读出方向都是沿行 方向(即X轴/行方向)进行读出的,为了方便靶面上的激光线检测,在设计以及测量中通常 都会将被测物体表面反射的激光线映射在Y轴上,这样,当一行像素数据读出完毕后,便可 以通过该行上“亮点”分布情况轻松计算出在该行上激光线的中心位置,当所有的行均被读 出后,整条激光线在靶面上的位置也就被检测出来了。 通常光学传感器的靶面分辨率都是X轴方向大于Y轴方向的,将线激光映射在Y轴 方向会造成传感器资源的浪费以及检测视场的缩小,在资源比较紧张以及检测范围比较广 的时候难以满足实际的应用需求。 因此,现有的激光线检测的方式资源占用率较高,同时检测视场宽度较小,检测效 率低。
技术实现要素:
本申请实施例的目的在于提供一种激光线的检测方法及装置、激光传感器、可读 存储介质,用以减小资源占用率,提高检测视场宽度和检测效率。 第一方面,本申请实施例提供一种激光线的检测方法,包括: 获取光学传感器的靶面对应的图像帧;所述靶面的行方向上映射有待检测激光 线;根据所述图像帧的每列像素中各行像素的像素数据逐列地确定所述待检测激光线在每 列像素中的位置;根据所述待检测激光线在每列像素中的位置确定所述待检测激光线在所 述靶面上的位置。 在本申请实施例中,通过将待检测激光线映射在光学传感器的靶面的行方向(X轴 方向)上,进而可以根据靶面对应的图像帧的每列像素中各行像素的像素数据逐列地确定 待检测激光线在每列像素中的位置,最终确定待检测激光线在靶面上的位置。与现有技术 相比,靶面的X轴方向的分辨率较高,可以在不占用太多资源的情况下,利用X轴方向的分辨 率优势,逐列地确定激光线在每列像素中的位置,进而确定激光线在靶面上的位置,提高检 测视场宽度和检测效率。 作为一种可能的实现方式,所述根据所述图像帧的每列像素中各行像素的像素数 据逐列地确定所述待检测激光线在每列像素中的位置,包括:根据所述图像帧中的每列像 素中各行像素的像素数据确定所述待检测激光线在所述每列像素中的多个连续激光点的 起始位置和所述多个连续激光点在所述每列像素中占据的宽度;根据所述起始位置和所述 占据的宽度确定所述待检测激光线在所述每列像素中的位置。 在本申请实施例中,在逐列地确定待检测激光线在每列像素中的位置时,可以通 4 CN 111578845 A 说 明 书 2/11 页 过确定每列像素中的多个连续激光点的起始位置和占据的宽度,然后依据起始位置和占据 的宽度可以准确地确定出待检测激光线在每列像素中的位置,提高激光线的检测效率。 作为一种可能的实现方式,所述根据所述图像帧中的每列像素中各行像素的像素 数据确定所述待检测激光线在所述每列像素中的多个连续激光点的起始位置和所述多个 连续激光点在所述每列像素中占据的宽度,包括:创建数据缓存区;所述数据缓存区用于记 录所述每列像素检测到的连续多个激光点的信息;依次对各行像素的像素数据进行读取, 并根据读取到的像素数据更新各列的多个连续激光点的信息;根据完成各行像素的像素数 据的读取时的所述多个连续激光点的信息确定所述多个连续激光点在每列像素中的起始 位置和所述多个连续激光点在每列像素中所占据的宽度。 在本申请实施例中,通过创建数据缓存区,来记录每列像素检测到的连续多个激 光点的信息,在依次读取像素数据时,同步更新每列像素检测到的连续多个激光点的信息, 进而可以根据该信息有效且准确地确定多个连续激光点在每列像素中的起始位置和多个 连续激光点在每列像素中所占据的宽度。 作为一种可能的实现方式,所述多个连续激光点的信息包括:当前所读取的像素 数据对应的行像素所在列的前一行像素是否属于激光点、当前列中检测过的区域内最集中 的连续激光点的起始位置、当前列中检测过的区域内最集中的连续激光点的个数、当前列 中检测到的连续激光点的起始位置、当前列中检测到的连续激光点的个数;所述多个连续 激光点的起始位置为所述当前列中检测过的区域内最集中的连续激光点的起始位置;所述 多个连续激光点在每列像素中所占据的宽度为当前列中检测过的区域内最集中的连续激 光点的个数。 在本申请实施例中,通过多个连续激光点的多种信息,能够有效且准确地确定多 个连续激光点在每列像素中的起始位置和多个连续激光点在每列像素中所占据的宽度。 作为一种可能的实现方式,所述依次对各行像素的像素数据进行读取,并根据读 取到的像素数据更新所述多个连续激光点的信息,包括:在依次读取到各行像素的像素数 据时,根据当前所读取的像素数据对应的行像素所在列的前一行像素是否属于激光点、当 前读取到的像素数据和预设的像素阈值更新所述当前列中检测过的区域内最集中的连续 激光点的起始位置、当前列中检测过的区域内最集中的连续激光点的个数、当前列中检测 到的连续激光点的起始位置、当前列中检测到的连续激光点的个数。 在本申请实施例中,基于当前所读取的像素数据对应的行像素所在列的前一行像 素是否属于激光点、当前读取到的像素数据和预设的像素阈值,能够对各个信息进行实时 更新,提高检测的效率。 作为一种可能的实现方式,所述根据当前所读取的像素数据对应的行像素所在列 的前一行像素是否属于激光点、当前读取到的像素数据和预设的像素阈值更新所述当前列 中检测过的区域内最集中的连续激光点的起始位置、当前列中检测过的区域内最集中的连 续激光点的个数、当前列中检测到的连续激光点的起始位置、当前列中检测到的连续激光 点的个数,包括:若当前所读取的像素数据对应的行像素所在列的前一行像素属于激光点, 且当前读取到的像素数据大于或者等于所述预设的像素阈值,将所述当前列中检测到的连 续激光点的个数加1;若当前所读取的像素数据对应的行像素所在列的前一行像素属于激 光点,且当前读取到的像素数据小于所述预设的像素阈值,将所述当前所读取的像素数据 5 CN 111578845 A 说 明 书 3/11 页 对应的行像素所在列的前一行像素更新为不属于,并判断所述当前列中检测到的连续激光 点的个数是否大于所述当前列中检测过的区域内最集中的连续激光点的个数;若大于,将 所述当前列中检测过的区域内最集中的连续激光点的个数更新为所述当前列中检测到的 连续激光点的个数,将当前列中检测过的区域内最集中的连续激光点的起始位置更新为所 述当前列中检测到的连续激光点的起始位置;若小于或者等于,将所述当前列中检测到的 连续激光点的起始位置和所述当前列中检测到的连续激光点的个数归0;若当前所读取的 像素数据对应的行像素所在列的前一行像素不属于激光点,且当前读取到的像素数据大于 或者等于所述预设的像素阈值,将所述当前所读取的像素数据对应的行像素所在列的前一 行像素更新为属于,将所述当前列中检测到的连续激光点的起始位置更新为当前的行号, 将当前列中检测到的连续激光点的个数加1;若当前所读取的像素数据对应的行像素所在 列的前一行像素不属于激光点,且当前读取到的像素数据小于所述预设的像素阈值,保持 所述多个连续激光点的信息不变。 在本申请实施例中,在当前所读取的像素数据对应的行像素所在列的前一行像素 是否属于激光点的不同情况下,采用不同的信息更新方式,保证多个连续激光点的信息的 准确性。 作为一种可能的实现方式,所述根据所述起始位置和所述占据的宽度确定所述待 检测激光线在所述每列像素中的位置,包括:确定所述待检测激光线在所述每列像素中的 位置为在所述起始位置的基础上加上所述占据的宽度的一半的位置。 在本申请实施例中,在确定待检测激光线在每列像素中的位置时,可以在起始位 置的基础上加上占据的宽度的一半,即确定该列上的中心激光点的位置为待检测激光线在 该列像素中的位置,进而快速地确定待检测激光线在靶面上的位置,提高检测效率。 第二方面,本申请实施例提供一种激光线的检测装置,包括用于实现第一方面以 及第一方面的任意一种可能的实现方式中所述的方法的功能模块。 第三方面,本申请实施例提供一种激光传感器,包括:存储器以及处理器,所述存 储器中存储有计算机程序指令,所述计算机程序指令被所述处理器读取并运行时,执行如 第一方面以及第一方面的任意一种可能的实现方式中所述的方法。 第四方面,本申请实施例提供一种可读存储介质,所述可读存储介质上存储有计 算机程序,所述计算机程序被计算机运行时执行如第一方面以及第一方面的任意一种可能 的实现方式中所述的方法。 附图说明 为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使 用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看 作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以 根据这些附图获得其他相关的附图。 图1为本申请实施例提供的激光线的检测方法的流程图; 图2为本申请实施例提供的靶面的示意图; 图3为本申请实施例提供的数据缓存区的示意图; 图4为本申请实施例提供的激光线的检测装置的功能模块结构框图; 6 CN 111578845 A 说 明 书 4/11 页 图5为本申请实施例提供的激光传感器功能模块结构示意图。 图标:200-激光线的检测装置;201-获取模块;202-第一确定模块;203-第二确定 模块;300-激光传感器;301-存储器;302-处理器。
下载此资料需消耗2积分,
分享到:
收藏