[发明专利]一种基于运动几何量约束的视频稳像裁剪控制方法有效
申请号: | 201610545693.1 | 申请日: | 2016-07-12 |
公开(公告)号: | CN106204458B | 公开(公告)日: | 2019-04-23 |
发明(设计)人: | 张磊;黄华;孔馨仪;徐欣廷;刘云飞;何冲冲;魏晓翔 | 申请(专利权)人: | 北京理工大学 |
主分类号: | G06T3/60 | 分类号: | G06T3/60;G06T3/40 |
代理公司: | 北京理工正阳知识产权代理事务所(普通合伙) 11639 | 代理人: | 唐华 |
地址: | 100081 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 一种基于运动几何量约束的视频稳像裁剪控制方法所依托的系统包括预处理模块、判断模块、计算模块以及输出模块;一种基于运动几何量约束的视频稳像裁剪控制方法,包括:1预处理模块计算出视频帧和裁剪窗口顶点坐标;2判断模块判断视频帧经旋转平移变化后是否包含裁剪窗口,并根据结果判断继续执行步骤三还是跳至7.1;3最大平移向量计算单元计算最大平移向量;4计算模块平移裁剪窗口;5最优旋转角度计算单元分别计算视频帧的四条边能旋转的最大角度;6最优旋转角度计算单元计算视频帧能旋转的最优旋转角度;7.1输出布尔值TRUE,结束本方法;7.2输出布尔值FALSE,输出3的最大平移向量和6的最优旋转角度,结束本方法。 | ||
搜索关键词: | 一种 基于 运动 几何 约束 视频 裁剪 控制 方法 | ||
【主权项】:
1.一种基于运动几何量约束的视频稳像裁剪控制方法,其特征在于:所依托的系统包括预处理模块、判断模块、计算模块以及输出模块;其中,预处理模块的输出为计算模块的输入;计算模块包含最大平移向量计算单元和最优旋转角度计算单元;本系统各模块的功能如下:预处理模块:将视频帧和裁剪窗口的位置关系形式化,具体为:将视频帧和裁剪窗口的位置关系形式化成坐标关系;判断模块:判断旋转角度和原平移向量是否满足视频帧旋转和平移后仍包含裁剪窗口的条件,具体为以预处理模块得到的数据作为输入,对裁剪窗口进行选择平移变换,最后判断视频帧是否包含变换后的裁剪窗口,判断模块的输出结果决定是否需要计算模块;计算模块:计算出最大平移向量和最优旋转角度;输出模块:输出布尔值;本系统各模块的连接关系如下:预处理模块与判断模块相连;预处理模块与计算模块相连;判断模块与计算模块相连;判断模块与输出模块相连;计算模块与输出模块相连;所述视频稳像裁剪控制方法,具体步骤如下:步骤一、预处理模块计算出视频帧和裁剪窗口顶点坐标,具体为:步骤1.1将裁剪百分比、视频帧的长和宽、旋转中心、原平移向量以及旋转角度输入预处理模块;其中,原平移向量记为V,其坐标记为(xv,yv),xv为V的横坐标,yv为V的纵坐标;旋转角度,记为α;本系统中所有向量所在的坐标系为图像坐标系;裁剪百分比,记为r,视频帧的长,记为w,视频帧的宽,记为h;步骤1.2预处理模块把视频帧和裁剪窗口形式化为两个中心重合的相似矩形;步骤1.3根据裁剪百分比计算出视频帧和裁剪窗口之间的横向边距和纵向边距;其中,横向边距,记为dx,纵向边距,记为dy,二者通过以下公式(1)计算得出:
步骤1.4分别给视频帧和裁剪窗口的顶点赋值;其中,所述视频帧具有4个顶点,此4个顶点坐标从左上角按逆时针顺序分别为:A(0,0)、B(0,h)、C(w,h)和D(w,0);裁剪窗口也具有4个顶点,此4个顶点坐标从左上角按逆时针顺序分别为:A'(dx,dy)、B'(dx,h‑dy)、C'(w‑dx,h‑dy)和D'(w‑dx,dy);其中,所述的视频帧顶点A和D组成视频帧的AD边;顶点C和D组成视频帧的DC边;顶点C和B组成视频帧的CB边;视频帧顶点B和A组成视频帧的BA边;记
为裁剪窗口顶点的横坐标,
为裁剪窗口顶点的纵坐标;其中,i的变化范围是1到4,且:![]()
步骤二、判断模块判断视频帧经旋转平移变化后是否包含裁剪窗口,并根据结果判断继续执行步骤三还是跳至7.1,具体为:具体为:步骤2.1判断模块将裁剪窗口绕旋转中心反向旋转与步骤1.1中旋转角相同的角度;其中,反向旋转的角度为‑α;所述的旋转中心,记为P,其坐标记为(x,y),x为横坐标,y为纵坐标;旋转后的裁剪窗口顶点的横坐标和纵坐标通过如下公式(2)计算得到:
其中,旋转后的裁剪窗口顶点横坐标记为
纵坐标记为
sin为正弦运算;cos为余弦运算;*为数值乘法;步骤2.2将原平移向量反向旋转步骤1.1中旋转角度相同的角度,得到对应的平移向量;其中,将原平移向量反向旋转的角度为‑α;记原平移向量反方向旋转后的向量为V',其坐标为(x'v,y'v),x'v是横坐标;y'v是纵坐标,向量V'的坐标通过如下公式(3)计算得到:
步骤2.3将步骤2.1输出的旋转后裁剪窗口顶点横坐标和纵坐标分别减去步骤2.2输出的对原平移向量进行旋转后的横坐标和纵坐标,得出裁剪窗口旋转平移后顶点坐标
具体通过如下公式(4)计算得出;
步骤2.4将步骤2.1和步骤2.2的输出带入步骤2.3的输出,得到裁剪窗口旋转平移后顶点坐标,具体为公式(5):
其中,i的范围为1到4;步骤2.5判断步骤2.4输出的裁剪窗口旋转平移后顶点坐标是否落在视频帧内,然后做相应操作,具体为:2.51若满足
和
即8个坐标值均落在视频帧内,则说明步骤1.1中的旋转角度以及原平移向量V满足视频帧旋转和平移后仍包含裁剪窗口的条件,跳至7.1;2.52若不能同时满足
和
即8个坐标值未完全落在视频帧内,跳至步骤三;步骤三、最大平移向量计算单元计算最大平移向量,具体为:判断横向边距和纵向边距是否大于原平移向量绝对值,并进行相关操作,包括如下内容:3.1若横向边距和纵向边距均大于原平移向量绝对值,即同时满足dx>|xv|和dy>|yv|,则不更新原平移向量的横坐标及纵坐标,原平移向量的横坐标和纵坐标即为最大平移向量的横坐标及纵坐标,跳至步骤四;3.2若横向边距和纵向边距不同时大于原平移向量绝对值,即不同时满足dx>|xv|和dy>|yv|,则进行如下操作:步骤3.21根据如下公式(6)计算出X轴方向和Y轴方向的最大平移比例:
其中,X轴方向和Y轴方向的最大平移比例分别记为Rx和Ry;步骤3.22根据Rx和Ry的大小关系,计算并更新原平移向量的横坐标及纵坐标,也称为最大平移向量,具体分为如下3种情况:3.221如果Rx<Ry且dx<|xv|,则最大平移向量的横坐标及纵坐标为如下公式(7)和(8)所示:
yv=Rx*yv (8)3.222如果Rx≥Ry且dy<|yv|,则最大平移向量的横坐标及纵坐标为如下公式(9)和(10)所示:xv=Ry*xv (9)
3.223如果不满足“Rx<Ry且dx<|xv|”和“Rx≥Ry且dy<|yv|”,则不更新原平移向量的横坐标及纵坐标,原平移向量的横坐标和纵坐标即为最大平移向量的横坐标及纵坐标,跳至步骤四;步骤四、计算模块平移裁剪窗口,具体为:将裁剪窗口顶点坐标减去据步骤3.22输出的最大平移向量,得到裁剪窗口4个顶点平移后的坐标,如下公式(11)所示:
其中,平移后的裁剪窗口顶点横坐标记为
纵坐标记为
i的范围为1到4;
为更新后裁剪窗口顶点的A'坐标,
为更新后裁剪窗口顶点B'的坐标,
为更新后裁剪窗口顶点C'的坐标,
为更新后裁剪窗口顶点D'的坐标;步骤五、最优旋转角度计算单元分别计算视频帧的四条边能旋转的最大角度,具体为:步骤5.1最优旋转角度计算单元给点D、点A'、点D'以及点P赋新的坐标值,具体如下:对应于步骤1.4的视频帧的4条边,对应的点D、点A'、点D'以及点P赋的坐标值分别为:(1)对于AD边,点D、点A'、点D'以及点P分别被赋坐标值为:D(w,0)、![]()
以及P(x,y);(2)对于DC边,点D、点A'、点D'以及点P分别被赋坐标值为:D(h,0)、![]()
以及P(y,w‑x);(3)对于CB边,点D、点A'、点D'以及点P分别被赋坐标值为:D(w,0)、![]()
以及P(w‑x,h‑y);(4)对于BA边,点D、点A'、点D'以及点P分别被赋坐标值为:D(h,0)、![]()
以及P(h‑y,x);步骤5.2步骤5.1对应视频帧的AD边、DC边、CB边和BA边得到的点D、点A'、点D'以及点P的坐标作为此步骤的输入,根据旋转角度与0的关系,分别计算对应于此4条边的最大旋转角度,具体如下:5.2A若α<0且旋转中心P横坐标小于A'的横坐标,,则视频帧的边的最大旋转角度为180°;5.2B若同时满足α<0、旋转中心P横坐标大于等于A'的横坐标且旋转中心P到边AD的距离大于等于旋转中心P到点A'的距离;则视频帧的边最大旋转角度为180°;5.2C若同时满足α<0、旋转中心P横坐标大于等于A'的横坐标且旋转中心P到边AD的距离小于旋转中心P到点A'的距离;则:AD旋转轨迹上存在两个切点,点A'分别与这两点的连线为AD旋转轨迹的切线,求这两个切点,并根据切点坐标求出最大旋转角,具体为:求AD旋转轨迹上两个切点,可以表示为如下式(12):
其中,(m‑xP)2+(n‑yP)2=yP2为边AD旋转轨迹,此处记步骤5.1输出A'点坐标为(x1,y1),记步骤5.1输出P点坐标为(xP,yP),所得的切点坐标有两个,即:m={m1,m2}和n={n1,n2},两个坐标值分别记为:(m1,n1)和(m2,n2),其中,n1和n2两者间较小的值对应的坐标值为所需要的切点坐标,记此点为M,∠MA'D'即为最大旋转角,此最大旋转角度∠MA'D'的度数,如下式(13)所示:∠MA'D'=arccos(A'M·A'D'/(|A'M|*|A'D'|)) (13)其中,arccos为反余弦运算,A'M·A'D'为向量A'M和向量A'D'的数量积,·为点积运算符,|A'M|和|A'D'|为向量A'M和向量A'D'的模,*为数值乘法;5.2D若旋转角度α≥0且旋转中心P横坐标大于D'横坐标,则视频帧的边的最大旋转角度为180°;5.2E若同时满足旋转角度α≥0、旋转中心P横坐标小于等于D'的横坐标且旋转中心P到边AD的距离大于等于旋转中心P到点D'的距离,则最大旋转角度为180°;5.2F若同时满足旋转角度α≥0、旋转中心P横坐标小于等于D'的横坐标且旋转中心P到边AD的距离小于旋转中心P到点D'的距离,则:AD旋转轨迹上存在两个切点,点D'分别与这两点的连线为AD旋转轨迹的切线,求这两个切点,并根据切点坐标求出最大旋转角,具体为:求AD旋转轨迹上两个切点,可以表示为如下式(14):
其中,(m‑xP)2+(n‑yP)2=yP2为边AD旋转轨迹,此处记步骤5.1输出的点D'坐标为(x4,y4),所得的切点坐标有两个,即:m={mA,mB}和n={nA,nB},两个坐标值分别记为:(mA,nA)和(mB,nB),其中,nA和nB两者间较小的值对应的坐标值为所需要的切点坐标,记此点为M',∠M'D'A'为所求最大旋转角,此最大旋转角度∠M'D'A'的度数,如下式(15)所示:∠M'D'A'=arccos(D'M'·D'A'/(|D'M'|*|D'A'|)) (15)其中,D'M'·D'A'为向量D'M'和向量D'A'的数量积,|D'M'|和|D'A'|为向量D'M'和向量D'A'的模;步骤六、最优旋转角度计算单元计算视频帧能旋转的最优旋转角度,具体为:6.1A旋转角度α<0时,取步骤五输出的视频帧4条边的最大旋转角度及α中的最大值作为视频帧能旋转的最优旋转角度,跳至7.2;6.1B旋转角度α≥0时,取步骤五输出的视频帧4条边的最大旋转角度及α中的最小值作为视频帧能旋转的最优旋转角度,跳至7.2;步骤七、根据步骤三及步骤六的计算结果,输出布尔值,结束本方法,具体为:7.1输出布尔值TRUE,结束本方法;7.2输出布尔值FALSE,输出步骤三的最大平移向量和步骤六的最优旋转角度,结束本方法。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京理工大学,未经北京理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201610545693.1/,转载请声明来源钻瓜专利网。