发明内容
本发明所要解决的技术问题是:提供一种在对图像进行四边形框自动检测后进行目标框调整的方法。该方法在对用扫描仪或手机等图像处理设备所采集的图像进行四边形框自动检测并获取四个框顶点信息之后,提供一个方便快捷的调整方案,让使用者能够快速准确地调整目标框,以使调整后的目标框能够进行接下来的处理,最终得到使用者预期得到的结果图像或结果文本信息。
为解决上述技术问题,本发明采用如下技术方案:
一种调整图像四边形框检测结果的方法,所述方法包括如下步骤:
步骤110,获取图像数据和图像引擎进行目的框检测所得到的数据;
步骤120,以适合屏幕的大小显示图像,在图像上绘出当前检测所得四边形框的四条边;
步骤130,根据鼠标,触摸笔或手指点击的落点位置,计算出当前选定的供调整的顶点;
步骤140,对图像做放大和平滑移动操作;
步骤150,根据用户鼠标,触摸笔或手指的滑动动作,实时调整顶点的位置;
步骤160,判断用户是否打开框顶点自动吸附功能,如果答案为是,则当鼠标,触摸笔或手指松开后,自动调整当前顶点到附近最近的候选框顶点位置,转到步骤170;如果答案是否,则转到步骤170;
步骤170,对图像做缩小操作,以适合屏幕的大小显示图片,在图像上绘出调整后的四边形框;
步骤180,判断用户是否继续调整其他顶点,如果答案为是,转到步骤130;如果答案是否,则转到步骤190;
步骤190,结束。
所述步骤130包括如下步骤:
步骤310,获得点击落点在屏幕上的位置,分别计算落点到屏幕四个顶点的距离,取其中的最大值作为最大半径参数rmax,并初始化半径r为rmax/n,n为一设定的参数;
步骤320,以落点为圆心,以r为半径画圆;
步骤330,分别对四个顶点进行判断,判断每个顶点是否被包括进圆内;
步骤340,判断:是否没有顶点被包含,如果答案为是,更新r的值为(r+2*r)/2并转到步骤320,如果答案为否,转到步骤350;
步骤350,判断:是否只有一个顶点被包含,如果答案为是,转到370,如果答案为否,转到步骤360;
步骤360,更新r的值为(r+r/2)/2并转到步骤320;
步骤370,选定步骤350中被包含的顶点为调整点,并将该点变成垂直交叉的红色双向箭头,交叉点坐标即为顶点坐标;
步骤380,结束。
所述步骤140包括如下步骤:
步骤410,计算当前屏幕显示图像在原始图像基础上的缩小倍数n;
步骤420,判断:是否n大于α(α为合适的缩小倍数参数),如果答案为是,设置缩放参数m为α,如果答案为否,则转到步骤470;
步骤430,计算选中的调整顶点在原图中与图像中心点的距离,并除以(n-m)*β(β为合适的移动参数)作为距离参数distance保存;
步骤440,初始化参数s为1;
步骤450,按缩小倍数n-(s/((n-m)*β)),对原图进行缩放,并以调整顶点和原图中心点间线段上距离中心点为s*distance的点作为中心显示在屏幕上,超出屏幕的范围不显示;
步骤460,判断s的值,如果s小于(n-m)*β,对s进行加1操作,转到步骤450,否则转到步骤470;
步骤470,结束。
所述步骤150包括如下步骤:
步骤510,获取并记录当前调整顶点在屏幕上的坐标p;
步骤520,获取当前鼠标,触摸笔或手指接触点在屏幕上的坐标,并保存为坐标参数c;
步骤530,实时更新鼠标,触摸笔或手指接触点坐标u,并计算出坐标移动量u-c;
步骤540,更新调整点在屏幕上的坐标为p+(u-c),并重绘屏幕;
步骤550,结束。
所述步骤160包括如下步骤:
步骤610,检测到鼠标,触摸笔或手指松开;
步骤620,根据此时调整点在屏幕上的坐标,换算出调整点在原图中的坐标;
步骤630,计算坐标值与通过四边形检测引擎获得的所有候选框顶点的距离;
步骤640,寻找坐标值附近半径为δ内最近的候选顶点,δ为寻找半径系数;如果在半径δ的范围内没有候选框顶点,则自吸附失败;如果在半径δ的范围内存在候选顶点,则自吸附成功,并更新当前调整点坐标为半径δ的范围内距离当前调整点最近的候选顶点坐标;
步骤650,判断自吸附是否成功,如果答案为是,转到步骤660,如果答案为否,转到步骤670;
步骤660,按照调整后的目的框顶点位置重绘屏幕;
步骤670,结束。
本发明的有益效果在于:本发明提出的在对图像进行四边形框检测后调整检测得到的四边形框范围的方法,利用人机界面交互的技术,在通过图像引擎获取目的框之后,通过鼠标,触摸笔或手指在全屏幕范围内的点触,自动以最优化的方式快速选定调整顶点,依据调整顶点计算调整范围,并放大显示在屏幕可视范围之内,让用户在拖动顶点调整目的框的同时,可以实时监测目的框调整的结果,既让调整区域更加清晰增强调整精度,又使得调整点区域不致因为放大而超出屏幕显示范围。调整点自动吸附技术的引入,更加简化了用户的操作,让用户以最少的操作最快的达到自己想要的调整结果。
具体实施方式
下面结合附图详细说明本发明的优选实施例。
实施例一
本发明针对使用者在对图像进行四边形框检测处理后,对检测到的框进行调整的需要,提供一个可视化的界面,画出已检测出的四条边框,并通过使用者在整个屏幕范围通过鼠标,触摸笔或手指的接触点,自动计算并选中调整顶点,并对所显示图像进行放大和滑动显示操作,使用户选中调整的顶点区域清晰的显示在屏幕中央,让用户方便的进行滑动调整。本发明提供一个框顶点自吸附设置选项,使用户可以选择当调整顶点到目的框区域附近的范围时,抬起鼠标,触摸笔或手指,该顶点会自动选择并调整到附近最近的候选框顶点位置。
框顶点自吸附,作为本发明的组成部分,是指在四边形框检测引擎的帮助下,快速定位顶点位置的方法。四边形框检测引擎在对图像进行处理后,给出图像中多个候选框四个顶点的位置,本发明将这些候选框的顶点位置保存下来,当框顶点自吸附功能被打开时,用户只要粗略调整框顶点到接近其中一个候选顶点的范围,本发明的程序就会自动计算得到距离当前顶点最近的候选顶点,并将顶点位置调整到该候选顶点的位置上。
请参阅图3A,本发明揭示了一种调整图像四边形框检测结果的方法,所述方法包括如下步骤:
【步骤110】获取图像数据和图像引擎进行目的框检测所得到的数据。
【步骤120】以最适合屏幕的大小显示图像,在图像上绘出当前检测所得四边形框的四条边。
这里的“最适合屏幕的大小”指在屏幕上尽可能大地显示整个图像。
其中,自动检测所获得的目的框按照一定样式被绘制在图像相应位置上,例如图3(b):目的框区域为半透明蒙版,四个顶点上是十字锚点。
【步骤130】根据鼠标,触摸笔或手指点击的落点位置,计算出当前选定的供调整的顶点。
其中,根据点击位置判断哪个顶点被选中的算法见图4,具体步骤如下:
步骤310,获得点击落点在屏幕上的位置,分别计算落点到屏幕四个顶点的距离,取其中的最大值作为最大半径参数rmax,并初始化半径r为rmax/n,n为一适合的参数;
步骤320,以落点为圆心,以r为半径画圆;
步骤330,分别对四个顶点进行判断,判断每个顶点是否被包括进圆内;
步骤340,判断:是否没有顶点被包含,如果答案为是,更新r的值为(r+2*r)/2并转到步骤320,如果答案为否,转到步骤350;
步骤350,判断:是否只有一个顶点被包含,如果答案为是,转到370,如果答案为否,转到步骤360;
步骤360,更新r的值为(r+r/2)/2并转到步骤320;
步骤370,选定步骤350中被包含的顶点为调整点,并将该点变成垂直交叉的红色双向箭头,交叉点坐标即为顶点坐标;
步骤380,结束。
【步骤140】对图像做放大和平滑移动操作。
其中,图像的放大和平滑移动方案见图5,具体步骤如下:
步骤410,计算当前屏幕显示图像在原始图像基础上的缩小倍数n;
步骤420,判断:是否n大于α(α为合适的缩小倍数参数),如果答案为是,设置缩放参数m为α,如果答案为否,则转到步骤470;
步骤430,计算选中的调整顶点在原图中与图像中心点的距离,并除以(n-m)*β(β为合适的移动参数)作为参数distance保存;
步骤440,初始化参数s为1;
步骤450,按缩小倍数n-(s/((n-m)*β)),对原图进行缩放,并以调整顶点和原图中心点间线段上距离中心点为s*distance的点作为中心显示在屏幕上,超出屏幕的范围不显示;
步骤460,判断s的值,如果s小于(n-m)*β,对s进行加1操作,转到步骤450,否则转到步骤470;
步骤470,结束。
【步骤150】根据用户鼠标,触摸笔或手指的滑动动作,实时调整顶点的位置。
其中,根据鼠标,触摸笔或手指滑动调整顶点位置的方案见图6,具体步骤如下:
步骤510,获取并记录当前调整顶点在屏幕上的坐标p;
步骤520,获取当前鼠标,触摸笔或手指接触点在屏幕上的坐标,并保存为坐标参数c;
步骤530,实时更新鼠标,触摸笔或手指接触点坐标u,并计算出坐标移动量u-c;
步骤540,更新调整点在屏幕上的坐标为p+(u-c),并重绘屏幕;
步骤550,结束。
【步骤160】判断用户是否打开框顶点自动吸附功能,如果答案为是,则当鼠标,触摸笔或手指松开后,自动调整当前顶点到附近最近的候选框顶点位置;如果答案是否,则转到步骤170。
其中,在鼠标,触摸笔或手指松开后自动调整的方案见图7,具体步骤如下:
步骤610,检测到鼠标,触摸笔或手指松开;
步骤620,根据此时调整点在屏幕上的坐标,换算出调整点在原图中的坐标;
步骤630,计算坐标值与通过四边形检测引擎获得的所有候选框顶点的距离;
步骤640,寻找坐标值附近半径为δ内最近的候选顶点,δ为寻找半径系数;如果在半径δ的范围内没有候选框顶点,则自吸附失败;如果在半径δ的范围内存在候选顶点,则自吸附成功,并更新当前调整点坐标为半径δ的范围内距离当前调整点最近的候选顶点坐标;
步骤650,判断自吸附是否成功,如果答案为是,转到步骤660,如果答案为否,转到步骤670;
步骤660,按照调整后的目的框顶点位置重绘屏幕;
步骤670,结束。
【步骤170】对图像做缩小操作,以最适合屏幕的方式显示图片,在图像上绘出调整后的四边形框;转至步骤180。
【步骤180】判断用户是否继续调整其他顶点,如果答案为是,转到步骤130;如果答案是否,则转到步骤190。
【步骤190】结束。
此外,为了实行本发明,需具备如下硬件条件:
-需要有一般的运算和存储装置,包括一定频率的CPU(中央处理器),有一定用来运算的内存和用来存储系统软件,应用软件和各种数据的存储空间等。
-需要通过具备图像采集功能的设备得到图像数据,例如:手机拍摄或扫描仪扫描。因此需要此类设备。
-需要一个可接收和处理鼠标,触摸笔或手指点触信息的屏幕。
为了实行本发明,还需具备如下软件条件:
-需要对图像进行四边形框检测操作的图像处理引擎。
-图像处理引擎是指对图像进行特殊处理的程序,该程序能够对给入的图像数据做特定的处理操作,从而获取期望得到的信息。例如:四边形框检测引擎能够对给入的原始图像数据进行处理,并给出该图像中可能存在的四边形框范围。
综上所述,本发明提出的在对图像进行四边形框检测后调整检测得到的四边形框范围的方法,利用人机界面交互的技术,在通过图像引擎获取目的框之后,通过鼠标,触摸笔或手指在全屏幕范围内的点触,自动以最优化的方式快速选定调整顶点,依据调整顶点计算调整范围,并放大显示在屏幕可视范围之内,让用户在拖动顶点调整目的框的同时,可以实时监测目的框调整的结果,既让调整区域更加清晰增强调整精度,又使得调整点区域不致因为放大而超出屏幕显示范围。调整点自动吸附技术的引入,更加简化了用户的操作,让用户以最少的操作最快的达到自己想要的调整结果。
实施例二
本实施例与实施例一的区别在于,本实施例中,所述步骤130包括如下步骤:
步骤310′,获得点击落点在屏幕上的位置,分别计算落点到屏幕四个顶点的距离,取其中的最大值作为最大半径参数rmax,并初始化半径r为rmax/n,n为一设定的参数;
步骤320′,以落点为圆心,以r为半径画圆;
步骤330′,分别对四个顶点进行判断,判断每个顶点是否被包括进圆内;
步骤340′,判断:是否没有顶点被包含,如果答案为是,按照设定法则增大r的值(如实施例一中提到的法则,当然,本领域的技术人员很容易想到类似的其他法则),并转到步骤320,如果答案为否,转到步骤350;
步骤350′,判断:是否只有一个顶点被包含,如果答案为是,转到370,如果答案为否,转到步骤360;
步骤360′,按照设定法则减小r的值(如实施例一中提到的法则,当然,本领域的技术人员很容易想到类似的其他法则),并转到步骤320;
步骤370′,选定步骤350中被包含的顶点为调整点,并将该点变成垂直交叉的红色双向箭头,交叉点坐标即为顶点坐标;
步骤380′,结束。
这里本发明的描述和应用是说明性的,并非想将本发明的范围限制在上述实施例中。这里所披露的实施例的变形和改变是可能的,对于那些本领域的普通技术人员来说实施例的替换和等效的各种部件是公知的。本领域技术人员应该清楚的是,在不脱离本发明的精神或本质特征的情况下,本发明可以以其它形式、结构、布置、比例,以及用其它组件、材料和部件来实现。在不脱离本发明范围和精神的情况下,可以对这里所披露的实施例进行其它变形和改变。