将任意形状图像区域重塑为N个矩形区域的方法及其系统技术方案

技术编号:28944429 阅读:6 留言:0更新日期:2021-06-18 21:55
本申请提供了将任意形状图像区域重塑为N个矩形区域的方法及其系统,所述方法包括:确认原始图像的感兴趣区域;将感兴趣区域的像素标记为1,其它区域的像素标记为0;剪切出感兴趣区域沿水平方向的最小外接矩形,在最小外接矩形中,按预设规则查找面积最大的矩形,即最大面积矩形;以最大面积矩形为中心,将最大面积矩形外、最小外接矩形内的其它标记为1的图像像素采用流沙式填充方式逐步向内聚合为矩形;聚合后的矩形的最外侧四条边的数据中若存在全部或部分未填充满1,则对最外侧四条边进行数据重组,重组后仍未填满的边丢弃;将上述处理好的矩形切割成N个矩形区域。本申请方便对任意感兴趣区域进行多种算法计算,加速了智能化应用的开发。

【技术实现步骤摘要】
将任意形状图像区域重塑为N个矩形区域的方法及其系统
本专利技术涉及图像处理
,尤其涉及一种将任意形状图像区域重塑为N个矩形区域的方法及其系统。
技术介绍
在计算机视觉领域内,常常需要对图片进行多种算法的计算,但很多算法的输入均为矩阵(图片中的矩形区域),在对图片中感兴趣的非矩形区域进行多种算法计算时,不能直接将该区域做为算法的输入,可以将边缘填充成矩形后进行计算,但填充部分和感兴趣区域有明显变化,该变化如作为算法的输入部分,可能会严重影响算法的输出,所以更通用的做法是选取感兴趣区域中的1至N个区域代替目标区域进行算法计算。但目前尚无较为通用的算法实现。
技术实现思路
本专利技术的目的在于提供一种将任意形状图像区域重塑为N个矩形区域的方法及其系统,方便对图片任意感兴趣区域进行多种算法计算,以加速智能化应用的开发。为实现上述目的,本专利技术采用以下技术方案:本申请第一个方面提供了一种将任意形状图像区域重塑为N个矩形区域的方法,包括:获取待处理的原始图像,并确认原始图像的感兴趣区域,所述感兴趣区域为任意形状;将原始图像进行二值化处理,感兴趣区域的像素标记为1,其它区域的像素标记为0;对感兴趣区域进行剪切,剪切出感兴趣区域沿水平方向的最小外接矩形;在剪切出的最小外接矩形中,按照预设规则查找面积最大的矩形,即为最大面积矩形;以最大面积矩形为中心,将最大面积矩形外、最小外接矩形内的其它标记为1的图像像素采用流沙式填充方式逐步向内聚合为矩形;当聚合后的矩形的最外侧四条边的数据中,存在全部或部分未填充满1的情形时,则对最外侧四条边进行数据重组,尽可能填充满最多的边;若数据重组后仍存在未填充满1的边,则将该边丢弃;将上述处理好的矩形切割成N个矩形区域,N为大于1的正整数。优选地,所述剪切出感兴趣区域沿水平方向的最小外接矩形,包括如下步骤:从二值化处理后的图像的最外侧四条边中的左边开始,四条边以顺时针方向顺序依次从外向内查找出第一次出现1的坐标,坐标依次记为Xmin、Ymin、Xmax、Ymax;最小外接矩形的区域的左上角坐标记为(Xmin,Ymin),右下角坐标记为(Xmax,Ymax)。优选地,所述在剪切出的最小外接矩形中,按照预设规则查找面积最大的矩形,即最大面积矩形,包括如下步骤:在所述最小外接矩形中,从上向下逐行遍历;每个当前行与遍历过的行在y轴方向上连续为1的块构成不同高度的柱状,并记录高度值;从左向右查找每一点作为右下角坐标在由上一步不同高度的柱状图形中所能构成的最大矩形;计算最大矩形的面积,并判断是否面积为最大,最大则更新最大矩形的坐标;重复上述步骤至遍历完所有行,获得最大面积矩形坐标。在一种优选实施例中,最小外接矩形的相应矩阵为最小外接矩阵A,A的坐标为[Xmin:Xmax,Ymin:Ymax],其中,(Xmin,Ymin)和(Xmax,Ymax)分别是最小外接矩形的区域的左上角坐标与右下角坐标,所述按照预设规则查找面积最大的矩形,包括矩阵变换步骤和面积计算步骤;其中,所述矩阵变换步骤,包括:将最小外接矩阵A变换为高度矩阵B,高度矩阵B中的每个值表示将最小外接矩阵A中该位置在y轴方向往上所能构成的最大矩形高度,即其中,j表示矩阵的第j行,i表示矩阵的第i列,i、j均为大于等于0的自然数;Aji表示最小外接矩阵A中第j行、第i列的像素;Bji表示高度矩阵B中第j行、第i列的像素;所述面积计算步骤,包括:根据高度矩阵B中的每个像素Bji,按如下公式依次计算,得到与高度矩阵B对应的面积矩阵S,即面积矩阵S中的每个值为其对应的最小外接矩阵A中,以相同位置的像素点为矩形右下角坐标,向左向上查找到的最大矩形的像素求和,像素Bji的计算公式为:其中,Sji表示面积矩阵S中第j行、第i列的像素;n,n1,n2,……nn均为大于等于0的自然数;在计算出的面积矩阵S中查找最大值,即最大面积坐标Sjimax,如果存在多个值,则取离面积矩阵S的中心距离最近的坐标,如果仍然存在多个值,则随机取其中一个坐标作为最大面积坐标Sjimax;在最小外接矩阵A中,以对应最大面积坐标Sjimax位置的像素点为矩形右下角坐标,向左向上查找到的最大矩形即为最大面积矩形。在一种更优选实施例中,在计算面积矩阵S的过程中,通过稀疏矩阵K,记录所述最大面积矩形左上角的坐标;在计算最大面积坐标Sjimax的过程中,当最大面积坐标Sjimax存在多个值,所述随机取其中一个坐标作为最大面积坐标Sjimax的计算公式为:Sjimax=random(min(abs((Sj-Kj)/2-H/2))+abs((Si-Ki)/2-W/2))))其中,H为矩阵K的高,W为矩阵K的宽,Kj为矩阵K记录的最大面积坐标Sjimax所对应的最大面积矩形的左上角的行坐标,Ki为矩阵K记录的最大面积坐标Sjimax所对应的最大面积矩形的左上角的列坐标,Sj为最大面积坐标Sjimax的行坐标,Si为最大面积坐标Sjimax的列坐标。优选地,所述以最大面积矩形为中心,将最大面积矩形外、最小外接矩形内的其它标记为1的图像像素采用流沙式填充方式逐步向内聚合为矩形,包括:从最大面积矩形的最外侧四条边中的左边开始,四条边以顺时针方向逐边逐层向外查找与填充;其中,在填充最大面积矩形的外侧的第n边时,n为大于等于1的正整数,第n边中为1的像素不变,为0的像素由第n边相邻的外侧边、即第(n+1)边的最近像素中为1的像素进行填充,所述最近像素为第(n+1)边,且以最大面积矩形为中心、其左右45°夹角左闭右开范围内的像素。在一种优选实施例中,所述采用流沙式填充方式逐步向内聚合为矩形,包括:从最大面积矩形的最外侧四条边中的左边开始,其外侧的第一列为Sk,k为大于等于0的自然数,则第Sk列中为1的位置保持不变,第Sk列中为0的位置从第(Sk-1)列,及以最大面积矩形为中心、其左右45°夹角左闭右开范围内的像素中查找值为1的像素填充在第Sk列为0的位置;重复以上步骤,最大面积矩形的最外侧四边按顺时针方向逐边逐层向外查找并填充完所有数据。优选地,在采用流沙式填充方式将最大面积矩形外、最小外接矩形内的其它像素逐步向内聚合为矩形后,所述对最外侧四条边进行数据重组,尽可能填充满最多的边,若数据重组后仍存在未填充满1的边,则将该边丢弃,包括如下步骤:将聚合后的矩形的最外侧四条边的数据按照逆时针方向依次向矩形的左上角点汇聚;从汇聚后的矩形的最外侧四条边中的上边开始,按顺时针方向依次检查四条边的数据,数据填满的边保留,未填满的边丢弃。优选地,所述将处理好的矩形切割成N个矩形区域,包括如下步骤:计算短边的长度,短边为处理好的矩形中较短的一边,则较长的另一边为长边;计算短边和长边各需要切割的份数,分别为X和Y,且按X、Y切割后的矩形区域最趋近于正方形;<本文档来自技高网...

【技术保护点】
1.将任意形状图像区域重塑为N个矩形区域的方法,其特征在于,包括:/n获取待处理的原始图像,并确认原始图像的感兴趣区域,所述感兴趣区域为任意形状;/n将原始图像进行二值化处理,感兴趣区域的像素标记为1,其它区域的像素标记为0;/n对感兴趣区域进行剪切,剪切出感兴趣区域沿水平方向的最小外接矩形;/n在剪切出的最小外接矩形中,按照预设规则查找面积最大的矩形,即为最大面积矩形;/n以最大面积矩形为中心,将最大面积矩形外、最小外接矩形内的其它标记为1的图像像素采用流沙式填充方式逐步向内聚合为矩形;/n当聚合后的矩形的最外侧四条边的数据中,存在全部或部分未填充满1的情形时,则对最外侧四条边进行数据重组,尽可能填充满最多的边;若数据重组后仍存在未填充满1的边,则将该边丢弃;/n将上述处理好的矩形切割成N个矩形区域,N为大于1的正整数。/n

【技术特征摘要】
1.将任意形状图像区域重塑为N个矩形区域的方法,其特征在于,包括:
获取待处理的原始图像,并确认原始图像的感兴趣区域,所述感兴趣区域为任意形状;
将原始图像进行二值化处理,感兴趣区域的像素标记为1,其它区域的像素标记为0;
对感兴趣区域进行剪切,剪切出感兴趣区域沿水平方向的最小外接矩形;
在剪切出的最小外接矩形中,按照预设规则查找面积最大的矩形,即为最大面积矩形;
以最大面积矩形为中心,将最大面积矩形外、最小外接矩形内的其它标记为1的图像像素采用流沙式填充方式逐步向内聚合为矩形;
当聚合后的矩形的最外侧四条边的数据中,存在全部或部分未填充满1的情形时,则对最外侧四条边进行数据重组,尽可能填充满最多的边;若数据重组后仍存在未填充满1的边,则将该边丢弃;
将上述处理好的矩形切割成N个矩形区域,N为大于1的正整数。


2.根据权利要求1所述的将任意形状图像区域重塑为N个矩形区域的方法,其特征在于,所述剪切出感兴趣区域沿水平方向的最小外接矩形,包括如下步骤:
从二值化处理后的图像的最外侧四条边中的左边开始,四条边以顺时针方向顺序依次从外向内查找出第一次出现1的坐标,坐标依次记为Xmin、Ymin、Xmax、Ymax;
最小外接矩形的区域的左上角坐标记为(Xmin,Ymin),右下角坐标记为(Xmax,Ymax)。


3.根据权利要求1所述的将任意形状图像区域重塑为N个矩形区域的方法,其特征在于,所述在剪切出的最小外接矩形中,按照预设规则查找面积最大的矩形,即最大面积矩形,包括如下步骤:
在所述最小外接矩形中,从上向下逐行遍历;
每个当前行与遍历过的行在y轴方向上连续为1的块构成不同高度的柱状,并记录高度值;
从左向右查找每一点作为右下角坐标在由上一步不同高度的柱状图形中所能构成的最大矩形;
计算最大矩形的面积,并判断是否面积为最大,最大则更新最大矩形的坐标;
重复上述步骤至遍历完所有行,获得最大面积矩形坐标。


4.根据权利要求3所述的将任意形状图像区域重塑为N个矩形区域的方法,其特征在于,最小外接矩形的相应矩阵为最小外接矩阵A,A的坐标为[Xmin:Xmax,Ymin:Ymax],其中,(Xmin,Ymin)和(Xmax,Ymax)分别是最小外接矩形的区域的左上角坐标与右下角坐标,所述按照预设规则查找面积最大的矩形,包括矩阵变换步骤和面积计算步骤;其中,
所述矩阵变换步骤,包括:
将最小外接矩阵A变换为高度矩阵B,高度矩阵B中的每个值表示将最小外接矩阵A中该位置在y轴方向往上所能构成的最大矩形高度,即



其中,j表示矩阵的第j行,i表示矩阵的第i列,i、j均为大于等于0的自然数;Aji表示最小外接矩阵A中第j行、第i列的像素;Bji表示高度矩阵B中第j行、第i列的像素;
所述面积计算步骤,包括:
根据高度矩阵B中的每个像素Bji,按如下公式依次计算,得到与高度矩阵B对应的面积矩阵S,即面积矩阵S中的每个值为其对应的最小外接矩阵A中,以相同位置的像素点为矩形右下角坐标,向左向上查找到的最大矩形的像素求和,像素Bji的计算公式为:



其中,Sji表示面积矩阵S中第j行、第i列的像素;n,n1,n2,……nn均为大于等于0的自然数;
在计算出的面积矩阵S中查找最大值,即最大面积坐标Sjimax,如果存在多个值,则取离面积矩阵S的中心距离最近的坐标,如果仍然存在多个值,则随机取其中一个坐标作为最大面积坐标Sjimax;在最小外接矩阵A中,以对应最大面积坐标Sjimax位置的像素点为矩形右下角坐标,向左向上查找到的最大矩形即为最大面积矩形。


5.根据权利要求4所述的将任意形状图像区域重塑为N个矩形区域的方法,其特征在于,在计算面积矩阵S的过程中,通过稀疏矩阵K,记录所述最大面积矩形左上角的坐标;在计算最大面积坐标Sjimax的过程中,当最大面积坐标Sjimax存在多个值,所述随机取其中一个坐标作为最大面积坐标Sjimax的计算公式为:
Sjimax=random(min(abs((Sj-Kj)/2-H/...

【专利技术属性】
技术研发人员:郭大勇兰永张海龙
申请(专利权)人:上海通办信息服务有限公司
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1