CN106385550A - 一种截取屏幕图像的方法和终端 - Google Patents
一种截取屏幕图像的方法和终端 Download PDFInfo
- Publication number
- CN106385550A CN106385550A CN201610805041.7A CN201610805041A CN106385550A CN 106385550 A CN106385550 A CN 106385550A CN 201610805041 A CN201610805041 A CN 201610805041A CN 106385550 A CN106385550 A CN 106385550A
- Authority
- CN
- China
- Prior art keywords
- row
- image
- pixel
- frame image
- value
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/44—Receiver circuitry for the reception of television signals according to analogue transmission standards
- H04N5/4448—Receiver circuitry for the reception of television signals according to analogue transmission standards for frame-grabbing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/222—Studio circuitry; Studio devices; Studio equipment
- H04N5/262—Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects
- H04N5/265—Mixing
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Controls And Circuits For Display Device (AREA)
Abstract
本发明公开了一种截取屏幕图像的方法和终端,用以解决现有技术中存在的针对截取整个页面的截屏的方法操作繁琐,不方便的问题。本发明实施例终端在接收到截屏操作指令后,以图像形式保存屏幕当前显示的内容,终端每次以设定的距离滑动显示的内容直到满足停止截屏条件,并在每次滑动后以图像形式保存屏幕当前显示的内容;将保存的图像进行合成处理,通过本发明实施例的方式终端可以截取整个页面,不需要用户进行多次截屏操作,由终端自动完成整个操作过程,最终将截取的图像合成处理,操作简单,方便,提高了截屏操作的功能性。
Description
技术领域
本发明涉及图像处理技术领域,特别涉及一种截取屏幕图像的方法和终端。
背景技术
截屏技术是一种截取图片或文字以获得其中包含知识的一种计算机技术。通过这种技术可以从网页截取用户感兴趣的文字、图片保存起来供用户使用,是一种较为便捷的学习、理解知识的方法。
随着终端功能的扩展,现在手机,电脑,平板等智能终端都可以实现截屏操作,以图像的形式保存当前屏幕显示的内容,同时一些软件及手机应用也提供了本身特有的截屏的组合按键方式,或者截屏触发手势。而现有截屏方案中,用户只能针对屏幕当前显示的内容进行操作,如果想要保存屏幕未显示的内容,就需要滑动屏幕,使屏幕停在需要保存的内容上,再进行截屏操作,当需要保存整个网页的内容时,只能采用边滑屏边截屏的方式进行操作,采用这种方式进行截屏,截取的多张图像中不可避免的会出现重合的部分,使得在之后观看截取的图像时也造成了不便,且整个操作过程耗时繁琐。
综上,现有的针对截取整个页面的截屏的方法操作繁琐,不方便。
发明内容
本发明提供一种截取屏幕图像的方法和终端,用以解决现有技术中存在的针对截取整个页面的截屏的方法操作繁琐,不方便的问题。
本发明实施例提供一种截取屏幕图像的方法,该方法包括:
终端在接收到截屏操作指令后,以图像形式保存屏幕当前显示的内容;
所述终端每次以设定的距离滑动显示的内容直到满足停止截屏条件,并在每次滑动后以图像形式保存屏幕当前显示的内容;
所述终端将保存的图像进行合成处理。
本发明实施例提供一种截取屏幕图像的终端,该终端包括:
截屏模块,用于在接收到截屏操作指令后,以图像形式保存屏幕当前显示的内容;
处理模块,用于每次以设定的距离滑动显示的内容直到满足停止截屏条件,并在每次滑动后以图像形式保存屏幕当前显示的内容;
合成模块,用于将保存的图像进行合成处理。
本发明实施例终端在接收到截屏操作指令后,以图像形式保存屏幕当前显示的内容,终端每次以设定的距离滑动显示的内容直到满足停止截屏条件,并在每次滑动后以图像形式保存屏幕当前显示的内容;将保存的图像进行合成处理,通过本发明实施例的方式终端可以截取整个页面,不需要用户进行多次截屏操作,由终端自动完成整个操作过程,最终将截取的图像合成处理,操作简单,方便,提高了截屏操作的功能性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例截取屏幕图像的方法的流程示意图;
图2为本实施例确定顶部公共区域的方法的流程示意图;
图3为本实施例确定底部公共区域的方法的流程示意图;
图4为本实施例连续两帧图像在整个页面中显示的内容范围示意图;
图5a为本实施例确定重合区域的方法中前一帧图像的示意图;
图5b为本实施例确定重合区域的方法中后一帧图像的示意图;
图6为本实施例连续两帧图像在整个页面中显示的内容范围示意图;
图7a为本实施例确定重合区域的方法中前一帧图像的示意图;
图7b为本实施例确定重合区域的方法中后一帧图像的示意图;
图8为本发明实施例截取屏幕图像的过程的流程示意图;
图9为本发明实施例多帧图像合成的流程示意图;
图10为本发明实施例确定顶部公共区域和底部公共区域的流程示意图;
图11为本发明实施例像素差异矩阵各行对应数值之和曲线示意图;
图12为本发明实施例连续两帧图像的各行像素点的像素值之和曲线示意图;
图13为本发明实施例连续两帧图像的平均差异累积值的曲线示意图;
图14为本发明实施例截取屏幕图像的终端的结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
如图1所示,本发明实施例截取屏幕图像的方法,该方法包括:
步骤101:终端在接收到截屏操作指令后,以图像形式保存屏幕当前显示的内容;
步骤102:终端每次以设定的距离滑动显示的内容直到满足停止截屏条件,并在每次滑动后以图像形式保存屏幕当前显示的内容;
步骤103:终端将保存的图像进行合成处理。
本发明实施例终端在接收到截屏操作指令后,以图像形式保存屏幕当前显示的内容,终端每次以设定的距离滑动显示的内容直到满足停止截屏条件,并在每次滑动后以图像形式保存屏幕当前显示的内容;将保存的图像进行合成处理,通过本发明实施例的方式终端可以截取整个页面,不需要用户进行多次截屏操作,由终端自动完成整个操作过程,最终将截取的图像合成处理,操作简单,方便,提高了截屏操作的功能性。
终端可以提供两种截屏方式,一种是现有方式只截取当前显示内容,一种是本发明实施例的方式;
在实施中,在终端收到用户需要进行截屏的指令后,可弹出显示框,由用户选择采用现有方式还是本发明实施例的方式进行截屏。
其中,终端可以采用多种方式触发截屏操作指令,例如采用组合按键的方式触发,手势触发,页面中菜单选项的方式触发,凡是可以触发截屏操作指令的方式均适用于本发明实施例。
终端在确定接收到截屏操作指令后,确定当前屏幕显示的内容是否处于显示页面的顶部或者底部,如果不是则自动将屏幕显示的内容切换至显示页面的顶部或者显示页面的底部,由显示页面顶部或者显示页面的底部开始截取;也可以在确定当前屏幕显示的内容不处于当前页面的顶部或者底部后,提醒用户选择开始截屏的位置。
如果是用户选择开始截屏的位置,还可以在终端收到用户需要进行截屏的指令,且用户选择采用本发明实施例的方式进行截屏后,再弹出显示框,里面有多种截屏方式由用户选择采用哪种。
其中,终端控制滑动显示内容的方式包含但不限于以下情况:
如果是从显示页面的顶部开始截取,此时屏幕显示的内容切换至显示页面的顶部,所述终端控制向上滑动显示内容;
如果是从显示页面的底部开始截取,此时屏幕显示的内容切换至显示页面的底部,所述终端控制向下滑动显示内容;
如果是只截取当前显示内容至显示页面的顶部的内容,此时所述终端控制向下滑动显示内容,或者屏幕显示的内容切换至显示页面的顶部,所述终端控制向上滑动显示内容;
如果是只截取当前显示内容至显示页面的底部的内容,此时所述终端控制向上滑动显示内容,或者屏幕显示的内容切换至显示页面的底部,所述终端控制向下滑动显示内容。
步骤102中,终端以设定的距离滑动显示内容。
其中,设定的距离为根据终端的性能和屏幕显示内容的尺寸来确定的,如可以选择屏幕显示内容长度的四分之一为设定距离,或可以选择屏幕显示内容长度的二分之一为设定距离。
可选的,由于终端每次滑动显示内容到指定位置存在一定的时延,所以本发明实施例可以设置一个延时时间。
当所述终端每次以设定的距离滑动显示的内容后,所述终端在一定的延时时间后以图像形式保存屏幕当前显示的内容;
延时时间是根据终端的性能以及终端中应用的实现方式来确定的,例如,可以根据终端从接收到用户的截屏指令到控制屏幕显示内容以设定的距离滑动的处理时间以及终端中浏览页面的应用在接收用户的截屏操作后对滑屏处理的方式来确定延时时间。
需要说明的是,上述处理时间和应用对滑屏的处理的方式仅是终端的性能以及终端中应用的实现方式的举例说明,其中凡是可以确定延时时间的方式均适用于本发明实施例。
在实施中,终端在一定的延时时间后以图像形式保存屏幕当前显示的内容可以保证终端处理滑动屏幕所需要的时间,也即保证终端在滑动到指定位置后才开始对屏幕当前显示的内容进行保存。
可选的,以本发明实施例的停止截屏条件包含但不限于下列条件中的部分或全部:
条件一、保存的图像数目达到最大截取图像数。
其中,最大截取图像数是根据终端处理图像的能力及终端的存储能力确定的。例如,终端可以根据终端中处理器对截取屏幕图像的速度和最大处理图像数目,以及终端中所能保存的图像数目确定最大截取图像数。每次终端在保存当前屏幕显示的内容后均需要判断,累积保存的图像数目是否达到最大截取图像数,如未达到,则继续截取图像,如果达到,则将保存的全部图像进行合成处理。
这里累积保存的图像数目是接收到一个截屏操作指令后开始统计的。在下次再接收到一个截屏操作指令后可以重新进行统计。
条件二、当前截取的图像与上一次截取的图像相同;
当前截取的图像与上一次截取的图像相同说明终端以设定的距离滑动显示内容,此时已经滑动到指定的最后位置处,也即滑动到页面的最底部或者最顶部,终端在滑动到页面的最底部或者最顶部时,终端截取当前显示内容,当再以设定的距离滑动显示内容时,由于已经到达页面最底部和最顶部,无法进行相应距离的滑动,当前的显示内容只能停留在页面的最底部或者最顶部,此时终端截取的显示内容只能与上一次截取的图像相同,所以在当前截取的图像与上一次截取的图像相同时停止截屏操作。
其中,所述终端可以采用如下方式判断当前截取的图像是否与上一次截取的图像相同:
所述终端确定当前截取图像和上一次截取图像对应的像素矩阵;
其中,所述终端将当前截取图像和上一次截取图像转化为对应的灰度图像,根据灰度图像确定在确定当前截取图像和上一次截取图像对应的像素矩阵,像素矩阵中的各个元素的值为图像在对应像素点上的图像的灰度值。
所述终端通过当前截取图像和上一次截取图像对应的像素矩阵的差确定当前截取图像和上一次截取图像对应的像素差异矩阵;
所在终端将像素差异矩阵中各元素进行求和得到当前截取图像和上一次截取图像的差异值;
所述终端确定当前截取图像和上一次截取图像的差异值与差异阈值的大小关系;
若当前截取图像和上一次截取图像的差异值不大于差异阈值,说明当前截取图像和上一次截取图像之间的差异很小,则当前截取图像和上一次截取图像相同,终端删除当前截取图像,并将之前保存的图像进行合成处理;
若当前截取图像和上一次截取图像的差异值大于差异阈值,说明当前截取图像和上一次截取图像之间的差异较大,则当前截取图像和上一次截取图像不同,终端继续以设定的距离滑动显示的内容。
可选的,由于在整个截屏操作中,每帧截取的图像包含了顶部的公共区域,底部公共区域,以及与前后两帧截取的图像的重合部分,如果直接将截取的图像合成为一帧图像,存在较多的重复的部分,数据内容重复太多,且不连续,所以还需要去掉重复的顶部公共区域,底部公共区域以及重合区域。
具体的,当所述终端将保存的图像进行合成处理时,所述终端确定保存的每帧图像的顶部公共区域、底部公共区域和重合区域;
所述终端保留第一帧图像的顶部公共区域和最后一帧图像的底部公共区域,将其余的保存的多帧图像中的顶部公共区域和底部公共区域去除,以及保留重合区域相同的图像中一帧图像的重合区域,删除重合区域相同的图像中其他帧图像的重合区域;
所述终端将处理后的多帧图像合成处理成一帧图像。
其中,所述终端通过如下方式确定保存的每帧图像的顶部公共区域:
所述终端从保存的图像中选取任意两帧图像,将任意两帧图像对应的像素矩阵的差作为所述任意两帧图像的第一像素差异矩阵;
所述终端根据所述第一像素差异矩阵和第一阈值进行比较,若第一像素差异矩阵的前A行中每行数值之和小于第一阈值,且从上到下第A+1行数值之和不小于第一阈值,则将每帧图像中的前A行像素组成的区域作为顶部公共区域,其中A为正整数。
第一像素差异矩阵的前A行中每行数值之和小于第一阈值,说明任意两帧图像前A行的区域差别较小;
从上到下第A+1行数值之和不小于第一阈值,说明任意两帧图像第A+1行存在较大的差别。
在判断第一像素差异矩阵的前A行中每行数值之和小于第一阈值的基础上,确定第A+1行数值之和不小于第一阈值,说明任意两帧图像前A行的区域是相同的,属于顶部公共区域,而第A+1行的区域不属于顶部公共区域,由第A+1行的区域不属于顶部公共区域,进而可以判断第A+1行之后的区域也不属于顶部公共区域,由此确定出顶部公共区域为图像中前A行组成的区域。
其中,第一阈值是一个较小的数值,是表征图像中针对于顶部区域各行差异的标准值,根据终端显示图像的方式以及仿真所确定的一个经验值。
如图2所示以截取的图像包含有十行像素点,且截取的图像前2行像素点组成的区域为顶部公共区域为例,介绍确定顶部公共区域的方法;
所述终端从保存的图像中选取任意两帧图像;
所述终端确定任意两帧图像对应的两个像素矩阵P1和P2;
所说终端将两个像素矩阵做差值计算得到对应的像素差异矩阵P=P1-P2;
其中,像素差异矩阵上各个元素对应的是两个图像中对应像素点的像素值的差值;
所述终端从像素差异矩阵的第一行开始计算各行数值之和,假设像素差异矩阵第一行第一个数值为P(1,1),第一行第二个数值为P(2,1),第一行第三个数值为P(3,1),第一行第四个数值为P(4,1),第一行第五个数值为P(5,1);
例如,像素差异矩阵第1行数值之和为P(1)的计算公式如下:P(1)=P(1,1)+P(2,1)+P(3,1)+P(4,1)+P(5,1);
像素差异矩阵第2行数值之和为P(2)的计算公式如下:P(2)=P(1,2)+P(2,2)+P(3,2)+P(4,2)+P(5,2);
像素差异矩阵第3行数值之和为P(3)的计算公式如下:P(3)=P(1,3)+P(2,3)+P(3,3)+P(4,3)+P(5,3);
所述终端在确定了P(1)之后于第一阈值进行比较,由于两个图像的前两行对应的区域为顶部公共区域,故两个图像对应的像素矩阵上前两行的数值相近,做差值后,对应像素差异矩阵上的数值是一个接近于零的值,而像素矩阵上对应的该行数值之和也是一个接近于零的值,故P(1)一定小于第一阈值;
在所述终端确定P(1)小于第一阈值后,终端确定P(2)并与第一阈值进行比较,同理P(2)小于第一阈值;
在所述终端确定P(2)小于第一阈值后,终端确定P(3)并与第一阈值进行比较,由于第三行区域不属于顶部公共区域,故两个图像对应的像素矩阵上前两行的数值不相近,做差值后,对应像素差异矩阵上的数值不是一个接近于零的值,而像素矩阵上对应的该行数值之和不接近于零,故P(3)一定不小于第一阈值;
当所述终端在确定P(3)不小于第一阈值后,则将每帧图像中的前2行像素组成的区域作为顶部公共区域。
在实际计算中,为了保证结果的准确中,所述终端可以对多组图像进行确定顶部公共区域的操作。
其中,所述终端通过如下方式确定保存的每帧图像中的底部公共区域:
所述终端从保存的图像中选取任意两帧图像,将任意两帧图像对应的像素矩阵的差作为所述任意两帧图像的第二像素差异矩阵;
所述终端根据所述第二像素差异矩阵和第二阈值进行比较,若第二像素差异矩阵的后B行中每行数值之和小于第二阈值,说明任意两帧图像后B行的区域差别较小,且从下到上第B+1行数值之和不小于第二阈值,说明任意两帧图像第B+1行的区域存在较大的差别,为不同的区域,则将每帧图像中的前B行像素组成的区域作为底部公共区域,其中B为正整数。
第二像素差异矩阵的前B行中每行数值之和小于第二阈值,说明任意两帧图像前B行的区域差别较小;
从下到上第B+1行数值之和不小于第二阈值,说明任意两帧图像第B+1行存在较大的差别。
在判断第二像素差异矩阵的后B行中每行数值之和小于第二阈值的基础上,确定从下到上第B+1行数值之和不小于第一阈值,说明任意两帧图像后B行的区域是相同的,属于底部公共区域,而第B+1行的区域不属于底部公共区域,由第B+1行的区域不属于底部公共区域,进而可以判断第B+1行之后的区域也不属于底部公共区域,由此确定出底部公共区域为图像中前B行组成的区域。
其中,第二阈值是一个较小的数值,是表征图像中底部区域各行差异的标准值,是根据终端显示图像的方式以及仿真所确定的一个经验值。
如图3所示以截取的图像包含有十行像素点,且截取的图像后2行像素点组成的区域为底部公共区域为例,介绍确定底部公共区域的方法;
所述终端从保存的图像中选取任意两帧图像;
所述终端确定任意两帧图像对应的两个像素矩阵Q1和Q2;
所说终端将两个像素矩阵做差值计算得到对应的像素差异矩阵Q=Q1-Q2;
其中,像素差异矩阵上各个元素对应的是两个图像中对应像素点的像素值的差值;
所述终端从像素差异矩阵的最后一行开始计算各行数值之和,假设像素差异矩阵第十行第一个数值为Q(1,10),第十行第二个数值为Q(2,10),第十行第三个数值为Q(3,10),第十行第四个数值为Q(4,10),第十行第五个数值为Q(5,10);
例如,像素差异矩阵第10行数值之和为Q(10)的计算公式如下:Q(1)=Q(1,10)+Q(2,10)+Q(3,10)+Q(4,10)+Q(5,10);
像素差异矩阵第9行数值之和为Q(9)的计算公式如下:Q(2)=Q(1,9)+Q(2,9)+Q(3,9)+Q(4,9)+Q(5,9);
像素差异矩阵第8行数值之和为Q(8)的计算公式如下:Q(8)=Q(1,8)+Q(2,8)+Q(3,8)+Q(4,8)+Q(5,8);
所述终端在确定了Q(10)之后于第二阈值进行比较,由于两个图像的后两行对应的区域为底部公共区域,故两个图像对应的像素矩阵上后两行的数值相近,做差值后,对应像素差异矩阵上的数值是一个接近于零的值,而像素矩阵上对应的该行数值之和也是一个接近于零的值,故Q(10)一定小于第二阈值;
在所述终端确定Q(10)小于第二阈值后,终端确定Q(9)并与第二阈值进行比较,同理Q(9)小于第二阈值;
在所述终端确定Q(9)小于第二阈值后,终端确定Q(8)并与第二阈值进行比较,由于倒数第三行区域不属于底部公共区域,故两个图像对应的像素矩阵上前两行的数值不相近,做差值后,对应像素差异矩阵上的数值不是一个接近于零的值,而像素矩阵上对应的该行数值之和不接近于零,故Q(8)一定不小于第二阈值;
当所述终端在确定Q(8)不小于第二阈值后,则将每帧图像中的后2行像素组成的区域作为底部公共区域。
在实际计算中,为了保证结果的准确中,所述终端可以对多组图像进行确定底部公共区域的操作。
如图4所示,连续两帧图像在整个页面中显示的内容范围示意图,所述终端每次以设定的距离向上滑动显示的内容,由于新的显示内容从屏幕底部出现,所以所述终端需要确定前一帧图像下部分区域与后一帧图像上部分区域之间的重合区域;
所述终端通过如下方式确定每帧图像的重合区域:
对相邻的两帧图像,将前一帧图像后M行像素组成的区域和后一帧图像前M行像素组成的区域作为重合区域;
其中,前一帧图像后M行像素和后一帧图像前M行像素的平均差异累积值,小于前一帧图像后M+N行像素和后一帧图像前M+N行像素的平均差异累积值,M为正整数,N为不为零的整数,且M+N大于零,M+N的最大值为图像的最大行数;
也即所述终端需要确定出前一帧图像后M行像素和后一帧图像前M行像素的平均差异累积值的最小值,当平均差异累积值最小时,其对应的前一帧图像后M行像素组成的区域和后一帧图像前M行像素组成的区域即为重合区域。
以图像中包含十行像素点为例,分别确定前一帧图像后1行像素和后一帧图像前1行像素的平均差异累积值,前一帧图像后2行像素和后一帧图像前2行像素的平均差异累积值,一直到,前一帧图像后10行像素和后一帧图像前10行像素的平均差异累积值,如确定其中前一帧图像后3行像素和后一帧图像前3行像素的平均差异累积值为最小值,则前一帧图像后3行像素组成的区域和后一帧图像前3行像素组成的区域即为重合区域。
需要说明的是,前一帧图像后M行像素和后一帧图像前M行像素的平均差异累积值为零时,可以直接确定前一帧图像后M行像素组成的区域和后一帧图像前M行像素组成的区域即为重合区域;若没有平均差异累积值为零,则需要一直计算到前一帧图像所有行和后一帧图像所有行的平均差异累积值,并确定其中平均差异累积值的最小值。
其中,所述终端根据下列方式确定平均差异累积值:
所述终端确定前一帧图像的像素矩阵中后Z行各行像素值之和值与后一帧图像对应的像素矩阵中前Z行各行像素值之和的差值;
其中,像素矩阵中各行像素值之和的计算公式如下:
其中,w表示图像的水平像素宽度,Fi(h)表示前一帧图像行数为h时该行的像素值之和,Ai(w,h)表示前一帧图像中像素点坐标为(w,h)处的像素值,Fi+1(h)表示后一帧图像行数为h时该行的像素值之和,Ai+1(w,h)表示后一帧图像中像素点坐标为(w,h)处的像素值。
所述终端将所述差值与Z的比值作为前一帧图像后Z行像素和后一帧图像前Z行像素的平均差异累积值;
其中,平均差异累积值的计算公式如下:
其中,H为图像行数的最大值,L(Z)表示前一帧图像后Z行像素和后一帧图像前Z行像素的平均差异累积值,Fi(H-k)表示前一帧图像在H-k行时的该行像素值之和,Fi+1(Z-k)表示后一帧图像在Z-k行时的该行像素值之和,上述公式中的求和部分是从k值开始求和,k可以选择从0开始变化可以选择从一个非零的小于Z的一个值开始变化,一般前一帧图像最后几行的区域和后一帧图像最开始几行的区域差别较小,较易产生前一帧图像最后几行的区域和后一帧图像最开始几行的平均差异累积值比真正重合部分的平均差异值还小的情况,为了避免这种情况的发送,可以令k从非零的一个较小的数值开始变化。
其中,Z为正整数,且Z的最大值为图像的最大行数。
需要说明的是,所述终端根据下列方式确定各行像素值:
针对任意一行,所述终端将图像中该行各像素点的亮度值之和作为该行像素值;或
所述终端将图像中该行各像素点的亮度值与像素点位置对应的预设权重的乘积之和作为该行像素值。
其中,像素点位置对应的预设权重值可以选择线性递增权重,也可以选择波形变化权重,由于权重值与像素点在该行中的位置相关,所以利用权重值计算的平均像素差异累积值更能反映出两帧图像的差别;
当连续两帧图像显示的内容只是位置发生了改变,该两帧图像为不同的两帧图像,利用像素点的亮度值计算的平均像素差异累积值对于内容相同位置不同的显示区域为很小的一个值,且可能为最小值,所述终端会将该区域作为重合区域,存在一定的偏差。
以图5a和图5b所示以前一帧图像和后一帧图像包含有十行像素点,且前一帧图像的后三行像素点组成的区域与后一帧图像前三行像素点组成的区域为重合区域为例,介绍确定重合区域的方法;
如图5a所示,确定重合区域的方法中前一帧图像的示意图,其中包含十行像素点,每行有5个像素点,假设第1行像素点的像素值之和为F1(1),第2行像素点的像素值之和为F1(2),以此类推,第10行对应的像素点的像素值之和为F1(10);如图5b所示确定重合区域的方法中后一帧图像的示意图,其中包含十行像素点,每行有5个像素点假设第1行像素点的像素值之和为F2(1),第2行像素点的像素值之和为F2(2),以此类推,第10行对应的像素点的像素值之和为F2(10);
以F1(1)为例简单介绍像素值之和的计算方法:
方法一,利用前一帧图像各像素点的亮度值计算;假设前一帧图像第一行第一个像素点对应的亮度值为A1(1,1),第一行第二个像素点对应的亮度值为A2(2,1),第一行第三个像素点对应的亮度值为A2(3,1),第一行第四个像素点对应的亮度值为A2(4,1),第一行第四个像素点对应的亮度值为A2(5,1);
则第1行像素点的像素值之和为F1(1)的计算公式如下:F1(1)=A1(1,1)+A1(2,1)+A1(3,1)+A1(4,1)+A1(5,1);
方法二,利用前一帧图像各像素点的亮度值和像素点的权重计算;假设前一帧图像第一行第一个像素点对应的亮度值为A1(1,1),对应的权重为w1,第一行第二个像素点对应的亮度值为A2(2,1),对应的权重为w2,第一行第三个像素点对应的亮度值为A2(3,1),对应的权重为w3,第一行第四个像素点对应的亮度值为A2(4,1),对应的权重为w4,第一行第四个像素点对应的亮度值为A2(5,1),对应的权重为w5;
则第1行像素点的像素值之和为F1(1)的计算公式如下:F1(1)=A1(1,1)×w1+A1(2,1)×w2+A1(3,1)×w3+A1(4,1)×w4+A1(5,1)×w5;
需要说明的是,各像素点对应的权重值与该点在像素行中的位置相关与像素点所在图像的帧数无关,在各行中像素点位置相同的像素点对应的权重是相同的,例如前一帧图像第一行第2个像素点的权重与后一帧图像第三行第2个像素点的权重是相同的。
所述终端可以采用如下方式计算平均像素差异:
方式一、前一帧图像后1行像素和后一帧图像前1行像素的平均差异累积值L(1)=F1(10)-F2(1);
前一帧图像后2行像素和后一帧图像前2行像素的平均差异累积值L(2)
前一帧图像后3行像素和后一帧图像前3行像素的平均差异累积值L(3)
前一帧图像后4行像素和后一帧图像前4行像素的平均差异累积值L(4)
以此类推,
前一帧图像后4行像素和后一帧图像前4行像素的平均差异累积值L(10)
方式二、前一帧图像后1行像素和后一帧图像前1行像素的平均差异累积值L(1)=F1(10)-F2(1);
前一帧图像后2行像素和后一帧图像前2行像素的平均差异累积值L(2)
前一帧图像后3行像素和后一帧图像前3行像素的平均差异累积值L(3)
前一帧图像后4行像素和后一帧图像前4行像素的平均差异累积值L(4)
以此类推,
前一帧图像后10行像素和后一帧图像前10行像素的平均差异累积值L(10)
计算出个行对应的平均差异累积值之后,确定L(1)到L(10)中最小值为L(3)则表明前一帧图像的后三行像素点组成的区域与后一帧图像前三行像素点组成的区域为重合区域。
如图6所示,连续两帧图像在整个页面中显示的内容范围示意图中,所述终端每次以设定的距离向下滑动显示的内容,由于新的显示内容从屏幕顶部出现,所以所述终端需要确定前一帧图像上部分区域与后一帧图像下部分区域之间的重合区域;
所述终端确定每帧图像的重合区域,包括:
对相邻的两帧图像,将前一帧图前X行像素组成的区域和后一帧图像后X行像素组成的区域作为重合区域;
其中,前一帧图像前X行像素和后一帧图像后Y行像素的平均差异累积值,小于前一帧图像前X+Y行像素和后一帧图像后X+Y行像素的平均差异累积值,X为正整数,Y为不为零的整数,且X+Y大于零,X+Y的最大值为图像的最大行数;
也即所述终端需要确定出前一帧图像前X行像素和后一帧图像后X行像素的平均差异累积值的最小值,当平均差异累积值最小时,其对应的前一帧图像前X行像素组成的区域和后一帧图像后X行像素组成的区域即为重合区域。
以图像中包含十行像素点为例,分别确定前一帧图像前1行像素和后一帧图像后1行像素的平均差异累积值,前一帧图像前2行像素和后一帧图像后2行像素的平均差异累积值,一直到,前一帧图像前10行像素和后一帧图像后10行像素的平均差异累积值,如确定其中前一帧图像前3行像素和后一帧图像后3行像素的平均差异累积值为最小值,则前一帧图像前3行像素组成的区域和后一帧图像后3行像素组成的区域即为重合区域。
需要说明的是,前一帧图像前X行像素和后一帧图像后X行像素的平均差异累积值为零时,可以直接确定前一帧图像前X行像素组成的区域和后一帧图像后X行像素组成的区域即为重合区域;若没有平均差异累积值为零,则需要一直计算到前一帧图像所有行和后一帧图像所有行的平均差异累积值,并确定其中平均差异累积值的最小值;
其中,所述终端根据下列方式确定平均差异累积值:
所述终端确定前一帧图像的像素矩阵中前S行各行像素值之和与后一帧图像对应的像素矩阵中后S行各行像素值之和的差值;
其中,像素矩阵中各行像素值之和的计算公式如下:
其中,w表示图像的水平像素宽度,Fi(h)表示前一帧图像行数为h时该行的像素值之和,Ai(w,h)表示前一帧图像中像素点坐标为(w,h)处的像素值,Fi+1(h)表示后一帧图像行数为h时该行的像素值之和,Ai+1(w,h)表示后一帧图像中像素点坐标为(w,h)处的像素值。
所述终端将所述差值与S的比值作为前一帧图像前S行像素和后一帧图像后S行像素的平均差异累积值;
其中,平均差异累积值的计算公式如下:
其中,H为图像行数的最大值,L(S)表示前一帧图像前S行像素和后一帧图像后S行像素的平均差异累积值,Fi(S-k)表示前一帧图像在S-k行时的该行像素值之和,Fi+1(H-k)表示后一帧图像在H-k行时的该行像素值之和,上述公式中的求和部分是从k值开始求和,k可以选择从0开始变化可以选择从一个非零的小于S的一个值开始变化,一般前一帧图像最开始几行的区域和后一帧图像最后几行的区域差别较小,较易产生前一帧图像最开始几行的区域和后一帧图像最后几行的平均差异累积值比真正重合部分的平均差异值还小的情况,为了避免这种情况的发送,可以令k从非零的一个较小的数值开始变化。
其中,S为正整数,且S的最大值为图像的最大行数。
需要说明的是,所述终端根据下列方式确定各行像素值:
针对任意一行,所述终端将图像中该行各像素点的亮度值之和作为该行像素值;或
所述终端将图像中该行各像素点的亮度值与像素点位置对应的预设权重的乘积之和作为该行像素值。
其中,像素点位置对应的预设权重值可以选择线性递增权重,也可以选择波形变化权重,由于权重值与像素点在该行中的位置相关,所以利用权重值计算的平均像素差异累积值更能反映出两帧图像的差别;
当连续两帧图像显示的内容只是位置发生了改变,该两帧图像为不同的两帧图像,利用像素点的亮度值计算的平均像素差异累积值对于内容相同位置不同的显示区域为很小的一个值,且可能为最小值,所述终端会将该区域作为重合区域,存在一定的偏差。
以图7a和图7b所示以前一帧图像和后一帧图像包含有十行像素点,且前一帧图像的前三行像素点组成的区域与后一帧图像后三行像素点组成的区域为重合区域,介绍确定重合区域的方法;
如图7a所示,确定重合区域的方法中前一帧图像的示意图,其中包含十行像素点,每行有5个像素点,假设第1行像素点的像素值之和为F1(1),第2行像素点的像素值之和为F1(2),以此类推,第10行对应的像素点的像素值之和为F1(10)。
如图7b所示,确定重合区域的方法中后一帧图像的示意图,其中包含十行像素点,每行有5个像素点假设第1行像素点的像素值之和为F2(1),第2行像素点的像素值之和为F2(2),以此类推,第10行对应的像素点的像素值之和为F2(10);
以F1(1)为例简单介绍像素值之和的计算方法:
方法一,利用前一帧图像各像素点的亮度值计算;假设前一帧图像第一行第一个像素点对应的亮度值为A1(1,1),第一行第二个像素点对应的亮度值为A2(2,1),第一行第三个像素点对应的亮度值为A2(3,1),第一行第四个像素点对应的亮度值为A2(4,1),第一行第四个像素点对应的亮度值为A2(5,1);
则第1行像素点的像素值之和为F1(1)的计算公式如下:F1(1)=A1(1,1)+A1(2,1)+A1(3,1)+A1(4,1)+A1(5,1);
方法一,利用前一帧图像各像素点的亮度值和像素点的权重计算;假设前一帧图像第一行第一个像素点对应的亮度值为A1(1,1),对应的权重为w1,第一行第二个像素点对应的亮度值为A2(2,1),对应的权重为w2,第一行第三个像素点对应的亮度值为A2(3,1),对应的权重为w3,第一行第四个像素点对应的亮度值为A2(4,1),对应的权重为w4,第一行第四个像素点对应的亮度值为A2(5,1),对应的权重为w5;
则第1行像素点的像素值之和为F1(1)的计算公式如下:F1(1)=A1(1,1)×w1+A1(2,1)×w2+A1(3,1)×w3+A1(4,1)×w4+A1(5,1)×w5;
需要说明的是,各像素点对应的权重值与该点在像素行中的位置相关与像素点所在图像的帧数无关,在各行中像素点位置相同的像素点对应的权重是相同的,例如前一帧图像第一行第2个像素点的权重与后一帧图像第三行第2个像素点的权重是相同的。
所述终端可以采用如下方式计算平均像素差异:
方式二、前一帧图像前1行像素和后一帧图像后1行像素的平均差异累积值L(1)=F1(1)-F2(10);
前一帧图像前2行像素和后一帧图像后2行像素的平均差异累积值L(2)
前一帧图像前3行像素和后一帧图像后3行像素的平均差异累积值L(3)
前一帧图像前4行像素和后一帧图像后4行像素的平均差异累积值L(4)
以此类推,
前一帧图像前10行像素和后一帧图像后10行像素的平均差异累积值L(10)
方式二、前一帧图像前1行像素和后一帧图像后1行像素的平均差异累积值L(1)=F1(1)-F2(10);
前一帧图像前2行像素和后一帧图像后2行像素的平均差异累积值L(2)
前一帧图像后3行像素和后一帧图像前3行像素的平均差异累积值L(3)
前一帧图像后4行像素和后一帧图像前4行像素的平均差异累积值L(4)
以此类推,
前一帧图像后10行像素和后一帧图像前10行像素的平均差异累积值L(10)
计算出个行对应的平均差异累积值之后,确定L(1)到L(10)中最小值为L(8)则表明前一帧图像的前三行像素点组成的区域与后一帧图像后三行像素点组成的区域为重合区域。
如图8所示,本发明实施例截取屏幕图像的过程的流程示意图,该方法包括:
步骤801:终端接收到截屏操作指令;
步骤802:终端以图像形式保存屏幕当前显示的内容;
步骤803:终端每次以设定的距离滑动显示的内容,滑动后以图像形式保存屏幕当前显示的内容;
步骤804:终端判断当前保存图像帧数是否达到最大截取图像数,如是,则执行步骤807,否则执行步骤805;
步骤805:终端判断当前截取的图像与上一次截取的图像是否相同,如是则执行步骤807,否则执行步骤803;
步骤806:终端删除当前截取图像;
步骤807:终端确定保存的每帧图像的顶部公共区域、底部公共区域;
步骤808;终端保留第一帧图像的顶部公共区域和最后一帧图像的底部公共区域,将其余的保存的多帧图像中的顶部公共区域和底部公共区域去除;
步骤809:终端确定保存的每帧图像的重合区域;
步骤810:终端保留重合区域相同的图像中一帧图像的重合区域,删除重合区域相同的图像中其他帧图像的重合区域;
步骤811:终端将处理后的多帧图像处理一帧图像。
如图9所示,本发明实施例将多帧图像合成的流程示意图;
步骤901:终端确定保存的每帧图像的顶部公共区域、底部公共区域;
步骤902:终端将保存的多帧图像中的顶部公共区域和底部公共区域去除;
步骤903:终端选取截取的第一帧图像为当前帧图像;
步骤904:终端确定当前帧与下一帧图像的重合区域;
步骤905:终端将去除了重合区域的下一帧图像与当前帧图像合成;
步骤906:终端判断是否还有下一帧图像,如是,则执行步骤907,否则执行步骤908;
步骤907:终端将下一帧图像选为当前帧图像;
步骤908:终端将合成的图像与确定的顶部公共区域和底部公共区域合成并输出。
如图10所示,第一阈值和第二阈值相同时,本发明实施例确定顶部公共区域和底部公共区域的流程示意图,
步骤1001:终端确定当前截取图像和上一次截取图像对应的像素矩阵;
步骤1002:终端通过当前截取图像和上一次截取图像对应的像素矩阵的差确定当前截取图像和上一次截取图像对应的像素差异矩阵;
步骤1003:终端确定像素差异矩阵的各行数值之和;
步骤1004:终端根据像素差异矩阵的各行数值之和与阈值的关系确定底部公共区域和底部公共区域。
如图11所示,本发明实施例第一阈值和第二阈值相同时,像素差异矩阵各行对应数值之和曲线示意图;
当第一阈值和第二阈值相同时,在图11中以阈值标注,以行数为行坐标像素差异矩阵各行对应数值之和为纵坐标,两帧图像像素差异矩阵各行对应数值之和为一个与行数相关的曲线,而与纵坐标为阈值的直线相交的两点对应的横坐标,即为顶部公共区域和底部公共区域对应的行数。
如图12所示,本发明实施例连续两帧图像的各行像素点的像素值之和曲线示意图;
以行数为行坐标,图像中各行像素点的像素值之和为纵坐标可以获得连续两帧图像的各行像素点的像素值之和的曲线,在两个区域中可以大致看出连续两帧图像的公共区域。
如图13所示,本发明实施例连续两帧图像的平均差异累积值的曲线示意图;
以行数为行坐标,图像中连续两帧图像各行对应的平均差异累积值为纵坐标,可以获得连续两帧图像的平均差异累积值的曲线,当曲线达到最低点时,对应的行数即为连续两帧图像重合区域对应的行数。
基于同一发明构思,本发现实施例还提供了一种信息处理的终端由于该终端解决问题的原理与本发明实施例信息处理的方法相似,因此该设备的实施可以参见方法的实施,重复之处不再赘述。
如图14所示,本发明实施例截取屏幕图像的终端,该终端包括:截屏模块1400,处理模1401和合成模块1402
截屏模块1400,用于在接收到截屏操作指令后,以图像形式保存屏幕当前显示的内容;
处理模块1401,用于每次以设定的距离滑动显示的内容直到满足停止截屏条件,并在每次滑动后以图像形式保存屏幕当前显示的内容;
合成模块1402,用于将保存的图像进行合成处理。
终端可以提供两种截屏方式,一种是现有方式只截取当前显示内容,一种是本发明实施例的方式;
在实施中,在截屏模块1400收到用户需要进行截屏的指令后,可弹出显示框,由用户选择采用现有方式还是本发明实施例的方式进行截屏。
截屏模块1400在确定接收到截屏操作指令后,确定当前屏幕显示的内容是否处于显示页面的顶部或者底部,如果不是则自动将屏幕显示的内容切换至显示页面的顶部或者显示页面的底部,由显示页面顶部或者显示页面的底部开始截取;也可以在确定当前屏幕显示的内容不处于当前页面的顶部或者底部后,提醒用户选择开始截屏的位置。
如果是用户选择开始截屏的位置,还可以在终端收到用户需要进行截屏的指令,且用户选择采用本发明实施例的方式进行截屏后,再弹出显示框,里面有多种截屏方式由用户选择采用哪种。
其中,处理模块1401控制滑动显示内容的方式包含但不限于以下情况:
如果是从显示页面的顶部开始截取,此时屏幕显示的内容切换至显示页面的顶部,所述处理模块1401控制向上滑动显示内容;
如果是从显示页面的底部开始截取,此时屏幕显示的内容切换至显示页面的底部,所述处理模块1401控制向下滑动显示内容;
如果是只截取当前显示内容至显示页面的顶部的内容,此时所述处理模块1401控制向下滑动显示内容,或者屏幕显示的内容切换至显示页面的顶部,所述处理模块1401控制向上滑动显示内容;
如果是只截取当前显示内容至显示页面的底部的内容,此时所述终端控制向上滑动显示内容,或者屏幕显示的内容切换至显示页面的底部,所述处理模块1401控制向下滑动显示内容。
处理模块1401以设定的距离滑动显示内容。
其中,设定的距离为根据终端的性能和屏幕显示内容的尺寸来确定的,如可以选择屏幕显示内容长度的四分之一为设定距离,或可以选择屏幕显示内容长度的二分之一为设定距离。
可选的,由于处理模块1401每次滑动显示内容到指定位置存在一定的时延,所以本发明实施例可以设置一个延时时间。
当所述处理模块1401每次以设定的距离滑动显示的内容后,所述处理模块1401在一定的延时时间后以图像形式保存屏幕当前显示的内容;
延时时间是根据终端的性能以及终端中应用的实现方式来确定的,例如,可以根据终端从接收到用户的截屏指令到控制屏幕显示内容以设定的距离滑动的处理时间以及终端中浏览页面的应用在接收用户的截屏操作后对滑屏处理的方式来确定延时时间。
需要说明的是,上述处理时间和应用对滑屏的处理的方式仅是终端的性能以及终端中应用的实现方式的举例说明,其中凡是可以确定延时时间的方式均适用于本发明实施例。
在实施中,处理模块1401在一定的延时时间后以图像形式保存屏幕当前显示的内容可以保证处理模块1401处理滑动屏幕所需要的时间,也即保证在滑动到指定位置后才开始对屏幕当前显示的内容进行保存。
可选的,以本发明实施例的停止截屏条件包含但不限于下列条件中的部分或全部:
条件一、保存的图像数目达到最大截取图像数。
条件二、当前截取的图像与上一次截取的图像相同;
其中,所述处理模块1401可以采用如下方式判断当前截取的图像是否与上一次截取的图像相同:
所述处理模块1401确定当前截取图像和上一次截取图像对应的像素矩阵;
其中,所述处理模块1401将当前截取图像和上一次截取图像转化为对应的灰度图像,根据灰度图像确定在确定当前截取图像和上一次截取图像对应的像素矩阵,像素矩阵中的各个元素的值为图像在对应像素点上的图像的灰度值。
所述处理模块1401通过当前截取图像和上一次截取图像对应的像素矩阵的差确定当前截取图像和上一次截取图像对应的像素差异矩阵;
所在处理模块1401将像素差异矩阵中各元素进行求和得到当前截取图像和上一次截取图像的差异值;
所述处理模块1401确定当前截取图像和上一次截取图像的差异值与差异阈值的大小关系;
若当前截取图像和上一次截取图像的差异值不大于差异阈值,说明当前截取图像和上一次截取图像之间的差异很小,则当前截取图像和上一次截取图像相同,处理模块1401删除当前截取图像,并将之前保存的图像进行合成处理;
若当前截取图像和上一次截取图像的差异值大于差异阈值,说明当前截取图像和上一次截取图像之间的差异较大,则当前截取图像和上一次截取图像不同,处理模块1401继续以设定的距离滑动显示的内容。
可选的,由于在整个截屏操作中,每帧截取的图像包含了顶部的公共区域,底部公共区域,以及与前后两帧截取的图像的重合部分,如果直接将截取的图像合成为一帧图像,存在较多的重复的部分,数据内容重复太多,且不连续,所以还需要去掉重复的顶部公共区域,底部公共区域以及重合区域。
具体的,当所述合成模块1402将保存的图像进行合成处理时,所述合成模块1402确定保存的每帧图像的顶部公共区域、底部公共区域和重合区域;
所述合成模块1402保留第一帧图像的顶部公共区域和最后一帧图像的底部公共区域,将其余的保存的多帧图像中的顶部公共区域和底部公共区域去除,以及保留重合区域相同的图像中一帧图像的重合区域,删除重合区域相同的图像中其他帧图像的重合区域;
所述合成模块1402将处理后的多帧图像合成处理成一帧图像。
其中,所述合成模块1402通过如下方式确定保存的每帧图像的顶部公共区域:
所述合成模块1402从保存的图像中选取任意两帧图像,将任意两帧图像对应的像素矩阵的差作为所述任意两帧图像的第一像素差异矩阵;
所述合成模块1402根据所述第一像素差异矩阵和第一阈值进行比较,若第一像素差异矩阵的前A行中每行数值之和小于第一阈值,且从上到下第A+1行数值之和不小于第一阈值,则将每帧图像中的前A行像素组成的区域作为顶部公共区域,其中A为正整数。
第一像素差异矩阵的前A行中每行数值之和小于第一阈值,说明任意两帧图像前A行的区域差别较小;
从上到下第A+1行数值之和不小于第一阈值,说明任意两帧图像第A+1行存在较大的差别。
在判断第一像素差异矩阵的前A行中每行数值之和小于第一阈值的基础上,确定第A+1行数值之和不小于第一阈值,说明任意两帧图像前A行的区域是相同的,属于顶部公共区域,而第A+1行的区域不属于顶部公共区域,由第A+1行的区域不属于顶部公共区域,进而可以判断第A+1行之后的区域也不属于顶部公共区域,由此确定出顶部公共区域为图像中前A行组成的区域。
其中,第一阈值是一个较小的数值,是表征图像中针对于顶部区域各行差异的标准值,根据合成模块1402显示图像的方式以及仿真所确定的一个经验值。
其中,所述合成模块1402通过如下方式确定保存的每帧图像中的底部公共区域:
所述合成模块1402从保存的图像中选取任意两帧图像,将任意两帧图像对应的像素矩阵的差作为所述任意两帧图像的第二像素差异矩阵;
所述合成模块1402根据所述第二像素差异矩阵和第二阈值进行比较,若第二像素差异矩阵的后B行中每行数值之和小于第二阈值,说明任意两帧图像后B行的区域差别较小,且从下到上第B+1行数值之和不小于第二阈值,说明任意两帧图像第B+1行的区域存在较大的差别,为不同的区域,则将每帧图像中的前B行像素组成的区域作为底部公共区域,其中B为正整数。
第二像素差异矩阵的前B行中每行数值之和小于第二阈值,说明任意两帧图像前B行的区域差别较小;
从下到上第B+1行数值之和不小于第二阈值,说明任意两帧图像第B+1行存在较大的差别。
在判断第二像素差异矩阵的后B行中每行数值之和小于第二阈值的基础上,确定从下到上第B+1行数值之和不小于第一阈值,说明任意两帧图像后B行的区域是相同的,属于底部公共区域,而第B+1行的区域不属于底部公共区域,由第B+1行的区域不属于底部公共区域,进而可以判断第B+1行之后的区域也不属于底部公共区域,由此确定出底部公共区域为图像中前B行组成的区域。
其中,第二阈值是一个较小的数值,是表征图像中底部区域各行差异的标准值,是根据合成模块1402显示图像的方式以及仿真所确定的一个经验值。
所述合成模块1402通过如下方式确定每帧图像的重合区域:
对相邻的两帧图像,将前一帧图像后M行像素组成的区域和后一帧图像前M行像素组成的区域作为重合区域;
其中,前一帧图像后M行像素和后一帧图像前M行像素的平均差异累积值,小于前一帧图像后M+N行像素和后一帧图像前M+N行像素的平均差异累积值,M为正整数,N为不为零的整数,且M+N大于零,M+N的最大值为图像的最大行数;
也即所述合成模块1402需要确定出前一帧图像后M行像素和后一帧图像前M行像素的平均差异累积值的最小值,当平均差异累积值最小时,其对应的前一帧图像后M行像素组成的区域和后一帧图像前M行像素组成的区域即为重合区域。
以图像中包含十行像素点为例,分别确定前一帧图像后1行像素和后一帧图像前1行像素的平均差异累积值,前一帧图像后2行像素和后一帧图像前2行像素的平均差异累积值,一直到,前一帧图像后10行像素和后一帧图像前10行像素的平均差异累积值,如确定其中前一帧图像后3行像素和后一帧图像前3行像素的平均差异累积值为最小值,则前一帧图像后3行像素组成的区域和后一帧图像前3行像素组成的区域即为重合区域。
需要说明的是,前一帧图像后M行像素和后一帧图像前M行像素的平均差异累积值为零时,可以直接确定前一帧图像后M行像素组成的区域和后一帧图像前M行像素组成的区域即为重合区域;若没有平均差异累积值为零,则需要一直计算到前一帧图像所有行和后一帧图像所有行的平均差异累积值,并确定其中平均差异累积值的最小值。
其中,所述合成模块1402根据下列方式确定平均差异累积值:
所述合成模块1402确定前一帧图像的像素矩阵中后Z行各行像素值之和值与后一帧图像对应的像素矩阵中前Z行各行像素值之和的差值;
其中,像素矩阵中各行像素值之和的计算公式如下:
其中,w表示图像的水平像素宽度,Fi(h)表示前一帧图像行数为h时该行的像素值之和,Ai(w,h)表示前一帧图像中像素点坐标为(w,h)处的像素值,Fi+1(h)表示后一帧图像行数为h时该行的像素值之和,Ai+1(w,h)表示后一帧图像中像素点坐标为(w,h)处的像素值。
所述合成模块1402将所述差值与Z的比值作为前一帧图像后Z行像素和后一帧图像前Z行像素的平均差异累积值;
其中,平均差异累积值的计算公式如下:
其中,H为图像行数的最大值,L(Z)表示前一帧图像后Z行像素和后一帧图像前Z行像素的平均差异累积值,Fi(H-k)表示前一帧图像在H-k行时的该行像素值之和,Fi+1(Z-k)表示后一帧图像在Z-k行时的该行像素值之和,上述公式中的求和部分是从k值开始求和,k可以选择从0开始变化可以选择从一个非零的小于Z的一个值开始变化,一般前一帧图像最后几行的区域和后一帧图像最开始几行的区域差别较小,较易产生前一帧图像最后几行的区域和后一帧图像最开始几行的平均差异累积值比真正重合部分的平均差异值还小的情况,为了避免这种情况的发送,可以令k从非零的一个较小的数值开始变化。
其中,Z为正整数,且Z的最大值为图像的最大行数。
需要说明的是,所述合成模块1402根据下列方式确定各行像素值:
针对任意一行,所述合成模块1402将图像中该行各像素点的亮度值之和作为该行像素值;或
所述合成模块1402将图像中该行各像素点的亮度值与像素点位置对应的预设权重的乘积之和作为该行像素值。
其中,像素点位置对应的预设权重值可以选择线性递增权重,也可以选择波形变化权重,由于权重值与像素点在该行中的位置相关,所以利用权重值计算的平均像素差异累积值更能反映出两帧图像的差别;
当连续两帧图像显示的内容只是位置发生了改变,该两帧图像为不同的两帧图像,利用像素点的亮度值计算的平均像素差异累积值对于内容相同位置不同的显示区域为很小的一个值,且可能为最小值,所述合成模块1402会将该区域作为重合区域,存在一定的偏差。
所述合成模块1402确定每帧图像的重合区域,包括:
对相邻的两帧图像,将前一帧图前X行像素组成的区域和后一帧图像后X行像素组成的区域作为重合区域;
其中,前一帧图像前X行像素和后一帧图像后Y行像素的平均差异累积值,小于前一帧图像前X+Y行像素和后一帧图像后X+Y行像素的平均差异累积值,X为正整数,Y为不为零的整数,且X+Y大于零,X+Y的最大值为图像的最大行数;
也即所述合成模块1402需要确定出前一帧图像前X行像素和后一帧图像后X行像素的平均差异累积值的最小值,当平均差异累积值最小时,其对应的前一帧图像前X行像素组成的区域和后一帧图像后X行像素组成的区域即为重合区域。
以图像中包含十行像素点为例,分别确定前一帧图像前1行像素和后一帧图像后1行像素的平均差异累积值,前一帧图像前2行像素和后一帧图像后2行像素的平均差异累积值,一直到,前一帧图像前10行像素和后一帧图像后10行像素的平均差异累积值,如确定其中前一帧图像前3行像素和后一帧图像后3行像素的平均差异累积值为最小值,则前一帧图像前3行像素组成的区域和后一帧图像后3行像素组成的区域即为重合区域。
需要说明的是,前一帧图像前X行像素和后一帧图像后X行像素的平均差异累积值为零时,可以直接确定前一帧图像前X行像素组成的区域和后一帧图像后X行像素组成的区域即为重合区域;若没有平均差异累积值为零,则需要一直计算到前一帧图像所有行和后一帧图像所有行的平均差异累积值,并确定其中平均差异累积值的最小值;
其中,所述合成模块1402根据下列方式确定平均差异累积值:
所述合成模块1402确定前一帧图像的像素矩阵中前S行各行像素值之和与后一帧图像对应的像素矩阵中后S行各行像素值之和的差值;
其中,像素矩阵中各行像素值之和的计算公式如下:
其中,w表示图像的水平像素宽度,Fi(h)表示前一帧图像行数为h时该行的像素值之和,Ai(w,h)表示前一帧图像中像素点坐标为(w,h)处的像素值,Fi+1(h)表示后一帧图像行数为h时该行的像素值之和,Ai+1(w,h)表示后一帧图像中像素点坐标为(w,h)处的像素值。
所述合成模块1402将所述差值与S的比值作为前一帧图像前S行像素和后一帧图像后S行像素的平均差异累积值;
其中,平均差异累积值的计算公式如下:
其中,H为图像行数的最大值,L(S)表示前一帧图像前S行像素和后一帧图像后S行像素的平均差异累积值,Fi(S-k)表示前一帧图像在S-k行时的该行像素值之和,Fi+1(H-k)表示后一帧图像在H-k行时的该行像素值之和,上述公式中的求和部分是从k值开始求和,k可以选择从0开始变化可以选择从一个非零的小于S的一个值开始变化,一般前一帧图像最开始几行的区域和后一帧图像最后几行的区域差别较小,较易产生前一帧图像最开始几行的区域和后一帧图像最后几行的平均差异累积值比真正重合部分的平均差异值还小的情况,为了避免这种情况的发送,可以令k从非零的一个较小的数值开始变化。
其中,S为正整数,且S的最大值为图像的最大行数。
需要说明的是,所述合成模块1402根据下列方式确定各行像素值:
针对任意一行,所述合成模块1402将图像中该行各像素点的亮度值之和作为该行像素值;或
所述合成模块1402将图像中该行各像素点的亮度值与像素点位置对应的预设权重的乘积之和作为该行像素值。
其中,像素点位置对应的预设权重值可以选择线性递增权重,也可以选择波形变化权重,由于权重值与像素点在该行中的位置相关,所以利用权重值计算的平均像素差异累积值更能反映出两帧图像的差别;
当连续两帧图像显示的内容只是位置发生了改变,该两帧图像为不同的两帧图像,利用像素点的亮度值计算的平均像素差异累积值对于内容相同位置不同的显示区域为很小的一个值,且可能为最小值,所述合成模块1402会将该区域作为重合区域,存在一定的偏差。
以上参照示出根据本申请实施例的方法、装置(***)和/或计算机程序产品的框图和/或流程图描述本申请。应理解,可以通过计算机程序指令来实现框图和/或流程图示图的一个块以及框图和/或流程图示图的块的组合。可以将这些计算机程序指令提供给通用计算机、专用计算机的处理器和/或其它可编程数据处理装置,以产生机器,使得经由计算机处理器和/或其它可编程数据处理装置执行的指令创建用于实现框图和/或流程图块中所指定的功能/动作的方法。
相应地,还可以用硬件和/或软件(包括固件、驻留软件、微码等)来实施本申请。更进一步地,本申请可以采取计算机可使用或计算机可读存储介质上的计算机程序产品的形式,其具有在介质中实现的计算机可使用或计算机可读程序代码,以由指令执行***来使用或结合指令执行***而使用。在本申请上下文中,计算机可使用或计算机可读介质可以是任意介质,其可以包含、存储、通信、传输、或传送程序,以由指令执行***、装置或设备使用,或结合指令执行***、装置或设备使用。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (11)
1.一种截取屏幕图像的方法,其特征在于,该方法包括:
终端在接收到截屏操作指令后,以图像形式保存屏幕当前显示的内容;
所述终端每次以设定的距离滑动显示的内容直到满足停止截屏条件,并在每次滑动后以图像形式保存屏幕当前显示的内容;
所述终端将保存的图像进行合成处理。
2.如权利要求1所述的方法,其特征在于,所述停止截屏条件包含下列条件中的部分或全部:
保存的图像数目达到最大截取图像数;
当前截取的图像与上一次截取的图像相同。
3.如权利要求1所述的方法,其特征在于,所述终端将保存的图像进行合成处理,包括:
所述终端确定保存的每帧图像的顶部公共区域、底部公共区域和重合区域;
所述终端保留第一帧图像的顶部公共区域和最后一帧图像的底部公共区域,将其余的保存的多帧图像中的顶部公共区域和底部公共区域去除,以及保留重合区域相同的图像中一帧图像的重合区域,删除重合区域相同的图像中其他帧图像的重合区域;
所述终端将处理后的多帧图像合成一帧图像。
4.如权利要求3所述的方法,其特征在于,所述终端确定保存的每帧图像的顶部公共区域,具体包括:
所述终端从保存的图像中选取任意两帧图像,并确定所述任意两帧图像的第一像素差异矩阵;
所述终端根据所述第一像素差异矩阵和第一阈值进行比较,若第一像素差异矩阵的前A行中每行数值之和小于第一阈值,且从上到下第A+1行数值之和不小于第一阈值,则将每帧图像中的前A行像素组成的区域作为顶部公共区域,其中A为正整数。
5.如权利要求3所述的方法,其特征在于,所述终端确定保存的每帧图像中的底部公共区域,具体包括:
所述终端从保存的图像中选取任意两帧图像,并确定所述任意两帧图像的第二像素差异矩阵;
所述终端根据所述第二像素差异矩阵和第二阈值进行比较,若第二像素差异矩阵的后B行中每行数值之和小于第二阈值,且从下到上第B+1行数值之和不小于第二阈值,则将每帧图像中的前B行像素组成的区域作为底部公共区域,其中B为正整数。
6.如权利要求3所述的方法,其特征在于,所述终端每次以设定的距离向上滑动显示的内容,所述终端确定每帧图像的重合区域,包括:
对相邻的两帧图像,将前一帧图像后M行像素组成的区域和后一帧图像前M行像素组成的区域作为重合区域;
其中,前一帧图像后M行像素和后一帧图像前M行像素的平均差异累积值,小于前一帧图像后M+N行像素和后一帧图像前M+N行像素的平均差异累积值,M为正整数,N为不为零的整数,且M+N大于零,M+N的最大值为图像的最大行数。
7.如权利要求6所述的方法,其特征在于,所述终端根据下列方式确定平均差异累积值:
所述终端确定前一帧图像的像素矩阵中后Z行各行像素值之和值与后一帧图像对应的像素矩阵中前Z行各行像素值之和的差值;
所述终端将所述差值与Z的比值作为前一帧图像后Z行像素和后一帧图像前Z行像素的平均差异累积值;
其中,Z为正整数,且Z的最大值为图像的最大行数。
8.如权利要求3所述的方法,其特征在于,所述终端每次以设定的距离向下滑动显示的内容,所述终端确定每帧图像的重合区域,包括:
对相邻的两帧图像,将前一帧图前X行像素组成的区域和后一帧图像后X行像素组成的区域作为重合区域;
其中,前一帧图像前X行像素和后一帧图像后Y行像素的平均差异累积值,小于前一帧图像前X+Y行像素和后一帧图像后X+Y行像素的平均差异累积值,X为正整数,Y为不为零的整数,且X+Y大于零,X+Y的最大值为图像的最大行数。
9.如权利要求8所述的方法,其特征在于,所述终端根据下列方式确定平均差异累积值:
所述终端确定前一帧图像的像素矩阵中前S行各行像素值之和与后一帧图像对应的像素矩阵中后S行各行像素值之和的差值;
所述终端将所述差值与S的比值作为前一帧图像前S行像素和后一帧图像后S行像素的平均差异累积值;
其中,S为正整数,且S的最大值为图像的最大行数。
10.如权利要求7或9所述的方法,其特征在于,所述终端根据下列方式确定各行像素值:
针对任意一行,所述终端将图像中该行各像素点的亮度值之和作为该行像素值;或
所述终端将图像中该行各像素点的亮度值与像素点位置对应的预设权重的乘积之和作为该行像素值。
11.一种截取屏幕图像的终端,其特征在于,该终端包括:
截屏模块,用于在接收到截屏操作指令后,以图像形式保存屏幕当前显示的内容;
处理模块,用于每次以设定的距离滑动显示的内容直到满足停止截屏条件,并在每次滑动后以图像形式保存屏幕当前显示的内容;
合成模块,用于将保存的图像进行合成处理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610805041.7A CN106385550A (zh) | 2016-09-06 | 2016-09-06 | 一种截取屏幕图像的方法和终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610805041.7A CN106385550A (zh) | 2016-09-06 | 2016-09-06 | 一种截取屏幕图像的方法和终端 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106385550A true CN106385550A (zh) | 2017-02-08 |
Family
ID=57938994
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610805041.7A Pending CN106385550A (zh) | 2016-09-06 | 2016-09-06 | 一种截取屏幕图像的方法和终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106385550A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019114442A1 (en) * | 2017-12-11 | 2019-06-20 | Guangdong Oppo Mobile Telecommunications Corp., Ltd. | Method for screenshot and related products |
CN110032319A (zh) * | 2019-04-18 | 2019-07-19 | 广州申铭信息技术有限公司 | 一种屏幕界面中特殊位置的识别方法及其应用 |
CN110297681A (zh) * | 2019-06-24 | 2019-10-01 | 腾讯科技(深圳)有限公司 | 图像处理方法、装置、终端及存储介质 |
CN110888576A (zh) * | 2018-09-10 | 2020-03-17 | 珠海格力电器股份有限公司 | 一种截图方法和装置 |
CN111783781A (zh) * | 2020-05-22 | 2020-10-16 | 平安国际智慧城市科技股份有限公司 | 基于产品协议字符识别的恶意条款识别方法、装置、设备 |
CN112181250A (zh) * | 2020-09-28 | 2021-01-05 | 四川封面传媒有限责任公司 | 一种移动终端网页截图方法、装置、设备及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005332188A (ja) * | 2004-05-19 | 2005-12-02 | Dowango:Kk | サーバ装置、キャプチャ処理プログラム、キャプチャ処理システム、およびキャプチャ処理方法 |
CN101021872A (zh) * | 2007-01-17 | 2007-08-22 | 深圳市光芒科技有限公司 | 一种截取网页内容的方法 |
CN102681829A (zh) * | 2011-03-16 | 2012-09-19 | 阿里巴巴集团控股有限公司 | 一种屏幕截图方法、装置及通讯客户端 |
CN103218798A (zh) * | 2012-01-19 | 2013-07-24 | 索尼公司 | 图像处理设备和方法 |
CN103514581A (zh) * | 2013-10-23 | 2014-01-15 | 小米科技有限责任公司 | 一种截取屏幕图片的方法、装置和终端设备 |
CN104361569A (zh) * | 2014-11-11 | 2015-02-18 | 浙江宇视科技有限公司 | 图像拼接的方法及装置 |
CN104615343A (zh) * | 2013-11-04 | 2015-05-13 | 中兴通讯股份有限公司 | 一种终端截图的方法及装置 |
-
2016
- 2016-09-06 CN CN201610805041.7A patent/CN106385550A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005332188A (ja) * | 2004-05-19 | 2005-12-02 | Dowango:Kk | サーバ装置、キャプチャ処理プログラム、キャプチャ処理システム、およびキャプチャ処理方法 |
CN101021872A (zh) * | 2007-01-17 | 2007-08-22 | 深圳市光芒科技有限公司 | 一种截取网页内容的方法 |
CN102681829A (zh) * | 2011-03-16 | 2012-09-19 | 阿里巴巴集团控股有限公司 | 一种屏幕截图方法、装置及通讯客户端 |
CN103218798A (zh) * | 2012-01-19 | 2013-07-24 | 索尼公司 | 图像处理设备和方法 |
CN103514581A (zh) * | 2013-10-23 | 2014-01-15 | 小米科技有限责任公司 | 一种截取屏幕图片的方法、装置和终端设备 |
CN104615343A (zh) * | 2013-11-04 | 2015-05-13 | 中兴通讯股份有限公司 | 一种终端截图的方法及装置 |
CN104361569A (zh) * | 2014-11-11 | 2015-02-18 | 浙江宇视科技有限公司 | 图像拼接的方法及装置 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019114442A1 (en) * | 2017-12-11 | 2019-06-20 | Guangdong Oppo Mobile Telecommunications Corp., Ltd. | Method for screenshot and related products |
US10635279B2 (en) | 2017-12-11 | 2020-04-28 | Guangdong Oppo Mobile Telecommunications Corp., Ltd. | Method for screenshot a special-shaped screen and related products |
CN110888576A (zh) * | 2018-09-10 | 2020-03-17 | 珠海格力电器股份有限公司 | 一种截图方法和装置 |
WO2020052374A1 (zh) * | 2018-09-10 | 2020-03-19 | 珠海格力电器股份有限公司 | 一种截图方法和装置 |
CN110032319A (zh) * | 2019-04-18 | 2019-07-19 | 广州申铭信息技术有限公司 | 一种屏幕界面中特殊位置的识别方法及其应用 |
CN110297681A (zh) * | 2019-06-24 | 2019-10-01 | 腾讯科技(深圳)有限公司 | 图像处理方法、装置、终端及存储介质 |
CN110297681B (zh) * | 2019-06-24 | 2024-06-11 | 腾讯科技(深圳)有限公司 | 图像处理方法、装置、终端及存储介质 |
CN111783781A (zh) * | 2020-05-22 | 2020-10-16 | 平安国际智慧城市科技股份有限公司 | 基于产品协议字符识别的恶意条款识别方法、装置、设备 |
CN111783781B (zh) * | 2020-05-22 | 2024-04-05 | 深圳赛安特技术服务有限公司 | 基于产品协议字符识别的恶意条款识别方法、装置、设备 |
CN112181250A (zh) * | 2020-09-28 | 2021-01-05 | 四川封面传媒有限责任公司 | 一种移动终端网页截图方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106385550A (zh) | 一种截取屏幕图像的方法和终端 | |
CN105094617A (zh) | 一种截屏方法及装置 | |
CN105843480A (zh) | 桌面图标调整方法及装置 | |
CN104360816A (zh) | 截屏方法及*** | |
CN106650615B (zh) | 一种图像处理方法及终端 | |
CN104615343A (zh) | 一种终端截图的方法及装置 | |
CN110347317A (zh) | 一种窗口切换方法、装置、存储介质及交互智能平板 | |
CN105975142A (zh) | 图标移动方法和装置 | |
CN104580883A (zh) | 图像处理装置、图像处理方法 | |
MXPA06000285A (es) | Metodo y dispositivo para proteger a pantallas del efecto de imagen remanente. | |
CN104536650A (zh) | 一种基于ios***的视差翻页人机交互方法 | |
US20120082369A1 (en) | Image composition apparatus, image retrieval method, and storage medium storing program | |
CN103870193A (zh) | 信息处理方法及电子设备 | |
CN105955583B (zh) | 一种图标排列的方法、***及显示终端 | |
CN113126862A (zh) | 截屏方法、装置、电子设备以及可读存储介质 | |
CN112037160A (zh) | 图像处理方法、装置及设备 | |
CN109691081B (zh) | 用于控制监控摄像机的方法和采用该方法的监控*** | |
CN105654424B (zh) | 图像的调整比例显示方法、显示***、显示装置和终端 | |
CN107203309A (zh) | 视图切换方法及装置、计算机装置和计算机可读存储介质 | |
CN111722891A (zh) | 显示方法、装置、计算机可读存储介质和计算机设备 | |
CN106445332A (zh) | 图标显示方法及*** | |
CN103414823A (zh) | 实现手机上下翻页式操作***的方法及装置 | |
EP2346262A2 (en) | Method and apparatus for setting stereoscopic effect in a portable terminal | |
CN109859258A (zh) | 界面处理方法及装置、电子设备 | |
CN107335218A (zh) | 游戏场景移动方法及装置、存储介质、处理器和终端 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170208 |
|
RJ01 | Rejection of invention patent application after publication |