CN114449151B - 一种图像处理方法及相关装置 - Google Patents
一种图像处理方法及相关装置 Download PDFInfo
- Publication number
- CN114449151B CN114449151B CN202011193237.8A CN202011193237A CN114449151B CN 114449151 B CN114449151 B CN 114449151B CN 202011193237 A CN202011193237 A CN 202011193237A CN 114449151 B CN114449151 B CN 114449151B
- Authority
- CN
- China
- Prior art keywords
- images
- image
- terminal
- acquisition device
- determining
- 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.)
- Active
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 28
- 238000012545 processing Methods 0.000 claims abstract description 83
- 238000000034 method Methods 0.000 claims abstract description 73
- 239000011159 matrix material Substances 0.000 claims description 20
- 238000004422 calculation algorithm Methods 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 4
- 230000003247 decreasing effect Effects 0.000 claims description 2
- 230000008569 process Effects 0.000 description 28
- 230000033001 locomotion Effects 0.000 description 27
- 238000004891 communication Methods 0.000 description 26
- 238000010586 diagram Methods 0.000 description 16
- 238000009499 grossing Methods 0.000 description 14
- 230000006870 function Effects 0.000 description 12
- 238000010295 mobile communication Methods 0.000 description 12
- 238000007726 management method Methods 0.000 description 8
- 230000008859 change Effects 0.000 description 7
- 230000001133 acceleration Effects 0.000 description 6
- 238000006073 displacement reaction Methods 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 6
- 230000005236 sound signal Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 238000013528 artificial neural network Methods 0.000 description 4
- 229920001621 AMOLED Polymers 0.000 description 3
- 230000000903 blocking effect Effects 0.000 description 3
- 230000000295 complement effect Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 229910044991 metal oxide Inorganic materials 0.000 description 3
- 150000004706 metal oxides Chemical class 0.000 description 3
- 239000004065 semiconductor Substances 0.000 description 3
- AYFVYJQAPQTCCC-GBXIJSLDSA-N L-threonine Chemical compound C[C@@H](O)[C@H](N)C(O)=O AYFVYJQAPQTCCC-GBXIJSLDSA-N 0.000 description 2
- 230000003416 augmentation Effects 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000005266 casting Methods 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 238000005265 energy consumption Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 238000012805 post-processing Methods 0.000 description 2
- 239000002096 quantum dot Substances 0.000 description 2
- 230000008439 repair process Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 238000013529 biological neural network Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 210000000988 bone and bone Anatomy 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 230000019771 cognition Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 238000003702 image correction Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 230000005855 radiation Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000001356 surgical procedure Methods 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/68—Control of cameras or camera modules for stable pick-up of the scene, e.g. compensating for camera body vibrations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Studio Devices (AREA)
Abstract
本申请实施例公开了一种图像处理方法,涉及图像处理技术领域。本申请实施例方法包括:获取第一图像序列,所述第一图像序列包括M个图像,所述M为正整数;确定所述M个图像中每个图像对应的抖动幅度,所述抖动幅度用于表示图像中的像素相比于基准图像的偏移量;根据所述抖动幅度,在所述M个图像中确定N个图像,所述N小于所述M,且所述N为正整数;输出第二图像序列,所述第二图像序列包括所述N个图像。该方法能够避免视频画面出现无图像区域,提高视频的质量。
Description
技术领域
本申请涉及图像处理技术领域,尤其涉及一种图像处理方法及相关装置。
背景技术
随着社会的发展,人们越来越多的使用各种终端进行视频拍摄,包括消费者领域以及视频监控领域等。在使用终端拍摄视频的过程中,由于拍摄者运动或者用于固定终端的固定杆受到外力发生振动,会导致视频画面出现抖动的情况,无法取得令人满意的视频质量。因此,视频防抖技术被提出,应用于视频的拍摄过程或者视频的后处理过程,以减轻抖动对视频质量的影响。
目前,在视频防抖算法中,通常是预先设置一个裁剪比例,对输入的视频进行裁剪,并输出较小尺寸的视频,从而实现视频防抖。然而,在拍摄视频的终端抖动较大时,视频画面的抖动程度会超过裁剪比例能处理的范围,从而导致视频画面出现无图像区域,影响了视频的质量。
发明内容
本申请提供了一种图像处理方法及相关装置,通过在获取到M个图像时,根据M个图像中每个图像对应的抖动幅度,在M个图像选择N个图像作为输出,N为小于M的正整数,从而将抖动幅度较大的图像筛选掉,尽可能保证视频画面的抖动程度不会超过裁剪比例能处理的范围,避免视频画面出现无图像区域,提高了视频的质量。
本申请第一方面提供一种图像处理方法,包括:终端获取第一图像序列,所述第一图像序列包括M个图像,所述M为正整数,即所述第一图像序列可以是图像采集装置在一个时间段内,例如0.5秒或1秒,所采集到的一组连续的图像。终端确定所述M个图像中每个图像对应的抖动幅度,所述抖动幅度用于表示图像中的像素相比于该像素在基准图像中所对应的像素的偏移量。该基准图像可以是图像采集装置未发生抖动时所采集的图像,且该基准图像是图像采集装置在采集M个图像之前所采集的图像。根据所述M个图像中每个图像的抖动幅度,终端在所述M个图像中确定N个图像,所述N小于所述M,且所述N为正整数,即在M个图像中确定N个抖动幅度较小的图像,以便于将抖动幅度较大的图像筛选出来。终端输出第二图像序列,所述第二图像序列包括所述N个图像。
本方案中,通过在获取到M个图像时,根据M个图像中每个图像对应的抖动幅度,在M个图像中选择N个图像作为输出,N为小于M的正整数,从而将抖动幅度较大的图像筛选掉,保证视频画面的抖动程度不会超过裁剪比例能处理的范围,避免视频画面出现无图像区域,提高了视频的质量。
在一种可能的实现方式中,所述根据所述M个图像中每个图像对应的抖动幅度,在所述M个图像中确定N个图像,包括:根据所述抖动幅度,按照抖动幅度从小到大的顺序,在所述M个图像中确定N个图像,所述N的取值为第一阈值。也就是说,终端在M个图像中选择了N个图像,剩余M-N个未选择的图像。终端所确定的N个图像为该M个图像中抖动幅度最小的N个图像,N个图像中的任意一个图像对应的抖动幅度均小于M-N个未选择的图像对应的抖动幅度。
通过按照抖动幅度从小到大的顺序,在M个图像中确定N个图像,可以将输入的图像序列中抖动幅度最大的一个或多个图像筛选掉,从而保证用于后续防抖处理的图像的抖动程度不会超过裁剪比例能处理的范围,避免视频画面出现无图像区域,提高视频的质量。
在一种可能的实现方式中,所述根据所述M个图像中每个图像对应的抖动幅度,在所述M个图像中确定N个图像,包括:根据所述抖动幅度以及约束条件,按照抖动幅度从小到大的顺序,在所述M个图像中确定N个图像,所述N的取值为第一阈值;其中,所述约束条件为得到的N个图像中相邻的两个图像在所述第一图像序列中的间隔小于第二阈值。也就是说,终端在M个图像中选择N个图像的过程中,除了按照抖动幅度从小到大的顺序来选择图像,还需要保证选择到的相邻的两个图像在第一图像序列中的间隔不大于第二阈值。
通过设定终端在选择图像的过程中的约束条件,可以保证终端所选择到的多个图像中任意两个相邻的图像之间的时间间隔在一定的范围内,避免视频画面出现卡顿的现象。
在一种可能的实现方式中,所述根据所述M个图像中每个图像对应的抖动幅度,在所述M个图像中确定N个图像,包括:根据所述抖动幅度,在所述M个图像中确定抖动幅度小于第三阈值的N个图像。
也就是说,在终端中可以预先设定有第三阈值,终端可以根据M个图像中每个图像对应的抖动幅度与第三阈值之间的大小关系,确定需要选择的图像为抖动幅度小于第三阈值的图像。其中,第三阈值可以是根据裁剪比例所确定的阈值,该裁剪比例为终端中预置的,是在对图像防抖处理中用于裁剪图像的比例。通过根据裁剪比例确定第三阈值,可以确保采用该裁剪比例处理抖动幅度小于该第三阈值的图像时,不会出现无图像区域。
在一种可能的实现方式中,所述方法还包括:在确定所述图像采集装置发生抖动时,向所述图像采集装置发送指令,所述指令用于指示所述图像采集装置采用第一帧率来采集图像;其中,所述图像采集装置在未发生抖动时采用第二帧率采集图像,所述第二帧率小于所述第一帧率。
在终端所输出的视频的帧率固定的情况下,终端在确定图像采集装置发生抖动时,再指示图像采集装置提高采集图像的帧率,可以保证终端获取到的输入图像多于终端输出的图像,便于终端筛选并剔除抖动幅度较大的图像。只有在图像采集装置发生抖动的情况下,图像采集装置才需要提高采集图像的帧率,从而能够避免图像采集装置一直采用较高的帧率采集图像,降低了图像采集装置的能耗。
在一种可能的实现方式中,所述方法还包括:获取所述图像采集装置在第一时间段内的S个时刻的角速度信息,所述S为大于1的整数;确定所述S个时刻的角速度信息的方差;当所述方差大于第四阈值时,确定所述图像采集装置发生抖动;当所述方差小于或等于所述第四阈值时,确定所述图像采集装置未发生抖动。
其中,方差是指每个角速度信息与全体角速度信息的平均数之差的平方值的平均数,用于衡量每一个角速度信息与总体角速度信息均值之间的差异。在方差较大的情况下,可以认为角速度信息与总体角速度信息均值之间的差异较大,即角速度在总体角速度的均值附近波动较大,从而可以认为图像采集装置发生了抖动。
在一种可能的实现方式中,所述M个图像对应的抖动幅度包括所述M个图像对应的偏移量;所述终端确定所述M个图像对应的抖动幅度,包括:终端获取图像采集装置在第二时间段内的P个时刻的角速度信息,所述P为大于1的整数,所述图像采集装置用于采集所述第一图像序列;终端根据所述P个时刻的角速度信息确定所述图像采集装置在采集所述M个图像时的位姿信息;终端根据所述位姿信息确定所述M个图像中每个图像对应的偏移量。
在一种可能的实现方式中,终端根据所述P个时刻的角速度信息确定图像采集装置在采集所述M个图像时的位姿信息,包括:终端根据所述P个时刻的角速度信息以及所述M个图像的采集时刻,通过线性插值法确定所述图像采集装置在采集所述M个图像时的位姿信息。
在一种可能的实现方式中,所述终端根据所述位姿信息确定所述M个图像对应的偏移量,包括:终端根据所述图像采集装置在采集所述M个图像时的位姿信息确定所述M个图像中每个图像对应的旋转矩阵;终端根据所述M个图像对应的旋转矩阵,确定所述M个图像对应的偏移量。
在一种可能的实现方式中,所述终端在所述M个图像中确定N个图像之前,所述方法还包括:终端获取图像选择比值,所述图像选择比值为图像输入数量与图像输出数量之间的比值;终端根据所述M个图像与所述图像选择比例,确定所述N的取值;其中,所述M与所述N之间的比值与所述图像选择比值相同。
在一种可能的实现方式中,所述终端输出第二图像序列之前,所述方法还包括:终端根据防抖算法,对所述N个图像进行防抖处理,得到处理后的N个图像;终端输出所述第二图像序列,所述第二图像序列包括所述处理后的N个图像。
本申请第二方面提供一种终端,包括:获取单元和处理单元;所述获取单元,用于获取第一图像序列,所述第一图像序列包括M个图像,所述M为正整数;所述处理单元,用于确定所述M个图像中每个图像对应的抖动幅度,所述抖动幅度用于表示图像中的像素相比于基准图像的偏移量;所述处理单元,还用于根据所述抖动幅度,在所述M个图像中确定N个图像,所述N小于所述M,且所述N为正整数;所述处理单元,还用于输出第二图像序列,所述第二图像序列包括所述N个图像。
在一种可能的实现方式中,所述处理单元,还用于根据所述抖动幅度,按照抖动幅度从小到大的顺序,在所述M个图像中确定N个图像,所述N的取值为第一阈值。
在一种可能的实现方式中,所述处理单元,还用于根据所述抖动幅度以及约束条件,按照抖动幅度从小到大的顺序,在所述M个图像中确定N个图像,所述N的取值为第一阈值;其中,所述约束条件为得到的N个图像中相邻的两个图像在所述第一图像序列中的间隔小于第二阈值。
在一种可能的实现方式中,所述处理单元,还用于根据所述抖动幅度,在所述M个图像中确定抖动幅度小于第三阈值的N个图像。
在一种可能的实现方式中,所述处理单元,还用于在确定所述图像采集装置发生抖动时,向所述图像采集装置发送指令,所述指令用于指示所述图像采集装置采用第一帧率来采集图像;其中,所述图像采集装置在未发生抖动时采用第二帧率采集图像,所述第二帧率小于所述第一帧率。
在一种可能的实现方式中,所述获取单元,还用于获取所述图像采集装置在第一时间段内的S个时刻的角速度信息,所述S为大于1的整数;所述处理单元,还用于确定所述S个时刻的角速度信息的方差;当所述方差大于第四阈值时,确定所述图像采集装置发生抖动。
在一种可能的实现方式中,所述M个图像对应的抖动幅度包括所述M个图像对应的偏移量;所述获取单元,还用于获取图像采集装置在第二时间段内的P个时刻的角速度信息,所述P为大于1的整数,所述图像采集装置用于采集所述第一图像序列;所述处理单元,还用于根据所述P个时刻的角速度信息确定所述图像采集装置在采集所述M个图像时的位姿信息;所述处理单元,还用于根据所述位姿信息确定所述M个图像中每个图像对应的偏移量。
在一种可能的实现方式中,所述处理单元,还用于根据所述P个时刻的角速度信息以及所述M个图像的采集时刻,通过线性插值法确定所述图像采集装置在采集所述M个图像时的位姿信息。
在一种可能的实现方式中,所述处理单元,还用于根据所述图像采集装置在采集所述M个图像时的位姿信息确定所述M个图像中每个图像对应的旋转矩阵;所述处理单元,还用于根据所述M个图像对应的旋转矩阵,确定所述M个图像对应的偏移量。
在一种可能的实现方式中,所述获取单元,还用于获取图像选择比值,所述图像选择比值为图像输入数量与图像输出数量之间的比值;所述处理单元,还用于根据所述M个图像与所述图像选择比例,确定所述N的取值;其中,所述M与所述N之间的比值与所述图像选择比值相同。
在一种可能的实现方式中,所述处理单元,还用于根据防抖算法,对所述N个图像进行防抖处理,得到处理后的N个图像;所述处理单元,还用于输出所述第二图像序列,所述第二图像序列包括所述处理后的N个图像。
本申请实施例第三方面提供了一种终端,包括:一个或多个处理器和存储器;其中,所述存储器中存储有计算机可读指令;所述一个或多个处理器读取所述存储器中的所述计算机可读指令以使所述终端实现如上述第一方面以及各种可能的实现方式中任一项所述的方法。该终端例如可以包括耳机。
本申请实施例第四方面提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得所述计算机执行如上述第一方面以及各种可能的实现方式中任一项所述的方法。
本申请实施例第五方面提供了一种计算机可读存储介质,包括指令,当所述指令在计算机上运行时,使得计算机执行如上述第一方面以及各种可能的实现方式中任一项所述的方法。
本申请实施例第六方面提供了一种芯片,包括处理器。处理器用于读取并执行存储器中存储的计算机程序,以执行上述任一方面任意可能的实现方式中的方法。可选地,该芯片该包括存储器,该存储器与该处理器通过电路或电线与存储器连接。进一步可选地,该芯片还包括通信接口,处理器与该通信接口连接。通信接口用于接收需要处理的数据和/或信息,处理器从该通信接口获取该数据和/或信息,并对该数据和/或信息进行处理,并通过该通信接口输出处理结果。该通信接口可以是输入输出接口。
其中,第二方面至第六方面中任一种实现方式所带来的技术效果可参见第一方面中相应实现方式所带来的技术效果,此处不再赘述。
附图说明
图1为本申请实施例提供的一种裁剪视频画面的示意图;
图2为本申请实施例提供的一种应用场景的示意图;
图3为本申请实施例提供的一种图像处理方法300的流程示意图;
图4为本申请实施例提供的一种图像处理方法400的流程示意图;
图5为本申请实施例提供的一种终端抖动时的旋转模型的示意图;
图6为本申请实施例提供的一种选择图像的示意图;
图7为本申请实施例提供的一种图像选择的示意图;
图8为本申请实施例提供的一种路径平滑前的图像数据对比示意图;
图9为本申请实施例提供的一种终端的结构示意图;
图10为本申请实施例提供的一种终端100的结构示意图。
具体实施方式
下面结合附图,对本申请的实施例进行描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。本领域普通技术人员可知,随着技术的发展和新场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或模块的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或模块,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或模块。在本申请中出现的对步骤进行的命名或者编号,并不意味着必须按照命名或者编号所指示的时间/逻辑先后顺序执行方法流程中的步骤,已经命名或者编号的流程步骤可以根据要实现的技术目的变更执行次序,只要能达到相同或者相类似的技术效果即可。
随着终端技术的不断发展,诸如手机、平板电脑等电子设备已经具备了强大的处理能力,深深的融入人们的工作和生活中。目前,人们在日常生活中越来越多的使用电子设备拍摄视频。然而,在使用终端拍摄视频的过程中,由于拍摄者运动或者用于固定终端的固定杆受到外力发生振动,会导致视频画面出现抖动的情况,无法取得令人满意的视频质量。因此,视频防抖技术被提出,应用于视频的拍摄过程或者视频的后处理过程,以减轻抖动对视频质量的影响。
目前,在相关技术中,视频防抖算法包括运动路径平滑以及运动补偿两个步骤。运动路径平滑是指利用低通滤波器或算法,对终端原始的运动路径进行平滑,消除在运动过程中出现的抖动部分,得到平滑后的运动路径。运动补偿是指根据终端原始的运动路径与平滑后的运动路径之间的映射关系,得到运动的补偿信息,从而对当前视频帧进行校正,得到新的稳定视频帧。该方法需要预先设置一个裁剪比例,对处理后的图像进行裁剪,以保证视频画面的稳定。
示例性地,可以参阅图1,图1为本申请实施例提供的一种裁剪视频画面的示意图。如图1所示,对于输入的每一帧图像,均需要采用一个大小比例固定的裁剪窗口对图像进行裁剪,裁剪后得到的图像作为输出。对于输入的每一帧图像,由于抖动情况不一样,导致终端实际拍摄每一帧图像的位置都可能是不一样的。这样,主要拍摄物(例如图1中的人物)在每一帧图像中的位置都可能是不一样的。为了保证视频画面的稳定,即保证主要拍摄物在视频画面中的位置相对稳定,可以是基于运动的补偿信息调整裁剪窗口的位置,从而裁剪得到相对稳定的视频。但是,在终端抖动较大的情况下,裁剪窗口的位置调整量也相对较大,从而可能导致部分裁剪窗口在图像之外,例如图1中的第4帧图像。这样,裁剪得到的图像中会出现无图像区域,即黑边,从而影响了视频的质量。
有鉴于此,本申请实施例提供了一种图像处理方法,应用于视频防抖,通过在获取到M个图像时,根据M个图像中每个图像对应的抖动幅度,在M个图像选择N个图像作为输出,N为小于M的正整数,从而将抖动幅度较大的图像筛选掉,保证视频画面的抖动程度不会超过裁剪比例能处理的范围,避免视频画面出现无图像区域,提高视频的质量。
可以参阅图2,图2为本申请实施例提供的一种应用场景的示意图。如图2所示,本申请实施例提供的图像处理方法可以应用于终端上,该终端上安装有能够拍摄视频的图像采集装置。在图像采集装置拍摄视频的过程中,该终端发生抖动,图像采集装置拍摄到的视频画面会发生变化,并且视频画面的变化量与终端的抖动幅度相关。
该终端又称之为用户设备(user equipment,UE)、移动台(mobile station,MS)、移动终端(mobile terminal,MT)等,是一种安装有能够拍摄视频的图像采集装置的设备。例如,具有拍摄功能的手持式设备、监控摄像机等。目前,一些终端的举例为:手机(mobilephone)、平板电脑、笔记本电脑、掌上电脑、监控摄像机、移动互联网设备(mobile internetdevice,MID)、可穿戴设备,虚拟现实(virtual reality,VR)设备、增强现实(augmentedreality,AR)设备、工业控制(industrial control)中的无线终端、无人驾驶(selfdriving)中的无线终端、远程手术(remote medical surgery)中的无线终端、智能电网(smart grid)中的无线终端、运输安全(transportation safety)中的无线终端、智慧城市(smart city)中的无线终端、智慧家庭(smart home)中的无线终端等。
终端中的图像采集装置用于将光信号转换为电信号,以生成图像信号。图像采集装置例如可以为图像传感器,图像传感器例如可以为电荷耦合器件(Charge CoupledDevice,CCD)或者互补金属氧化物半导体(Complementary Metal Oxide Semiconductor,CMOS)。
终端中还可以安装有用于测量终端运动情况的装置,例如惯性测量单元(Inertial measurement unit,IMU)。IMU是测量物体三轴的角速率以及加速度的装置。一般地,一个IMU包含了三个单轴的加速度计和三个单轴的陀螺仪;加速度计用于检测物体在载体坐标系统独立三轴的加速度信号,而陀螺仪检测载体相对于导航坐标系的角速度信号。通过IMU测量物体在三维空间中的角速度和加速度,可以解算出物体的姿态。
可以参阅图3,图3为本申请实施例提供的一种图像处理方法300的流程示意图。如图3所示,该图像处理方法300包括以下的步骤:
步骤301,获取第一图像序列,所述第一图像序列包括M个图像,所述M为正整数。
本实施例中,在终端执行视频拍摄的过程中,终端中的图像采集装置持续采集图像,终端可以获取到图像采集装置采集到的第一图像序列。该第一图像序列可以是图像采集装置在一个时间段内,例如0.5秒或1秒,所采集到的一组连续的图像。
该第一图像序列包括有图像采集装置采集到的M个图像,M的大小与图像采集装置采集图像的帧率以及第一图像序列对应的采集时间相关。例如,在图像采集装置采集图像的帧率为每秒采集60张,且第一图像序列对应的采集时间为0.2秒时,M为12;在图像采集装置采集图像的帧率为:每秒采集30个图像,且第一图像序列对应的采集时间为0.5秒时,M为15。
在一个可能的实施例中,终端可以在确定所述图像采集装置发生抖动时,向所述图像采集装置发送指令,该指令用于指示所述图像采集装置采用第一帧率来采集图像;其中,所述图像采集装置在未发生抖动时采用第二帧率采集图像,所述第二帧率小于所述第一帧率。例如,在终端获取到该第一图像序列之前,终端采用第二帧率来采集图像,该第二帧率例如可以为每秒采集30张;如果终端确定图像采集装置发生抖动,则终端向图像采集装置发送指示其采用第一帧率采集图像的指令,从而使得图像采集装置提高采集图像的帧率,例如在第一帧率为每秒采集60张的情况下,图像采集装置则从每秒采集30张的帧率提高至每秒采集60张。
可以理解的是,在终端所输出的视频的帧率固定的情况下,终端在确定图像采集装置发生抖动时,再指示图像采集装置提高采集图像的帧率,可以保证终端获取到的输入图像多于终端输出的图像,便于终端筛选并剔除抖动幅度较大的图像。此外,在图像采集装置稳定的情况下,图像采集装置采集图像的帧率可以与终端输出图像的帧率相同。只有在图像采集装置发生抖动的情况下,图像采集装置才需要提高采集图像的帧率,从而能够避免图像采集装置一直采用较高的帧率采集图像,降低了图像采集装置的能耗。
在一个可能的实施例中,终端确定所述图像采集装置发生抖动的过程,可以包括:终端获取所述图像采集装置在第一时间段内的S个时刻的角速度信息,该S为大于1的整数;终端确定所述S个时刻的角速度信息的方差,并且当所述方差大于第四阈值时,确定所述图像采集装置发生抖动,当所述方差小于或等于所述第四阈值时,确定所述图像采集装置发生抖动。其中,第一时间段的时间长度可以根据IMU采集角速度的频率来确定,例如在IMU采集角速度的频率为100赫兹时(即每秒采集100次角速度),则第一时间段可以为0.1秒。这样,在IMU采集角速度的时间间隔固定的情况下,第一时间段内的S个时刻也是固定的,例如第一时间段为0.1秒时,S个时刻可以是指10个时刻。其中,方差是指每个角速度信息与全体角速度信息的平均数之差的平方值的平均数,用于衡量每一个角速度信息与总体角速度信息均值之间的差异。在方差较大的情况下,可以认为角速度信息与总体角速度信息均值之间的差异较大,即角速度在总体角速度的均值附近波动较大,从而可以认为图像采集装置发生了抖动。
步骤302,确定所述M个图像中每个图像对应的抖动幅度,所述抖动幅度用于表示图像中的像素相比于基准图像的偏移量。
可以理解的是,在终端拍摄视频的过程中,如果终端发生了抖动,则安装于终端上的图像采集装置同样会发生相同的抖动。这样,当图像采集装置在持续采集图像时发生抖动,图像采集装置采集到的每一个图像都具有对应的抖动幅度,该抖动幅度用于表示图像中的像素相比于该像素在基准图像中所对应的像素的偏移量。该基准图像可以是图像采集装置未发生抖动时所采集的图像,且该基准图像是图像采集装置在采集M个图像之前所采集的图像。例如,在静态场景下,当图像采集装置静止时,图像采集装置在多个时刻所采集的图像实际上是相同的,即不同图像中用于表示相同物体的像素的位置不变;当图像采集装置抖动时,图像采集装置的位置相对于图像采集装置未发生抖动时发生了变化,那么场景中的每个物体在图像采集装置所采集到的图像中的位置也是发生了变化,即不同图像中用于表示相同物体的像素的位置发生了变化。
示例性地,在图像采集装置采集该M个图像之前,图像采集装置未发生抖动,则终端可以获取图像采集装置在发生抖动前所采集的一个或多个图像,并且选择其中的一个图像作为基准图像。那么,对于M个图像中的任意一个图像来说,该图像中的像素(例如位于中心点的像素)可以在该基准图像找到对应的像素(即基准图像中与其表示相同物体的像素)。终端通过确定M个图像中的任意一个图像的像素相比于其在基准图像中对应的像素的偏移量,来确定该图像的抖动幅度。
在一个可能的实施例中,终端确定该M个图像对应的抖动幅度的过程可以包括:
终端通过IMU获取所述图像采集装置在一定时间段内的P个时刻的角速度信息,所述P为大于1的整数,且P个时刻中相邻的两个时刻的时间间隔可以是相等的。例如,在IMU的频率为100赫兹的情况下,终端可以通过IMU获取图像采集装置在0.1秒内的10个时刻的角速度信息,且0.1秒内的每两个时刻之间的时间间隔均为0.01秒。
在获取到P个时刻的角速度信息之后,终端可以根据P个时刻的角速度信息确定所述图像采集装置在采集所述M个图像时的位姿信息。在获取到了P个时刻的角速度信息,以及P个时刻中相邻的两个时刻的时间间隔的情况下,可以通过每个时刻的角速度信息与相邻两个时刻的时间间隔,确定图像采集装置在该时间间隔内的位姿变化量。通过叠加每个时间间隔内的位姿变化量,即可得到图像采集装置在P个时刻的角速度信息。例如,在获取到时刻1、时刻2以及时刻3的角速度信息以及固定的时间间隔t时,可以基于时刻1的角速度信息和时间间隔t得到图像采集装置在时刻1的位姿信息;基于图像采集装置在时刻1的位姿信息、时刻2的角速度信息和时间间隔t可以叠加得到图像采集装置在时刻2的位姿信息;类似地,基于时刻2对应的位姿信息、时刻3的角速度信息和时间间隔t可以叠加得到图像采集装置在时刻3的位姿信息。
由于IMU采集角速度信息的时刻与图像采集装置采集图像的时刻可能不是相同的时刻,因此还可以基于IMU采集角速度信息的时刻对应的位姿信息,确定图像采集装置采集图像的时刻对应的位姿信息。示例性地,终端可以根据所述P个时刻的角速度信息以及所述M个图像的采集时刻,通过线性插值法确定所述图像采集装置在采集所述M个图像时的位姿信息。其中,线性插值法是基于经过两插值节点的直线来近似代替原函数,从而确定直线上的任意一点对应的值。也就是说,对于图像采集装置采集图像的任意一个时刻,可以基于离与该时刻最近的两个采集时刻(即IMU采集角速度信息的时刻)对应的位姿信息,通过线性插值法确定该时刻对应的位姿信息,从而得到每个图像所对应的位姿信息。
最后,终端可以根据M个图像对应的位姿信息来确定所述M个图像对应的偏移量,该偏移量实际上可以为图像中的像素的偏移量。示例性地,终端可以对图像采集装置进行运动估计,例如基于罗德里格斯公式,根据所述M个图像对应的位姿信息分别确定所述M个图像对应的旋转矩阵。终端再根据所述旋转矩阵对M个图像中的坐标点进行变换处理,得到M个变换后的坐标点,通过计算每个图像中变换后的坐标点与变换前的坐标点之间的偏移量,确定所述M个图像对应的偏移量,该偏移量即为图像的抖动幅度。
在另一个可能的示例中,终端也可以是通过IMU获取图像采集装置在采集每个图像时的角速度信息,然后计算图像采集装置在采集每个图像时的位姿信息,通过基于图像采集装置在采集M个图像中的任意一个图像时的位姿信息和图像采集装置在采集基准图像时的位姿信息,计算两个位姿信息之间的位姿变化量,来确定M个图像中的每个图像的抖动幅度。
步骤303,根据所述抖动幅度,在所述M个图像中确定N个图像,所述N小于所述M,且所述N为正整数。
本实施例中,在确定了M个图像中每个图像对应的抖动幅度之后,可以根据M个图像中每个图像的抖动幅度大小,在M个图像中确定N个抖动幅度较小的图像,以便于将抖动幅度较大的图像筛选出来。
其中,终端在M个图像中确定N个图像的方式可以有多种。
方式一,终端可以根据所述M个图像对应的抖动幅度,按照抖动幅度从小到大的顺序,在所述M个图像中确定N个图像,所述N的取值为第一阈值。
也就是说,终端在M个图像中选择了N个图像,剩余M-N个未选择的图像。终端所确定的N个图像为该M个图像中抖动幅度最小的N个图像,N个图像中的任意一个图像对应的抖动幅度均小于M-N个未选择的图像对应的抖动幅度。其中,N的取值为第一阈值,第一阈值可以是终端在选择图像前所确定的,例如终端可以基于预先设定的M与N之间的比例关系,根据第一图像序列中的图像的数量(即M)确定N。示例性地,在M为60,且M与N之间的比例关系为2比1时,终端可以确定N为30。
例如,假设M为5,N为3,即终端需要在5个图像(例如图像A1,图像A2,图像A3,图像A4,图像A5)中确定其中的3个图像,且该5个图像对应的抖动幅度分别为1,2,3,4,5。这样,终端可以在该5个图像中确定抖动幅度最小的3个图像,即抖动幅度为1的图像A1,抖动幅度为2的图像A2以及抖动幅度为3的图像A3。
通过按照抖动幅度从小到大的顺序,在M个图像中确定N个图像,可以将输入的图像序列中抖动幅度最大的一个或多个图像筛选掉,从而保证用于后续防抖处理的图像的抖动程度不会超过裁剪比例能处理的范围,避免视频画面出现无图像区域,提高视频的质量。
方式二,终端根据所述M个图像对应的抖动幅度以及约束条件,按照抖动幅度从小到大的顺序,在所述M个图像中确定N个图像,N为第一阈值;其中,所述约束条件为得到的N个图像中相邻的两个图像在所述第一图像序列中的间隔小于第二阈值。
相比于方式一,终端在M个图像中选择N个图像的过程中,除了按照抖动幅度从小到大的顺序来选择图像,还需要保证选择到的相邻的两个图像在第一图像序列中的间隔不大于第二阈值。其中,N的取值为第一阈值,第一阈值可以是终端在选择图像前所确定的,例如终端可以基于预先设定的M与N之间的比例关系,根据第一图像序列中的图像的数量(即M)确定N。示例性地,在M为60,且M与N之间的比例关系为2比1时,终端可以确定N为30。
可以理解的是,第一图像序列中的M个图像是图像采集装置按照时间顺序依次采集的,每两个相邻的图像之间的时间间隔均是固定的。因此,在选择到的N个图像中,如果相邻的两个图像在第一图像序列中的间隔较大时,这两个图像之间的时间间隔也较大。这样一来,在图像中的运动物体运动速度较大的情况下,这两个图像中的运动物体所在的位置可能出现较大偏差,从而导致由这两个图像构成的视频中出现画面卡顿的现象,影响观看体验。
因此,通过设定终端在选择图像的过程中的约束条件,可以保证终端所选择到的多个图像中任意两个相邻的图像之间的时间间隔在一定的范围内,避免视频画面出现卡顿的现象。在实际应用过程中,第二阈值的取值可以根据图像采集装置采集图像的时间间隔来确定。例如,在图像采集装置采集图像的时间间隔较大时,第二阈值的取值则可以为较小的值,以保证选择到的两个图像之间的时间间隔在一定范围内;在图像采集装置采集图像的时间间隔较小时,第二阈值的取值则可以为较大的值。示例性地,在图像采集装置采集图像的时间间隔为0.02秒时,第二阈值可以为2或3;在图像采集装置采集图像的时间间隔为0.01秒时,第二阈值可以为4或5。
例如,假设第一图像序列为{B1,B2,B3,B4,B5,B6},第一图像序列对应的抖动幅度分别为{1,5,4,3,2,1},且终端需要在第一图像序列中选择3个图像(即M为6,N为3),约束条件为选择到的两个相邻的在第一图像序列中的间隔不大于2。可以看出,在终端只按照抖动幅度从小到大的顺序选择3个图像时,终端可以选择到抖动幅度分别为1、2以及1的图像B1、图像B5以及图像B6。然而,图像B1与图像B5之间间隔了3个图像,即图像B1与B5之间的间隔大于3,并不满足约束条件的要求。因此,终端在根据该6个图像对应的抖动幅度以及约束条件,在该6个图像中选择3个图像时,终端可以选择到符合条件的图像B1,图像B4以及图像B6。其中,图像B1与图像B4之间的间隔不大于2,图像B4与图像B6之间的间隔也不大于2。
通过按照抖动幅度从小到大的顺序以及预先设定的约束条件,在M个图像中确定N个图像,可以将输入的图像序列中抖动幅度最大的一个或多个图像筛选掉,并且确保选择到的两个相邻图像之间的间隔,能够在避免视频画面出现无图像区域的同时,保证视频画面不会出现卡顿的现象,提高视频的质量。
方式三,根据所述M个图像对应的抖动幅度,在所述M个图像中确定抖动幅度小于第三阈值的N个图像。
也就是说,在终端中可以预先设定有第三阈值,终端可以根据M个图像中每个图像对应的抖动幅度与第三阈值之间的大小关系,确定需要选择的图像为抖动幅度小于第三阈值的图像。其中,第三阈值可以是根据裁剪比例所确定的阈值,该裁剪比例为终端中预置的,是在对图像防抖处理中用于裁剪图像的比例。通过根据裁剪比例确定第三阈值,可以确保采用该裁剪比例处理抖动幅度小于该第三阈值的图像时,不会出现无图像区域。示例性地,在抖动幅度为图像相比于基准图像的偏移量时,第三阈值例如可以为5个像素点(即偏移量为5个像素点的距离)。
在一个可能的实施例中,终端可以获取到图像选择比值,该图像选择比值为图像输入数量与图像输出数量之间的比值,该图像选择比值例如可以是预先设置于终端中的。在获取到第一图像序列中的M个图像之后,终端根据所述图像选择比例,确定在M个图像中选择输出N个图像;其中,所述M与所述N之间的比值与所述图像选择比值相同。
例如,在终端中预先设置图像选择比值为2比1,在获取到第一图像序列中的10个图像之后,终端可以根据图像选择比值确定输出5个图像。
步骤304,输出第二图像序列,所述第二图像序列包括所述N个图像。
终端在第一图像序列中的M个图像中确定了N个图像之后,该N个图像即可构成一个新的图像序列,即第二图像序列,终端通过输出该第二图像序列,以实现视频的输出。并且,该N个图像在第二图像序列中的排序与其在第一图像序列中的排序是相同的。也就是说,第二图像序列可以理解为是从第一图像序列中剔除了M-N个图像后所得到的图像序列。
在一个可能的实施例中,在终端输出第二图像序列之前,终端还可以对第二图像序列做进一步的防抖处理。示例性地,终端可以根据防抖算法,对所述N个图像进行防抖处理,得到处理后的N个图像;终端输出所述第二图像序列,所述第二图像序列包括所述处理后的N个图像。
其中,终端对图像进行防抖处理的方式例如可以包括对图像执行运动路径平滑。具体地,终端可以根据N个图像中每个图像对应的旋转矩阵,分别对该N个图像进行平滑处理(例如高斯平滑),从而得到稳定的视频。
应理解,在本实施例中,终端是在获取到M个图像之后,在M个图像中确定输出N个图像。因此,终端所输出的图像会具有一定的延迟,而延迟的时间则与M的取值相关。在实际情况中,可以根据延迟时间的需要来调整M的取值。例如,在实时性要求较高的情况下,M的取值可以为较小的值,以使得图像输出延时较小;在实时性要求较低的情况下,M的取值则可以为较大的值。
以上对本申请实施例提供的图像处理方法的流程进行了详细的描述,为了便于理解,以下将结合具体例子描述本申请实施例提供的图像处理方法。
可以参阅图4,图4为本申请实施例提供的一种图像处理方法400的流程示意图。如图4所示,该图像处理方法包括以下的步骤:
步骤401,检测终端运动状态。
在终端拍摄视频的过程中,终端可以实时获取安装于终端中的陀螺仪测量到的角速度信息。然后,终端基于获取到的角速度信息进行方差的求取,以确定终端的运动状态。
402,判断终端是否发生抖动。
403,在发生抖动时,开启高帧率模式。
在确定终端发生抖动时,终端可以通过向图像采集装置发送指令,指示图像采集装置提高采集图像的帧率,从而开启高帧率模式。例如,图像采集装置可以将采集图像的帧率提高至每秒采集60张图像,则当前的帧率模式为60帧/秒。
404,获取每个图像的运动信息,并将图像送入缓冲队列。
在图像采集装置采集图像的过程中,终端可以实时获取到图像采集装置所采集的图像,且终端可以基于陀螺仪实时测量的角速度信息,确定每个图像对应的运动信息。
示例性地,基于终端中的陀螺仪可以测量得到(t0,tN)时刻对应的陀螺仪数据序列
由于陀螺仪测量角速度信息的时间与图像采集装置采集图像的时间可能并非是同步的,因此可以对陀螺仪数据与图像数据进行时间上的同步,以得到图像采集装置在采集每个图像时终端对应的位姿信息。
对于图像采集装置采集到的一个图像,假设图像的采集时刻为tf,ta和tb为陀螺仪数据的采集时刻,且ta<tf<tb,tb-ta=td。并且,基于公式2得到时刻ta和时刻tb对应的终端位姿信息分别表示为和/>那么,基于上述的线性插值法,可以确定时刻tf所对应的终端位姿信息/>可以表示为如下的公式3:
可以参阅图5,图5为本申请实施例提供的一种终端抖动时的旋转模型的示意图。如图5所示,终端抖动时,图像采集装置采集到的每个图像在不同的平面上,且彼此之间可以通过旋转矩阵R关联。因此,根据罗德里格斯公式,可以对终端进行运动估计,即基于tf时刻时图像对应的位姿信息得到其对应的旋转矩阵R。
在得到每个图像对应的旋转矩阵R之后,可以将图像逐个送入缓冲队列中,以便于在缓冲队列中的图像达到设定的个数之后,统一对缓冲队列中的图像进行处理。其中,缓冲队列的长度决定了图像输出的延时程度。缓冲队列越短,延时越低;缓冲队列越长,延时则越高。
405,根据缓冲队列中图像的抖动幅度进行图像的选择。
本实施例中,假设缓冲队列中图像的数量为M,终端需要在缓冲队列的M个图像中,根据图像的抖动幅度选择N个图像。
示例性地,假设缓冲队列为S={f1,…,fM},且缓冲队列对应的旋转矩阵为R={R1,…,RM}。终端可以从缓冲队列中选取由N个图像组成的子集Soutput={f1,…,fN}。并且,对于子集中的N个图像,该N个图像中相邻的两个图像在缓冲队列中的间隔小于最大帧间隔X。示例性地,该最大帧间隔X例如可以为
具体地,由于图像采集装置采集不同图像时的终端姿态之间有旋转关系,因此可以利用旋转矩阵将所有的图像转换到同一坐标系下,以计算其偏离的程度。终端可以确定缓冲队列中的图像m(图像m可以为M个图像中的任意一个图像)的中心点(xm,ym),然后利用图像m对应的旋转矩阵Rm进行坐标变换,得到变换后坐标(x′m,y′m),并且计算原始坐标(xm,ym)与变换后坐标(x′m,y′m)的欧氏距离,记为偏移量cm。该偏移量cm的单位为像素个数,即该偏移量cm能够表示当前图像中的某一个像素(即位于中心点的像素)相对于没发生抖动时的图像中与其对应的像素的偏移量。例如,假设图像1中位于中心点的像素为像素点1,在图像2中存在有与该像素点1对应的像素点2,即像素点1和像素点2均是表示相同场景下相同物体上的同一部分;并且,图像1为图像采集装置在发生抖动时所采集的图像,图像2则为图像采集装置在未发生抖动时所采集的图像。那么,图像1的偏移量即可通过计算像素点1相对于像素点2偏移了多少个像素(即像素点1的位置与像素点2的位置之间相差了多少个像素),来计算得到。在以该偏移量cm表示图像对应的抖动幅度的情况下,缓冲队列中的每个图像的抖动幅度可以表示为C={c0,c1,…,cM}。
此外,终端也可以是通过IMU获取图像采集装置在采集每个图像时的角速度信息,然后计算图像采集装置在采集每个图像时的位姿信息,通过基于图像采集装置在采集M个图像中的任意一个图像时的位姿信息和图像采集装置在采集基准图像时的位姿信息,计算两个位姿信息之间的位姿变化量,来确定M个图像中的每个图像的抖动幅度。
此外,为了保证上一轮缓冲队列中所选择的最后一个图像与当前缓冲队列中所选择的第一个图像之间同样小于最大帧间隔X,在对本轮缓冲队列中的图像进行选择的过程中,可以在本轮缓冲队列中加入上一轮缓冲队列中最后被选择的图像以及之后的所有图像,以构成新的序列Snew={f-L,…,f-1,f1,…,fM},在该新的序列中L<X。
应理解,由于图像f-L为上一轮缓冲队列中被选择到的图像,因此为了保证图像f-L在本轮图像选择中一定能够被选到,可以设置图像f-L对应的抖动幅度c-N为0。此外,图像序列{f-L+1,…,f-1}对应的抖动幅度{c-L+1,…,c-1}则可以设置为正无穷,以保证图像序列{f-L+1,…,f-1}不会被选择到。
具体地,可以参阅图6,图6为本申请实施例提供的一种选择图像的示意图。如图6所示,上一轮的缓冲队列为Slast={f-M,f-M+1,…,f-1},且终端在该缓冲队列Slast中选择了Soutput_last={f-M,f-M+1,…,f-3}作为输出。那么,在处理本轮缓冲队列时,上一轮的图像序列{f-3,f-2,f-1}与本轮的图像序列S={f1,…,fM}构成新的图像序列Snew={f-3,…,f-1,f1,…,fM}。
在得到新的图像序列Snew之后,终端可以从Snew中选取N+1个图像。其中,终端选择的第一个图像即为上一轮缓冲队列中所选择的最后一个图像,该图像作为上一轮缓冲队列的输出序列;终端所选择的后N个图像则作为本轮缓冲队列的输出序列。
对于后N个图像,终端可以采用动态规划算法进行求解。也就是说,终端可以根据每一个图像的抖动幅度cm,基于动态规划算法从Snew队列中选择出N+1个图像,使得该N+1个图像的抖动幅度之和最小,同时满足相邻的两个图像之间的间隔不大于X。这样,选择得到的N+1个图像中的后N个图像即为本轮缓冲队列对应的选择到的图像。
可以参阅图7,图7为本申请实施例提供的一种图像选择的示意图。如图7所示,假设M为4,N为3,且最大帧间隔为2。对于缓冲队列中的V0、V1、V2和V3这四个图像,V0和V1的抖动幅度均小于V2和V3的抖动幅度,因此,终端在V0、V1、V2和V3这四个图像选择了抖动幅度较小的V0和V1作为本轮缓冲队列的输出图像。
406,对选择到的图像进行路径平滑,并基于平滑后的旋转矩阵对图像进行校正。
对于选择到的图像,由于其对应的图像采集装置的运动路径上存在噪声以及抖动现象。为了获得稳定的视频流,需要对图像采集装置的运动路径进行平滑处理,并根据平滑后的运动路径上图像采集装置对应的位姿对图像进行校正处理。
以单个方向为例,n个连续的图像组成序列F={fi|i=1,...,n},对应的偏转角度为Y={yi|i=1,...,n}。可以参阅图8,图8为本申请实施例提供的一种路径平滑前的图像数据对比示意图。如图8所示(图8是以单个方向上的偏转角度为例),横坐标为时间(单位为毫秒),纵坐标是图像采集装置对应的偏转角度。其中,波浪形的实线是原始的图像采集装置的运动路径,视频画面存在抖动。此时,基于高斯平滑等技术,可以对于偏转角度Y进行路径平滑,得到平滑后的偏转角度Y′=(y′i|i=1,...,n),从而构成虚拟的运动路径。其中,高斯滑动窗口依次滑过偏转角度序列Y,得到平滑偏转角度序列Y′,记为Y′=GaussianSmooth(Y)。经过平滑处理后,虚拟相机路线为中间平滑的虚线线段,路径噪声以及抖动被基本消除。
根据上述的路径平滑操作,可以得到每一个图像应该校正的角度,即从姿态yi校正到姿态y′i。对于图像fi,其校正后的图像可由公式4得出:
其中,R′i为校正后的图像采集装置姿态的旋转矩阵,Ri为校正前对应的图像采集装置姿态的旋转矩阵,K为图像采集装置的内参矩阵。旋转矩阵与旋转角度可以由罗德里格斯公式得到,即R=I+sinθK+(1-cosθ)K2。
407,对图像进行运动补偿。
由于对于抖动剧烈的视频,基于平滑后的旋转矩阵所得到的修正后的图像,仍然存在无图像区域。因此,本实施例中,可以通过视频插帧算法或者视频修复方法进行修复。如图1所示,最后一个图像校正完成后,出现了无图像区域。此时,可以通过视频插帧算法来进行图像的修复,即利用与该图像相邻的前一个完整的图像以及后一个完整的图像来进行插帧处理,得到修复后的图像;此外,也可以是通过视频修复方法来进行图像的修复,即利用多个相邻的图像来进行图像画面的预测填充,从而得到修复后的图像。
上面介绍了本申请提供的数据处理方法,下面对执行该数据处理方法的主体进行介绍。可以参阅图9,图9为本申请实施例提供的一种终端的结构示意图。
如图9所示,该终端,包括:获取单元901和处理单元902;所述获取单元901,用于获取第一图像序列,所述第一图像序列包括M个图像,所述M为正整数;所述处理单元902,用于确定所述M个图像中每个图像对应的抖动幅度,所述抖动幅度用于表示图像中的像素相比于基准图像的偏移量;所述处理单元902,还用于根据所述抖动幅度,在所述M个图像中确定N个图像,所述N小于所述M,且所述N为正整数;所述处理单元902,还用于输出第二图像序列,所述第二图像序列包括所述N个图像。
在一种可能的实现方式中,所述处理单元902,还用于根据所述抖动幅度,按照抖动幅度从小到大的顺序,在所述M个图像中确定N个图像,所述N的取值为第一阈值。
在一种可能的实现方式中,所述处理单元902,还用于根据所述抖动幅度以及约束条件,按照抖动幅度从小到大的顺序,在所述M个图像中确定N个图像,所述N的取值为第一阈值;其中,所述约束条件为得到的N个图像中相邻的两个图像在所述第一图像序列中的间隔小于第二阈值。
在一种可能的实现方式中,所述处理单元902,还用于根据所述抖动幅度,在所述M个图像中确定抖动幅度小于第三阈值的N个图像。
在一种可能的实现方式中,所述处理单元902,还用于在确定所述图像采集装置发生抖动时,向所述图像采集装置发送指令,所述指令用于指示所述图像采集装置采用第一帧率来采集图像;其中,所述图像采集装置在未发生抖动时采用第二帧率采集图像,所述第二帧率小于所述第一帧率。
在一种可能的实现方式中,所述获取单元901,还用于获取所述图像采集装置在第一时间段内的S个时刻的角速度信息,所述S为大于1的整数;所述处理单元902,还用于确定所述S个时刻的角速度信息的方差;当所述方差大于第四阈值时,确定所述图像采集装置发生抖动;当所述方差小于或等于所述第四阈值时,确定所述图像采集装置未发生抖动。
在一种可能的实现方式中,所述M个图像对应的抖动幅度包括所述M个图像对应的偏移量;所述获取单元901,还用于获取图像采集装置在第二时间段内的P个时刻的角速度信息,所述P为大于1的整数,所述图像采集装置用于采集所述第一图像序列;所述处理单元902,还用于根据所述P个时刻的角速度信息确定所述图像采集装置在采集所述M个图像时的位姿信息;所述处理单元902,还用于根据所述位姿信息确定所述M个图像中每个图像对应的偏移量。
在一种可能的实现方式中,所述处理单元902,还用于根据所述P个时刻的角速度信息以及所述M个图像的采集时刻,通过线性插值法确定所述图像采集装置在采集所述M个图像时的位姿信息。
在一种可能的实现方式中,所述处理单元902,还用于根据所述图像采集装置在采集所述M个图像时的位姿信息确定所述M个图像中每个图像对应的旋转矩阵;所述处理单元902,还用于根据所述M个图像对应的旋转矩阵,确定所述M个图像对应的偏移量。
在一种可能的实现方式中,所述获取单元901,还用于获取图像选择比值,所述图像选择比值为图像输入数量与图像输出数量之间的比值;所述处理单元902,还用于根据所述M个图像与所述图像选择比例,确定所述N的取值;其中,所述M与所述N之间的比值与所述图像选择比值相同。
在一种可能的实现方式中,所述处理单元902,还用于根据防抖算法,对所述N个图像进行防抖处理,得到处理后的N个图像;所述处理单元902,还用于输出所述第二图像序列,所述第二图像序列包括所述处理后的N个图像。
可以参阅图10,图10为本申请实施例提供的一种终端100的结构示意图。
如图10所示,终端100可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identification module,SIM)卡接口195等。其中传感器模块180可以包括压力传感器180A,陀螺仪传感器180B,气压传感器180C,磁传感器180D,加速度传感器180E,距离传感器180F,接近光传感器180G,指纹传感器180H,温度传感器180J,触摸传感器180K,环境光传感器180L,骨传导传感器180M等。
可以理解的是,本申请实施例示意的结构并不构成对终端100的具体限定。在本申请另一些实施例中,终端100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
其中,控制器可以是终端100的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I1C)接口,集成电路内置音频(inter-integrated circuitsound,I1S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purposeinput/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口等。
可以理解的是,本申请实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对终端100的结构限定。在本申请另一些实施例中,终端100也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块140可以通过USB接口130接收有线充电器的充电输入。
电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,外部存储器,显示屏194,摄像头193,和无线通信模块160等供电。
终端100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
在一些可行的实施方式中,终端100可以使用无线通信功能和其他设备通信。例如,终端100可以和第二电子设备通信,终端100与第二电子设备建立投屏连接,终端100输出投屏数据至第二电子设备等。其中,终端100输出的投屏数据可以为音视频数据。
天线1和天线2用于发射和接收电磁波信号。终端100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块150可以提供应用在终端100上的包括1G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(lownoise amplifier,LNA)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线2转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器170A,受话器170B等)输出声音信号,或通过显示屏194显示图像或视频。在一些实施例中,调制解调处理器可以是独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器110,与移动通信模块150或其他功能模块设置在同一个器件中。
无线通信模块160可以提供应用在终端100上的包括无线局域网(wireless localarea networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequencymodulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线1接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
在一些实施例中,终端100的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得终端100可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括全球移动通讯系统(global system for mobile communications,GSM),通用分组无线服务(general packet radio service,GPRS),码分多址接入(code divisionmultiple access,CDMA),宽带码分多址(wideband code division multiple access,WCDMA),时分码分多址(time-division code division multiple access,TD-SCDMA),长期演进(long term evolution,LTE),BT,GNSS,WLAN,NFC,FM,和/或IR技术等。所述GNSS可以包括全球卫星定位系统(global positioning system,GPS),全球导航卫星系统(globalnavigation satellite system,GLONASS),北斗卫星导航系统(beidou navigationsatellite system,BDS),准天顶卫星系统(quasi-zenith satellite system,QZSS)和/或星基增强系统(satellite based augmentation systems,SBAS)。
终端100通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emittingdiode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganic light emitting diode的,AMOLED),柔性发光二极管(flex light-emittingdiode,FLED),Miniled,MicroLed,Micro-oLed,量子点发光二极管(quantum dot lightemitting diodes,QLED)等。在一些实施例中,终端100可以包括1个或N个显示屏194,N为大于1的正整数。
在一些可行的实施方式中,显示屏194可用于显示终端100的系统输出的各个界面。终端100输出的各个界面可参考后续实施例的相关描述。
终端100可以通过ISP,摄像头193,视频编解码器,GPU,显示屏194以及应用处理器等实现拍摄功能。
ISP用于处理摄像头193反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将所述电信号传递给ISP处理,转化为肉眼可见的图像。ISP还可以对图像的噪点,亮度,肤色进行算法优化。ISP还可以对拍摄场景的曝光,色温等参数优化。在一些实施例中,ISP可以设置在摄像头193中。
摄像头193用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给ISP转换成数字图像信号。ISP将数字图像信号输出到DSP加工处理。DSP将数字图像信号转换成标准的RGB,YUV等格式的图像信号。在一些实施例中,终端100可以包括1个或N个摄像头193,N为大于1的正整数。
数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。
视频编解码器用于对数字视频压缩或解压缩。终端100可以支持一种或多种视频编解码器。这样,终端100可以播放或录制多种编码格式的视频,例如:动态图像专家组(moving picture experts group,MPEG)1,MPEG1,MPEG3,MPEG4等。
NPU为神经网络(neural-network,NN)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过NPU可以实现终端100的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解等。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展终端100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器110通过运行存储在内部存储器121的指令,从而执行终端100的各种功能应用以及数据处理。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储终端100使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。
终端100可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。在一些可行的实施方式中,音频模块170可用于播放视频对应的声音。例如,显示屏194显示视频播放画面时,音频模块170输出视频播放的声音。
音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。
扬声器170A,也称“喇叭”,用于将音频电信号转换为声音信号。
受话器170B,也称“听筒”,用于将音频电信号转换成声音信号。
麦克风170C,也称“话筒”,“传声器”,用于将声音信号转换为电信号。
耳机接口170D用于连接有线耳机。耳机接口170D可以是USB接口130,也可以是3.5mm的开放移动电子设备平台(open mobile terminal platform,OMTP)标准接口,美国蜂窝电信工业协会(cellular telecommunications industry association of the USA,CTIA)标准接口。
压力传感器180A用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器180A可以设置于显示屏194。陀螺仪传感器180B可以用于确定终端100的运动姿态。气压传感器180C用于测量气压。
加速度传感器180E可检测终端100在各个方向上(包括三轴或六轴)加速度的大小。当终端100静止时可检测出重力的大小及方向。还可以用于识别终端姿态,应用于横竖屏切换,计步器等应用。
距离传感器180F,用于测量距离。
环境光传感器180L用于感知环境光亮度。
指纹传感器180H用于采集指纹。
温度传感器180J用于检测温度。
触摸传感器180K,也称“触控面板”。触摸传感器180K可以设置于显示屏194,由触摸传感器180K与显示屏194组成触摸屏,也称“触控屏”。触摸传感器180K用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏194提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器180K也可以设置于终端100的表面,与显示屏194所处的位置不同。
按键190包括开机键,音量键等。按键190可以是机械按键。也可以是触摸式按键。终端100可以接收按键输入,产生与终端100的用户设置以及功能控制有关的键信号输入。
马达191可以产生振动提示。
指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。
SIM卡接口195用于连接SIM卡。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。
Claims (25)
1.一种图像处理方法,其特征在于,包括:
获取第一图像序列,所述第一图像序列包括M个图像,所述M为正整数;
确定所述M个图像中每个图像对应的抖动幅度,所述抖动幅度用于表示图像中的像素相比于基准图像的偏移量;
根据所述抖动幅度,在所述M个图像中确定N个图像,所述N小于所述M,且所述N为正整数,所述N个图像中相邻的两个图像在所述第一图像序列中的间隔小于第二阈值;
输出第二图像序列,所述第二图像序列包括所述N个图像。
2.根据权利要求1所述的图像处理方法,其特征在于,所述根据所述M个图像中每个图像对应的抖动幅度,在所述M个图像中确定N个图像,包括:
根据所述抖动幅度,按照抖动幅度从小到大的顺序,在所述M个图像中确定N个图像,所述N的取值为第一阈值。
3.根据权利要求1所述的图像处理方法,其特征在于,所述根据所述M个图像中每个图像对应的抖动幅度,在所述M个图像中确定N个图像,包括:
根据所述抖动幅度以及约束条件,按照抖动幅度从小到大的顺序,在所述M个图像中确定N个图像,所述N的取值为第一阈值;
其中,所述约束条件为得到的N个图像中相邻的两个图像在所述第一图像序列中的间隔小于第二阈值。
4.根据权利要求1所述的图像处理方法,其特征在于,所述根据所述M个图像中每个图像对应的抖动幅度,在所述M个图像中确定N个图像,包括:
根据所述抖动幅度,在所述M个图像中确定抖动幅度小于第三阈值的N个图像。
5.根据权利要求1至4任意一项所述的图像处理方法,其特征在于,所述方法还包括:
在确定图像采集装置发生抖动时,向所述图像采集装置发送指令,所述指令用于指示所述图像采集装置采用第一帧率来采集图像;
其中,所述图像采集装置在未发生抖动时采用第二帧率采集图像,所述第二帧率小于所述第一帧率。
6.根据权利要求5所述的图像处理方法,其特征在于,所述方法还包括:获取所述图像采集装置在第一时间段内的S个时刻的角速度信息,所述S为大于1的整数;
确定所述S个时刻的角速度信息的方差;
当所述方差大于第四阈值时,确定所述图像采集装置发生抖动;
当所述方差小于或等于所述第四阈值时,确定所述图像采集装置未发生抖动。
7.根据权利要求1至6任意一项所述的图像处理方法,其特征在于,所述M个图像对应的抖动幅度包括所述M个图像对应的偏移量;
所述确定所述M个图像对应的抖动幅度,包括:
获取图像采集装置在第二时间段内的P个时刻的角速度信息,所述P为大于1的整数,所述图像采集装置用于采集所述第一图像序列;
根据所述P个时刻的角速度信息确定所述图像采集装置在采集所述M个图像时的位姿信息;
根据所述位姿信息确定所述M个图像中每个图像对应的偏移量。
8.根据权利要求7所述的图像处理方法,其特征在于,所述根据所述P个时刻的角速度信息确定图像采集装置在采集所述M个图像时的位姿信息,包括:
根据所述P个时刻的角速度信息以及所述M个图像的采集时刻,通过线性插值法确定所述图像采集装置在采集所述M个图像时的位姿信息。
9.根据权利要求7或8所述的图像处理方法,其特征在于,所述根据所述位姿信息确定所述M个图像对应的偏移量,包括:
根据所述图像采集装置在采集所述M个图像时的位姿信息确定所述M个图像中每个图像对应的旋转矩阵;
根据所述M个图像对应的旋转矩阵,确定所述M个图像对应的偏移量。
10.根据权利要求1至3任意一项所述的图像处理方法,其特征在于,所述在所述M个图像中确定N个图像之前,所述方法还包括:
获取图像选择比值,所述图像选择比值为图像输入数量与图像输出数量之间的比值;
根据所述M个图像与所述图像选择比例,确定所述N的取值;
其中,所述M与所述N之间的比值与所述图像选择比值相同。
11.根据权利要求1至10任意一项所述的图像处理方法,其特征在于,所述输出第二图像序列之前,所述方法还包括:
根据防抖算法,对所述N个图像进行防抖处理,得到处理后的N个图像;
输出所述第二图像序列,所述第二图像序列包括所述处理后的N个图像。
12.一种终端,其特征在于,包括获取单元和处理单元;
所述获取单元,用于获取第一图像序列,所述第一图像序列包括M个图像,所述M为正整数;
所述处理单元,用于确定所述M个图像中每个图像对应的抖动幅度,所述抖动幅度用于表示图像中相比于基准图像的偏移量;
所述处理单元,还用于根据所述抖动幅度,在所述M个图像中确定N个图像,所述N小于所述M,且所述N为正整数,所述N个图像中相邻的两个图像在所述第一图像序列中的间隔小于第二阈值;
所述处理单元,还用于输出第二图像序列,所述第二图像序列包括所述N个图像。
13.根据权利要求12所述的终端,其特征在于,所述处理单元,还用于根据所述抖动幅度,按照抖动幅度从小到大的顺序,在所述M个图像中确定N个图像,所述N的取值为第一阈值。
14.根据权利要求12所述的终端,其特征在于,所述处理单元,还用于根据所述抖动幅度以及约束条件,按照抖动幅度从小到大的顺序,在所述M个图像中确定N个图像,所述N的取值为第一阈值;
其中,所述约束条件为得到的N个图像中相邻的两个图像在所述第一图像序列中的间隔小于第二阈值。
15.根据权利要求12所述的终端,其特征在于,所述处理单元,还用于根据所述抖动幅度,在所述M个图像中确定抖动幅度小于第三阈值的N个图像。
16.根据权利要求12至15任意一项所述的终端,其特征在于,所述处理单元,还用于在确定图像采集装置发生抖动时,向所述图像采集装置发送指令,所述指令用于指示所述图像采集装置采用第一帧率来采集图像;
其中,所述图像采集装置在未发生抖动时采用第二帧率采集图像,所述第二帧率小于所述第一帧率。
17.根据权利要求16所述的终端,其特征在于,所述获取单元,还用于获取所述图像采集装置在第一时间段内的S个时刻的角速度信息,所述S为大于1的整数;
所述处理单元,还用于确定所述S个时刻的角速度信息的方差;
当所述方差大于第四阈值时,确定所述图像采集装置发生抖动;
当所述方差小于或等于所述第四阈值时,确定所述图像采集装置未发生抖动。
18.根据权利要求12至17任意一项所述的终端,其特征在于,所述M个图像对应的抖动幅度包括所述M个图像对应的偏移量;
所述获取单元,还用于获取图像采集装置在第二时间段内的P个时刻的角速度信息,所述P为大于1的整数,所述图像采集装置用于采集所述第一图像序列;
所述处理单元,还用于根据所述P个时刻的角速度信息确定所述图像采集装置在采集所述M个图像时的位姿信息;
所述处理单元,还用于根据所述位姿信息确定所述M个图像中每个图像对应的偏移量。
19.根据权利要求18所述的终端,其特征在于,所述处理单元,还用于根据所述P个时刻的角速度信息以及所述M个图像的采集时刻,通过线性插值法确定所述图像采集装置在采集所述M个图像时的位姿信息。
20.根据权利要求18或19所述的终端,其特征在于,所述处理单元,还用于根据所述图像采集装置在采集所述M个图像时的位姿信息确定所述M个图像中每个图像对应的旋转矩阵;
所述处理单元,还用于根据所述M个图像对应的旋转矩阵,确定所述M个图像对应的偏移量。
21.根据权利要求12至14任意一项所述的终端,其特征在于,所述获取单元,还用于获取图像选择比值,所述图像选择比值为图像输入数量与图像输出数量之间的比值;
所述处理单元,还用于根据所述M个图像与所述图像选择比例,确定所述N的取值;
其中,所述M与所述N之间的比值与所述图像选择比值相同。
22.根据权利要求12至21任意一项所述的终端,其特征在于,所述处理单元,还用于根据防抖算法,对所述N个图像进行防抖处理,得到处理后的N个图像;
所述处理单元,还用于输出所述第二图像序列,所述第二图像序列包括所述处理后的N个图像。
23.一种终端,其特征在于,包括:一个或多个处理器和存储器;其中,
所述存储器中存储有计算机可读指令;
所述一个或多个处理器用于读取所述计算机可读指令以使所述终端实现如权利要求1至11中任一项所述的方法。
24.一种计算机程序产品,其特征在于,当所述计算机程序产品在计算机上运行时,使得所述计算机执行如权利要求1至11任一项所述的方法。
25.一种计算机可读存储介质,其特征在于,包括计算机可读指令,当所述计算机可读指令在计算机上运行时,使得所述计算机执行如权利要求1至11中任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011193237.8A CN114449151B (zh) | 2020-10-30 | 2020-10-30 | 一种图像处理方法及相关装置 |
PCT/CN2021/125974 WO2022089341A1 (zh) | 2020-10-30 | 2021-10-25 | 一种图像处理方法及相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011193237.8A CN114449151B (zh) | 2020-10-30 | 2020-10-30 | 一种图像处理方法及相关装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114449151A CN114449151A (zh) | 2022-05-06 |
CN114449151B true CN114449151B (zh) | 2023-06-02 |
Family
ID=81357318
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011193237.8A Active CN114449151B (zh) | 2020-10-30 | 2020-10-30 | 一种图像处理方法及相关装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN114449151B (zh) |
WO (1) | WO2022089341A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115278183B (zh) * | 2022-06-23 | 2023-03-14 | 广州市恒众车联网科技股份有限公司 | 一种hud画面显示方法及系统 |
CN115695916A (zh) * | 2022-11-02 | 2023-02-03 | 深圳市正浩创新科技股份有限公司 | 视频生成方法、视频生成装置、车载装置及存储介质 |
CN116434128B (zh) * | 2023-06-15 | 2023-08-22 | 安徽科大擎天科技有限公司 | 一种基于缓存帧的电子稳像未填充区域的去除方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104618674A (zh) * | 2015-02-28 | 2015-05-13 | 广东欧珀移动通信有限公司 | 一种移动终端的视频录制方法及装置 |
WO2017075788A1 (zh) * | 2015-11-05 | 2017-05-11 | 华为技术有限公司 | 一种防抖拍照方法、装置及照相设备 |
CN107509034A (zh) * | 2017-09-22 | 2017-12-22 | 维沃移动通信有限公司 | 一种拍摄方法及移动终端 |
CN108737734A (zh) * | 2018-06-15 | 2018-11-02 | Oppo广东移动通信有限公司 | 图像补偿方法和装置、计算机可读存储介质和电子设备 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006140971A (ja) * | 2004-11-15 | 2006-06-01 | Canon Inc | 画像処理装置及び画像処理方法 |
JP4536641B2 (ja) * | 2005-11-02 | 2010-09-01 | ルネサスエレクトロニクス株式会社 | 画像ぶれ補正装置、画像ぶれ補正方法及び画像ぶれ補正プログラム |
US7688352B2 (en) * | 2005-11-25 | 2010-03-30 | Seiko Epson Corporation | Shake correction device, filming device, moving image display device, shake correction method and recording medium |
JP2008236645A (ja) * | 2007-03-23 | 2008-10-02 | Fujifilm Corp | 撮影装置 |
-
2020
- 2020-10-30 CN CN202011193237.8A patent/CN114449151B/zh active Active
-
2021
- 2021-10-25 WO PCT/CN2021/125974 patent/WO2022089341A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104618674A (zh) * | 2015-02-28 | 2015-05-13 | 广东欧珀移动通信有限公司 | 一种移动终端的视频录制方法及装置 |
WO2017075788A1 (zh) * | 2015-11-05 | 2017-05-11 | 华为技术有限公司 | 一种防抖拍照方法、装置及照相设备 |
CN107509034A (zh) * | 2017-09-22 | 2017-12-22 | 维沃移动通信有限公司 | 一种拍摄方法及移动终端 |
CN108737734A (zh) * | 2018-06-15 | 2018-11-02 | Oppo广东移动通信有限公司 | 图像补偿方法和装置、计算机可读存储介质和电子设备 |
Also Published As
Publication number | Publication date |
---|---|
WO2022089341A1 (zh) | 2022-05-05 |
CN114449151A (zh) | 2022-05-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110035141B (zh) | 一种拍摄方法及设备 | |
CN114449151B (zh) | 一种图像处理方法及相关装置 | |
AU2020229917B2 (en) | Recording frame rate control method and related apparatus | |
WO2022141376A1 (zh) | 一种位姿估计方法及相关装置 | |
WO2022141477A1 (zh) | 一种图像处理方法以及装置 | |
CN113810601B (zh) | 终端的图像处理方法、装置和终端设备 | |
CN113454982A (zh) | 用于使图像稳定化的电子装置及其操作方法 | |
WO2022141445A1 (zh) | 一种图像处理方法以及装置 | |
CN114419073B (zh) | 一种运动模糊生成方法、装置和终端设备 | |
CN111770282B (zh) | 图像处理方法及装置、计算机可读介质及终端设备 | |
CN114339102B (zh) | 一种录像方法及设备 | |
WO2022141351A1 (zh) | 一种视觉传感器芯片、操作视觉传感器芯片的方法以及设备 | |
WO2022141333A1 (zh) | 一种图像处理方法以及装置 | |
CN112085647B (zh) | 一种人脸校正方法及电子设备 | |
CN113572948B (zh) | 视频处理方法和视频处理装置 | |
CN113660408A (zh) | 一种视频拍摄防抖方法与装置 | |
CN115701125A (zh) | 图像防抖方法与电子设备 | |
CN115150542B (zh) | 一种视频防抖方法及相关设备 | |
CN113923351B (zh) | 多路视频拍摄的退出方法、设备和存储介质 | |
WO2022033344A1 (zh) | 视频防抖方法、终端设备和计算机可读存储介质 | |
WO2022170866A1 (zh) | 数据传输方法、装置及存储介质 | |
CN115762108A (zh) | 遥控方法、遥控设备和被控制设备 | |
CN115393676A (zh) | 手势控制优化方法、装置、终端和存储介质 | |
CN115516494A (zh) | 用于生成图像的方法及其电子装置 | |
CN113286076A (zh) | 拍摄方法及相关设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |