本申请涉及图片拼接,特别是涉及一种基于规则的迭代式全景拼接方法、装置及存储介质。
背景技术:
1、在零售行业,需要对多张货架图进行全景拼接。现有的图片全景拼接方案为:通过拍摄者对拼接对象进行视频拍摄,以获取大量重合度较高的图片,并且要求拍摄者的抖动很小。或者,要求拍摄者站在一处,仅仅旋转角度拍摄。前者获取大量重合度高(90%的重合度)的图片,才可以求出两张图片的单应性矩阵。后者所拍摄的图片仅有角度变化而没有平移变化,也可以很好的应用光束平差法对多张图片进行对齐。但是,现有的图片全景拼接方法都对进行全景拼接的图片有严格的要求,在货架拼接的场景中,货架图片往往是拍摄者边移动边对货架进行拍摄的,而且拍摄的图片与图片之间重合度低,抖动大,使用传统的方法在大多数情况下根本无法完成全景拼接,全景拼接难度大,拼接时间长,拼接成功率低。
2、针对上述的现有技术中存在的图片全景拼接难度大,拼接时间长,拼接成功率低的技术问题,目前尚未提出有效的解决方案。
技术实现思路
1、本发明的实施例提供了一种基于规则的迭代式全景拼接方法、装置及存储介质,以至少解决现有技术中存在的图片全景拼接难度大,拼接时间长,拼接成功率低的技术问题。
2、根据本发明实施例的一个方面,提供了一种基于规则的迭代式全景拼接方法,包括:
3、步骤1:获取待进行全景拼接的多张图片;
4、步骤2:采用滑动窗口的方式将每张图片切割成若干子图,得到子图集合,其中子图集合中每张子图之间的重合度大于或者等于预设阈值;
5、步骤3:选取子图集合中的第一张子图作为左图,选取子图集合中与第一张子图临近的第二张子图作为右图;
6、步骤4:对左图和右图进行特征点提取,并根据提取的特征点对左图和右图进行拼接;
7、步骤5:根据提取的特征点计算左图和右图的单应性矩阵,并根据单应性矩阵判断左图和右图是否拼接成功;
8、步骤6:当左图和右图拼接成功时,将拼接得到的矩形图片作为新的左图,选取子图集合内的下一张子图作为新的右图,重复步骤4~步骤5,直至子图集合内的所有子图拼接完毕。
9、优选地,所述采用滑动窗口的方式将每张图片切割成若干子图,包括:
10、确定每张子图的宽度;
11、确定窗口每次滑动的步长;
12、根据每张子图的宽度及窗口每次滑动的步长,将每张图片切割成若干子图。
13、优选地,所述确定每张子图的宽度,包括:
14、通过以下公式确定每张子图的宽度:
15、cw=3/(n+2)w;
16、其中,cw为子图的宽度,n为需要切割的子图的数量,w为原图片的宽度。
17、优选地,所述确定窗口每次滑动的步长,包括:
18、通过以下公式确定窗口在图片上每次滑动的步长:
19、sw=1/(n+2)w;
20、其中,sw为每次滑动的步长,n为需要切割的子图的数量,w为原图片的宽度。
21、优选地,所述根据提取的特征点对左图和右图进行拼接的操作之前,该方法还包括:
22、将左图和右图分别输入预设的商品检测模型,确定商品在图片中的位置信息;
23、根据商品在图片中的位置信息,将提取的特征点中与商品无关的特征点进行过滤。
24、优选地,所述根据单应性矩阵判断左图和右图是否拼接成功,包括:
25、根据单应性矩阵,计算左图和右图拼接后得到的拼接图片的四个边界点坐标;
26、根据四个边界点坐标,判断左图和右图是否拼接成功。
27、优选地,该方法还包括:
28、当左图和右图拼接失败时,对左图和右图的特征点进行随机丢弃,并根据剩余的特征点对左图和右图进行拼接;
29、根据剩余的特征点重新计算左图和右图的单应性矩阵,并根据重新计算的单应性矩阵判断左图和右图是否拼接成功。
30、根据本发明实施例的另一个方面,还提供了一种基于规则的迭代式全景拼接装置,包括:
31、图片获取模块,用于获取待进行全景拼接的多张图片;
32、采用滑动窗口的方式将每张图片切割成若干子图,得到子图集合,其中子图集合中每张子图之间的重合度大于或者等于预设阈值;
33、选取模块,用于选取子图集合中的第一张子图作为左图,选取子图集合中与第一张子图临近的第二张子图作为右图;
34、拼接模块,用于对左图和右图进行特征点提取,并根据提取的特征点对左图和右图进行拼接;
35、判断模块,用于根据提取的特征点计算左图和右图的单应性矩阵,并根据单应性矩阵判断左图和右图是否拼接成功;
36、迭代拼接模块,用于当左图和右图拼接成功时,将拼接得到的矩形图片作为新的左图,选取子图集合内的下一张子图作为新的右图,重复拼接和判断步骤,直至子图集合内的所有子图拼接完毕。
37、根据本发明实施例的另一个方面,还提供了一种存储介质,存储介质包括存储的程序,其中,在程序运行时由处理器执行以上任意一项所述的方法。
38、根据本发明实施例的另一个方面,还提供了一种电子设备,所述电子设备包括:处理器;用于存储所述处理器可执行指令的存储器;所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述可执行指令以实现以上任意一项所述的方法。
39、在本发明实施例中,使用迭代的方式进行拼接,每次拼接只涉及相邻两张图片,大大减小了拼接难度以及拼接时间。使用滑动窗口的方式对照片进行切分,提升了相邻照片之间的重合度,加大拼接成功概率,极大地降低了对一组货架图片的要求,相邻照片之间可以有较小的重叠度。
1.一种基于规则的迭代式全景拼接方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述采用滑动窗口的方式将每张图片切割成若干子图,包括:
3.根据权利要求2所述的方法,其特征在于,所述确定每张子图的宽度,包括:
4.根据权利要求2所述的方法,其特征在于,所述确定窗口每次滑动的步长,包括:
5.根据权利要求1所述的方法,其特征在于,所述根据提取的特征点对左图和右图进行拼接的操作之前,还包括:
6.根据权利要求1所述的方法,其特征在于,所述根据单应性矩阵判断左图和右图是否拼接成功,包括:
7.根据权利要求1所述的方法,其特征在于,还包括:
8.一种基于规则的迭代式全景拼接装置,其特征在于,包括:
9.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,在所述程序运行时由处理器执行权利要求1至7中任意一项所述的方法。
10.一种电子设备,其特征在于,所述电子设备包括: