一种模拟真实翻页效果的方法与装置
技术领域
本发明涉及图形显示技术领域,尤其涉及一种模拟真实翻页效果的方法与装置。
背景技术
手势设备上的阅读,是一种更加纯粹、更加放松的体验,更容易和传统的读书对应起来,而且阅读应用的界面也更加现实,这使得翻页效果成了一个为人期待的细节。当在阅读小说,欣赏相册,观看精彩的电影时,翻页效果非常好的模仿了现实世界。
现有技术通用的翻页效果特效对现实的模拟不够真实,曲线部分与页面边界的连接经常有断点,不够连续。在图片与视频的特效上,添加光影效果不方便,需要另外添加处理步骤。
发明内容
本发明实施例的目的在于提出一种模拟真实翻页效果的方法,旨在解决现有技术翻页效果特效对现实的模拟不够真实,曲线部分与页面边界的连接经常有断点,不够连续的问题。
本发明实施例是这样实现的,一种模拟真实翻页效果的方法,所述方法包括以下步骤,
获取当前页正面图像A1、当前页背面图像A1'、当前页下一页图像A2;同时获取抓取的当前页图像角点O,并获取翻页控制点P;以所述角点O为中心,图像A1的边界为轴建立坐标系,并计算控制点P的坐标P(x0,y0),其中,x0表示点P的横坐标;y0表示点P的纵坐标;
用第一直线和第二直线将图像A1分割为三个区域,第一直线为过P点且与OP垂直的直线,且第二直线为所翻页面的边线且所述边线与所述第一直线平行;
对第一直线左侧区域按第一方式赋值;
对第一直线与第二直线之间的区域按第二方式赋值;
对第二直线右侧区域按第三方式赋值;
输出最终图像B。
其中,
第一直线的方程为:
第二直线的方程为:
其中,x、y为方程式的变量;r表示第一直线和第二直线的距离。
其中,所述“对第一直线左侧区域按第一方式赋值”具体为:B(i,j)=A1(i,j)
其中,B(i,j)为最终图像B的(i,j)点处像素值,A1(i,j)为图像A1的(i,j)点处像素值;i表示像素点的横坐标;j表示像素点的纵坐标。
其中,所述“对第一直线与第二直线之间的区域按第二方式赋值”具体为:
计算(i,j)在当前页背面图像A1'中的对应点坐标(x1',y1'):
若x1'≥0且y1'≥0,
则令B(i,j)=k·A1'(x1',y1')
否则
计算(i,j)在当前页正面图像A1中的对应点坐标(x1,y1):
若x1≥0且y1≥0,
则令B(i,j)=k·A1(x1,y1)
否则
令B(i,j)=A2(i,j)
其中B(i,j)为最终图像B的(i,j)点处像素值,A1'(x1',y1')为当前页背面图像A1'的(x1',y1')点处像素值;A1(x1,y1)为当前页正面图像A1的(x1,y1)点处像素值,A2(i,j)为当前页下一页图像A2的(i,j)点处像素值;θ表示向量与x轴正方向的夹角,表示方向的单位向量;d0表示(i,j)点到第一直线的距离,d表示OP的距离,k表示与d相关的系数,值域为[0,1],用来校正翻页产生的光线渐变效果。
其中,所述“对第二直线右侧区域按第三方式赋值”具体为:
B(i,j)=A2(i,j)
其中B(i,j)为最终图像B的(i,j)点处像素值,A2(i,j)为当前页下一页图像A2的(i,j)点处像素值。
本发明实施例的另一目的在于提出一种模拟真实翻页效果的装置,所述装置包括:
图像及图像角点、控制点获取模块,用于获取当前页正面图像A1、当前页背面图像A1'、当前页下一页图像A2;同时获取抓取的当前页图像角点O,并获取翻页控制点P;
坐标系建立模块,用于以所述角点O为中心,图像A1的边界为轴建立坐标系;
控制点坐标计算模块,用于计算控制点P的坐标P(x0,y0);
图像分割模块,用于用第一直线和第二直线将图像A1分割为三个区域,第一直线为过P点且与OP垂直的直线,且第二直线为所翻页面的边线且所述边线与所述第一直线平行;
第一直线的方程为:
第二直线的方程为:
第一区域赋值模块,用于对第一直线左侧区域按第一方式赋值;
B(i,j)=A1(i,j)
其中,B(i,j)为最终图像B的(i,j)点处像素值,A1(i,j)为图像A1的(i,j)点处像素值;i表示像素点的横坐标;j表示像素点的纵坐标;
第二区域赋值模块,用于对第一直线与第二直线之间的区域按第二方式赋值;具体为:
计算(i,j)在当前页背面图像A1'中的对应点坐标(x1',y1'):
若x1'≥0且y1'≥0,
则令B(i,j)=k·A1'(x1',y1')
否则
计算(i,j)在当前页正面图像A1中的对应点坐标(x1,y1):
若x1≥0且y1≥0,
则令B(i,j)=k·A1(x1,y1)
否则
令B(i,j)=A2(i,j)
其中,B(i,j)为最终图像B的(i,j)点处像素值,A1'(x1',y1')为当前页背面图像A1'的(x1',y1')点处像素值;A1(x1,y1)为当前页正面图像A1的(x1,y1)点处像素值,A2(i,j)为当前页下一页图像A2的(i,j)点处像素值;θ表示向量与x轴正方向的夹角,表示方向的单位向量;d0表示(i,j)点到第一直线的距离,d表示OP的距离,k表示与d相关的系数,值域为[0,1],用来校正翻页产生的光线渐变效果;
第三区域赋值模块,用于对第二直线右侧区域按第三方式赋值;
B(i,j)=A2(i,j)
其中B(i,j)为最终图像B的(i,j)点处像素值,A2(i,j)为当前页下一页图像A2的(i,j)点处像素值;
最终图像输出模块,用于输出最终图像B。
本发明的有益效果
本发明以模拟真实翻页效果时,所翻起页面的卷角所在三维空间圆柱曲面为原型(假设翻页时,页面图像受力均匀),将所述卷角(在所述三维空间圆柱上的曲面)在二维平面上的投影来对翻页动作进行建模,所述卷角弯曲的边缘线实际上是所述三维空间的螺线对现实翻页模型的数学计算。本发明方法在图片处理和视频处理中添加光线效果,在视频处理中可实时实现,并曲线部分与页面边界的连接连续不易出现断点。
附图说明
图1是本发明优选实施例的一种模拟真实翻页效果的方法流程图;
图2是本发明优选实施例的建立坐标系后翻页模拟效果图;
图3是本发明优选实施例的一种模拟真实翻页效果的装置结构图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图和实施例,对本发明进行进一步详细说明,为了便于说明,仅示出了与本发明实施例相关的部分。应当理解,此处所描写的具体实施例,仅仅用于解释本发明,并不用以限制本发明。
本发明以模拟真实翻页效果时,所翻起页面的卷角所在三维空间圆柱曲面为原型(假设翻页时,页面图像受力均匀),将所述卷角(在所述三维空间圆柱上的曲面)在二维平面上的投影来对翻页动作进行建模,所述卷角弯曲的边缘线实际上是所述三维空间的螺线对现实翻页模型的数学计算。本发明方法在图片处理和视频处理中添加光线效果,在视频处理中可实时实现,并曲线部分与页面边界的连接连续不易出现断点。
实施例一
图1是本发明优选实施例的一种模拟真实翻页效果的方法流程图;所述方法包括以下步骤(如图2所示为建立坐标系后翻页模拟效果图):
S101,获取当前页正面图像A1、当前页背面图像A1'、当前页下一页图像A2;同时获取抓取的当前页图像角点O,并获取翻页控制点P;以所述角点O为中心,图像A1的边界为轴建立坐标系,并计算控制点P的坐标P(x0,y0);
其中,x0表示点P的横坐标;y0表示点P的纵坐标;图2中,模拟真实翻页效果时,假设翻页时,页面图像受力均匀,所翻起页面的卷角所在三维空间圆柱曲面为原型,将所述卷角(在所述三维空间圆柱上的曲面)在二维平面上的投影来对翻页动作进行建模;直线AB为所述圆柱的轴线,r表示圆柱的半径,即第一直线和第二直线的距离,所述卷角弯曲的边缘线实际上是所述三维空间的螺线对现实翻页模型的数学计算;
S102,用第一直线和第二直线将图像A1分割为三个区域,第一直线为过P点且与OP垂直的直线AB,且第二直线为所翻页面的边线且所述边线与所述第一直线平行;
第一直线的方程为:
第二直线的方程为:
其中,x,y为方程式的变量;
S103,对第一直线左侧区域按第一方式赋值;
B(i,j)=A1(i,j)
其中,B(i,j)为最终图像B的(i,j)点处像素值,A1(i,j)为图像A1的(i,j)点处
像素值;i表示像素点的横坐标;j表示像素点的纵坐标;
S104,对第一直线与第二直线之间的区域按第二方式赋值;具体为:
计算(i,j)在当前页背面图像A1'中的对应点坐标(x1',y1'):
若x1'≥0且y1'≥0,
则令B(i,j)=k·A1'(x1',y1')
否则
计算(i,j)在当前页正面图像A1中的对应点坐标(x1,y1):
若x1≥0且y1≥0,
则令B(i,j)=k·A1(x1,y1)
否则
令B(i,j)=A2(i,j)
其中B(i,j)为最终图像B的(i,j)点处像素值,A1'(x1',y1')为当前页背面图像A1'的(x1',y1')点处像素值;A1(x1,y1)为当前页正面图像A1的(x1,y1)点处像素值,A2(i,j)为当前页下一页图像A2的(i,j)点处像素值;θ表示向量与x轴正方向的夹角,表示方向的单位向量;d0表示(i,j)点到第一直线的距离,d表示OP的距离,k表示与d相关的系数,值域为[0,1],用来校正翻页产生的光线渐变效果。若A1'(x1',y1')和A1(x1,y1)中的x1',y1',x1,y1为非整数,则可采用插值计算,比如用临近插值,双线性插值,双三次插值。
S105,对第二直线右侧区域按第三方式赋值;
B(i,j)=A2(i,j)
其中B(i,j)为最终图像B的(i,j)点处像素值,A2(i,j)为当前页下一页图像A2的(i,j)点处像素值;
S106,输出最终图像B。
实施例二
图3是本发明优选实施例的一种模拟真实翻页效果的装置结构图。所述装置包括:
图像及图像角点、控制点获取模块,用于获取当前页正面图像A1、当前页背面图像A1'、当前页下一页图像A2;同时获取抓取的当前页图像角点O,并获取翻页控制点P;
坐标系建立模块,用于以所述角点O为中心,图像A1的边界为轴建立坐标系;
控制点坐标计算模块,用于计算控制点P的坐标P(x0,y0);
图像分割模块,用于用第一直线和第二直线将图像A1分割为三个区域,第一直线为过P点且与OP垂直的直线,且第二直线为所翻页面的边线且所述边线与所述第一直线平行;
第一直线的方程为:
第二直线的方程为:
第一区域赋值模块,用于对第一直线左侧区域按第一方式赋值;
B(i,j)=A1(i,j)
其中,B(i,j)为最终图像B的(i,j)点处像素值,A1(i,j)为图像A1的(i,j)点处像素值;i表示像素点的横坐标;j表示像素点的纵坐标;
第二区域赋值模块,用于对第一直线与第二直线之间的区域按第二方式赋值;具体为:
计算(i,j)在当前页背面图像A1'中的对应点坐标(x1',y1'):
若x1'≥0且y1'≥0,
则令B(i,j)=k·A1'(x1',y1')
否则
计算(i,j)在当前页正面图像A1中的对应点坐标(x1,y1):
若x1≥0且y1≥0,
则令B(i,j)=k·A1(x1,y1)
否则
令B(i,j)=A2(i,j)
其中,B(i,j)为最终图像B的(i,j)点处像素值,A1'(x1',y1')为当前页背面图像A1'的(x1',y1')点处像素值;A1(x1,y1)为当前页正面图像A1的(x1,y1)点处像素值,A2(i,j)为当前页下一页图像A2的(i,j)点处像素值;θ表示向量与x轴正方向的夹角,表示方向的单位向量;d0表示(i,j)点到第一直线的距离,d表示OP的距离,k表示与d相关的系数,值域为[0,1],用来校正翻页产生的光线渐变效果。
第三区域赋值模块,用于对第二直线右侧区域按第三方式赋值;
B(i,j)=A2(i,j)
其中B(i,j)为最终图像B的(i,j)点处像素值,A2(i,j)为当前页下一页图像A2的(i,j)点处像素值;
最终图像输出模块,用于输出最终图像B。
本领域的普通技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序指令相关硬件来完成的,所述的程序可以存储于一计算机可读取存储介质中,所述的存储介质可以为ROM、RAM、磁盘、光盘等。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。