CN115131222A - 一种图像处理方法以及相关设备 - Google Patents
一种图像处理方法以及相关设备 Download PDFInfo
- Publication number
- CN115131222A CN115131222A CN202110333994.9A CN202110333994A CN115131222A CN 115131222 A CN115131222 A CN 115131222A CN 202110333994 A CN202110333994 A CN 202110333994A CN 115131222 A CN115131222 A CN 115131222A
- Authority
- CN
- China
- Prior art keywords
- image
- terminal
- distortion correction
- shake
- perspective distortion
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 29
- 238000012937 correction Methods 0.000 claims abstract description 475
- 238000012545 processing Methods 0.000 claims abstract description 383
- 238000005520 cutting process Methods 0.000 claims abstract description 221
- 238000013507 mapping Methods 0.000 claims abstract description 144
- 230000006870 function Effects 0.000 claims description 152
- 238000000034 method Methods 0.000 claims description 151
- 230000008569 process Effects 0.000 claims description 84
- 230000003287 optical effect Effects 0.000 claims description 63
- 230000015654 memory Effects 0.000 claims description 39
- 230000004075 alteration Effects 0.000 claims description 30
- 238000003860 storage Methods 0.000 claims description 20
- 238000001514 detection method Methods 0.000 claims description 16
- 230000008878 coupling Effects 0.000 claims description 12
- 238000010168 coupling process Methods 0.000 claims description 12
- 238000005859 coupling reaction Methods 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 9
- 238000009966 trimming Methods 0.000 claims description 5
- 235000015110 jellies Nutrition 0.000 abstract description 21
- 239000008274 jelly Substances 0.000 abstract description 21
- 230000000694 effects Effects 0.000 abstract description 13
- 208000012788 shakes Diseases 0.000 description 376
- 238000004891 communication Methods 0.000 description 37
- 230000006854 communication Effects 0.000 description 37
- 239000010410 layer Substances 0.000 description 27
- 238000010586 diagram Methods 0.000 description 25
- 238000006073 displacement reaction Methods 0.000 description 23
- 238000007726 management method Methods 0.000 description 20
- 230000008859 change Effects 0.000 description 17
- 230000004044 response Effects 0.000 description 14
- 238000010295 mobile communication Methods 0.000 description 11
- 230000005236 sound signal Effects 0.000 description 11
- 210000000988 bone and bone Anatomy 0.000 description 10
- 230000036961 partial effect Effects 0.000 description 8
- 238000003384 imaging method Methods 0.000 description 7
- 230000002829 reductive effect Effects 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 6
- 210000000887 face Anatomy 0.000 description 6
- 230000003993 interaction Effects 0.000 description 6
- 238000013528 artificial neural network Methods 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 5
- 238000011022 operating instruction Methods 0.000 description 5
- 238000009877 rendering Methods 0.000 description 5
- 230000000007 visual effect Effects 0.000 description 5
- 210000004027 cell Anatomy 0.000 description 4
- 238000009432 framing Methods 0.000 description 4
- 230000002441 reversible effect Effects 0.000 description 4
- 229920001621 AMOLED Polymers 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 238000012549 training Methods 0.000 description 3
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 description 2
- IAZDPXIOMUYVGZ-UHFFFAOYSA-N Dimethylsulphoxide Chemical compound CS(C)=O IAZDPXIOMUYVGZ-UHFFFAOYSA-N 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 2
- 230000036772 blood pressure Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 230000001965 increasing effect Effects 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000012805 post-processing Methods 0.000 description 2
- 238000003825 pressing Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000002123 temporal effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 230000003321 amplification Effects 0.000 description 1
- 230000003416 augmentation Effects 0.000 description 1
- 238000010009 beating Methods 0.000 description 1
- 238000005452 bending Methods 0.000 description 1
- 230000007175 bidirectional communication Effects 0.000 description 1
- 238000013529 biological neural network Methods 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 239000012792 core layer Substances 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000001939 inductive effect Effects 0.000 description 1
- 239000010985 leather Substances 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 235000012149 noodles Nutrition 0.000 description 1
- 238000003199 nucleic acid amplification method Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000010349 pulsation Effects 0.000 description 1
- 239000002096 quantum dot Substances 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003238 somatosensory effect Effects 0.000 description 1
- 230000006641 stabilisation Effects 0.000 description 1
- 238000011105 stabilization Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 230000001755 vocal effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/80—Geometric correction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/11—Region-based segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/136—Segmentation; Edge detection involving thresholding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/194—Segmentation; Edge detection involving foreground-background segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/24—Aligning, centring, orientation detection or correction of the image
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/24—Aligning, centring, orientation detection or correction of the image
- G06V10/243—Aligning, centring, orientation detection or correction of the image by compensating for image skew or non-uniform image deformations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/24—Aligning, centring, orientation detection or correction of the image
- G06V10/245—Aligning, centring, orientation detection or correction of the image by locating a pattern; Special marks for positioning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/74—Image or video pattern matching; Proximity measures in feature spaces
- G06V10/761—Proximity, similarity or dissimilarity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/16—Human faces, e.g. facial parts, sketches or expressions
- G06V40/161—Detection; Localisation; Normalisation
-
- 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/63—Control of cameras or camera modules by using electronic viewfinders
- H04N23/631—Graphical user interfaces [GUI] specially adapted for controlling image capture or setting capture parameters
-
- 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/63—Control of cameras or camera modules by using electronic viewfinders
- H04N23/633—Control of cameras or camera modules by using electronic viewfinders for displaying additional information relating to control or operation of the camera
-
- 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
- H04N23/681—Motion detection
- H04N23/6812—Motion detection based on additional sensors, e.g. acceleration sensors
-
- 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
- H04N23/682—Vibration or motion blur correction
- H04N23/683—Vibration or motion blur correction performed by a processor, e.g. controlling the readout of an image memory
-
- 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/69—Control of means for changing angle of the field of view, e.g. optical zoom objectives or electronic zooming
-
- 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/80—Camera processing pipelines; Components thereof
- H04N23/81—Camera processing pipelines; Components thereof for suppressing or minimising disturbance in the image signal generation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20112—Image segmentation details
- G06T2207/20132—Image cropping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30196—Human being; Person
- G06T2207/30201—Face
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- 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/61—Control of cameras or camera modules based on recognised objects
- H04N23/611—Control of cameras or camera modules based on recognised objects where the recognised objects include parts of the human body
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Evolutionary Computation (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Biophysics (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Human Computer Interaction (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Oral & Maxillofacial Surgery (AREA)
- Image Processing (AREA)
- Studio Devices (AREA)
- Geometry (AREA)
- Image Analysis (AREA)
- Cameras In General (AREA)
- Adjustment Of Camera Lenses (AREA)
Abstract
本申请提供了一种图像处理方法,包括:对摄像头采集的视频流中的相邻两帧图像进行防抖处理得到裁剪区域,并对防抖处理得到的裁剪区域进行透视畸变矫正处理。由于相邻两帧防抖处理输出的是包括相同或基本相同内容的裁剪区域,能够保证后续生成的视频具备平滑性和稳定性,本申请中进一步对防抖处理得到的裁剪区域进行透视畸变矫正的位置关系映射,使得后续生成的视频的相邻帧的透视畸变矫正的程度或效果是一致的,即使得图像之间相同对象的形变程度相同,保持了后续生成视频的帧间一致性,进而避免出现明显的果冻Jello现象,提高了拍摄视频的质量。
Description
技术领域
本申请涉及图像处理领域,尤其涉及一种图像处理方法以及相关设备。
背景技术
当相机处于广角摄像头采集图像的模式或者中焦摄像头采集图像的模式时,采集到的原始图像会存在明显的透视畸变。具体的,透视畸变(或者称之为3D畸变)是由于拍摄景物深度差异,造成空间三维形状映射到相面时呈现不同的放大比例,而造成的3D物体成像变形现象(例如横向拉伸、径向拉伸及二者的结合),因此需要对图像进行透视畸变矫正。
在用户手持终端拍摄时,由于用户无法保持手持终端的姿态始终处于稳定的状态,会使得终端出现在像平面方向的抖动。即,用户想手持终端拍摄目标区域,而由于用户手持终端的姿态不稳定,使得目标区域在摄像头采集的相邻图像帧之间的出现较大的偏移,从而导致摄像头采集的视频出现模糊。
然而,终端常常伴随着抖动的问题,现有的透视畸变矫正技术并不成熟,矫正后的视频质量较低。
发明内容
本申请实施例提供了一种图像显示方法,不会出现明显的果冻Jello现象,提高了视频输出的质量。
第一方面,本申请提供了一种图像处理方法,所述方法应用于终端实时采集视频流;所述方法包括:
对采集的第一图像进行防抖处理,得到第一裁剪区域;
对所述第一裁剪区域进行透视畸变矫正处理,得到第三裁剪区域;
根据所述第一图像和所述第三裁剪区域得到第三图像;
对采集的第二图像进行防抖处理,得到第二裁剪区域;且所述第二裁剪区域与所述第一裁剪区域和抖动信息有关;所述抖动信息用于表示所述终端采集所述第一图像和所述第二图像的过程中所发生的抖动;防抖处理就是需要确定出前一帧原始图像中取景框内的画面在下一帧原始图像中偏移的位移(包括偏移方向和偏移距离)。在一种实现中,上述偏移的位移可以基于终端在采集相邻两帧原始图像过程中所发生的抖动来确定,具体的,可以是终端在采集相邻两帧原始图像过程中所发生的姿态变化,该姿态变化可以基于前一帧原始图像中取景框对应的拍摄姿态以及终端拍摄当前帧原始图像的姿态来得到;
对所述第二裁剪区域进行透视畸变矫正处理,得到第四裁剪区域;
根据所述第二图像和所述第四裁剪区域得到第四图像;所述第三图像和所述第四图像用于生成目标视频;
其中,所述第一图像和所述第二图像为所述终端采集的一对时域先后相邻的原始图像。
和现有实现中对原始图像的全部区域进行透视畸变矫正不同的是,本申请实施例中,对第一裁剪区域进行透视畸变矫正,由于在终端设备在发生抖动时,摄像头采集的相邻两帧原始图像之间通常会出现内容的错位,因此对两帧图像进行防抖处理后要输出的裁剪区域在原始图像中的位置是不同的,也就是对两帧图像进行防抖处理后要输出的裁剪区域距离原始图像中心点的距离是不同的,然而两帧之间进行防抖处理后要输出的裁剪区域的大小是一致的,因此如果是对防抖处理得到的裁剪区域进行透视畸变矫正,则对相邻帧进行的透视畸变矫正的程度是一致的(因为两帧的防抖输出的裁剪区域中各个子区域相对于防抖输出的裁剪区域的中心点的距离是一致的)。且由于相邻两帧防抖输出的裁剪区域是包括相同或基本相同内容的图像,而图像之间相同对象的形变程度相同,也就是保持了帧间一致性,进而不会出现明显的果冻Jello现象,提高了视频输出的质量。应理解,这里的帧间一致性也可以称之为时域一致性,用于表示相邻帧内容相同的区域有同样的处理结果。
因此本申请实施例中不是对第一图像进行透视畸变矫正,而是对防抖处理得到的第一裁剪区域进行透视畸变矫正,得到第三裁剪区域,针对于和第一图像的相邻帧(第二图像),也是做同样的处理过程,即对防抖处理得到的第二裁剪区域进行透视畸变矫正,得到第三裁剪区域,使得第三裁剪区域和第三裁剪区域之间相同对象的形变矫正程度相同,保持了帧间一致性,进而不会出现明显的果冻Jello现象,提高了视频输出的质量。
本申请实施例中,对前后帧的裁剪区域内可以包括相同的目标对象(例如人物对象),由于透视畸变矫正的对象为防抖处理得到的裁剪区域,则针对于目标对象,前后帧通过透视畸变矫正使得目标对象发生形变的程度的差异很小,上述差异很小可以理解为从人的肉眼上很难辨别出形状差异,或者前后帧之间从人的肉眼上很难辨别出Jello现象。
上述第一方面的图像处理方法还可以理解为:针对于采集的视频流中的单张图像(例如第二图像)的处理,具体可以对采集的第二图像进行防抖处理,得到第二裁剪区域;且所述第二裁剪区域与第一裁剪区域和抖动信息有关;所述第一裁剪区域为对与第二图像相邻且在时域上位于第二图像之前的图像帧进行防抖处理后得到的,所述抖动信息用于表示所述终端采集所述第二图像和与第二图像相邻且在时域上位于第二图像之前的图像帧的过程中所发生的抖动;对所述第二裁剪区域进行透视畸变矫正处理,得到第四裁剪区域,根据所述第二图像和所述第四裁剪区域得到第四图像,根据所述第四图像,生成目标视频。应理解,上述第二图像可以指代采集视频流中的任意一个非首个图像,所谓非首个图像是指视频流中在时域上非第一个的图像帧。针对视频流中的多个图像进行上述如同处理第二图像的图像处理方式可以得到目标视频。
在一种可能的实现中,所述第二裁剪区域在所述第二图像上的位置相对于所述第一裁剪区域在所述第一图像上的位置的偏移方向与所述终端采集所述第一图像和所述第二图像的过程中所发生的抖动在像平面的抖动方向相反。
防抖处理是为了消除用户在手持终端设备时由于姿态变化造成的采集的视频出现抖动。具体的,防抖处理是对摄像头采集的原始图像进行裁剪,以得到取景框内的输出,取景框的输出即为防抖输出,当终端在很短时间内出现较大的姿态变化时,某一帧图像取景框内的画面在下一帧图像中会出现较大的偏移,例如终端在采集第n+1帧时相比于采集第n帧时在像平面方向出现了A方向的抖动(应理解,所谓出现了A方向的抖动可以为终端摄像头的主光轴的朝向出现了向A方向的抖动,或者终端摄像头的光心位置在像平面方向出现了向A方向的抖动),则在第n+1帧图像的取景框内的画面在第n帧图像中偏向于A方向的相反方向。
在一种可能的实现中,所述第一裁剪区域用于指示所述第一图像中的第一子区域;所述第二裁剪区域用于指示所述第二图像中的第二子区域;
所述第一子区域在所述第一图像中对应的第一图像内容与所述第二子区域在所述第二图像中对应的第二图像内容的相似度大于所述第一图像与所述第二图像的相似度。其中,上述图像内容相似度可以理解为图像中场景的相似度、图像中背景的相似度、或图像中目标主体的相似度。
在一种可能的实现方式中,上述图像之间的相似度可以理解为,在相同位置的图像区域内图像内容的整体相似度。由于终端的抖动,使得所述第一图像与所述第二图像之间的图像内容出现了错位,使得相同图像内容在图像中的位置不同,也就是说,第一图像和第二图像在相同位置的图像区域内的图像内容相似度相比第一子区域和第二子区域在相同位置的图像区域内的图像内容相似度是更低的。
在一种可能的实现方式中,上述图像之间的相似度还可以理解为,图像包括的图像内容之间的相似度,由于终端的抖动,使得第一图像的边缘区域存在一部分第二图像中没有的图像内容,同样的,第二图像的边缘区域存在一部分第一图像中没有的图像内容,也就是说第一图像和第二图像之间存在彼此没有的图像内容,第一图像和第二图像包括的图像内容的相似度相比第一子区域和第二子区域包括的图像内容的相似度是更低的。
此外,若以像素为相似度确定的粒度,则相似度可以用图像之间相同位置像素点的整体像素值相似度来表示。
在一种可能的实现中,所述对所述第一裁剪区域进行透视畸变矫正处理之前,所述方法还包括:
检测到所述终端满足畸变矫正条件,使能畸变校正功能。也可以理解为终端当前的拍摄环境、拍摄参数、或者拍摄内容满足需要进行防抖的条件。
应理解,检测到终端满足畸变矫正条件,使能畸变校正功能的动作的时机可以在对采集的第一图像进行防抖处理的步骤之前;或者在对采集的第一图像进行防抖处理之后,而在对所述第一裁剪区域进行透视畸变矫正处理之前,本申请并不限定。
在一种实现中,需要使能透视畸变矫正,也就是检测到当前透视畸变矫正处于开启状态才对第一裁剪区域进行透视畸变矫正。
在一种可能的实现中,检测到终端满足畸变矫正条件包括但不限于如下情形的一种或多种:
情形1:检测到所述终端的拍摄倍率小于第一预设阈值。
在一种实现中,可以基于终端的拍摄倍率来判断是否使能透视畸变矫正,在终端的拍摄倍率较大的情况下(例如在长焦拍摄模式的全部或部分倍率范围内,或者中焦拍摄模式的全部或部分倍率范围内),终端采集的图像中画面的透视畸变程度较低,所谓透视畸变程度较低,可以理解为人眼几乎辨别不出来终端采集的图像中画面存在透视畸变的情况,因此在终端的拍摄倍率较大的情况下,不需要使能透视畸变矫正。
在一种可能的实现中,当所述拍摄倍率为a~1时,所述终端采用前置广角摄像头或后置广角摄像头实时采集视频流,所述第一预设阈值大于1,其中,所述a为所述前置广角摄像头或后置广角摄像头的固有倍率,所述a的取值范围为0.5~0.9;或者,
当所述拍摄倍率为1~b时,所述终端采用后置主摄像头实时采集视频流,所述b为所述终端所包括的后置长焦摄像头的固有倍率或者为所述终端的变焦极大值,所述第一预设阈值为1~15,所述b的取值范围为3~15。
情形2:检测到用户开启透视畸变矫正功能的第一使能操作。
在一种可能的实现中,所述第一使能操作包括针对于所述终端的拍摄界面上第一控件的第一操作,所述第一控件用于指示开启或关闭透视畸变矫正,所述第一操作用于指示开启透视畸变矫正。
在一种实现中,拍摄界面上可以包括用于指示开启或关闭透视畸变矫正的控件(本申请实施例中称之为第一控件)。用户可以针对于第一控件的第一操作来触发开启透视畸变矫正,即,通过针对于第一控件的第一操作来使能透视畸变矫正;进而终端可以检测到用户开启透视畸变矫正的第一使能操作,所述第一使能操作包括针对于所述终端的拍摄界面上第一控件的第一操作。
在一种实现中,只有在检测到所述终端的拍摄倍率小于第一预设阈值时,才在拍摄界面上显示用于指示开启或关闭透视畸变矫正的控件(本申请实施例中称之为第一控件)。
情形3:识别出拍摄场景中存在人脸;或,
识别出拍摄场景中存在人脸、且所述人脸与所述终端之间的距离小于预设值;或,
识别出拍摄场景中存在人脸、且所述人脸在所述拍摄场景对应的图像中所占的像素比例大于预设比例。
理解,当拍摄场景中存在人脸时,由于透视畸变矫正对人脸的形变程度在视觉上会显得更加明显,且人脸与所述终端之间的距离越小或者人脸在所述拍摄场景对应的图像中所占的像素比例越大时,相当于图像中人脸的面积越大,则透视畸变矫正对人脸的形变程度在视觉上会显得更明显。因此,在上述场景中,需要使能透视畸变矫正。本实施例中,通过上述与拍摄场景中人脸相关条件的判定,来确定是否使能透视畸变矫正,可以精准的判断出会出现透视畸变的拍摄场景,并对会出现透视畸变的拍摄场景进行透视畸变矫正的处理,而在不出现透视畸变的拍摄场景中不进行透视畸变矫正的处理,实现了图像信号的精准处理,节约了功耗。
应理解,上述拍摄场景可以理解为摄像头在采集第一图像之前采集的图像,或者,当第一图像为摄像头采集的视频中的第一帧图像,则拍摄场景可以为第一图像或者在时域上靠近第一图像的图像。可以通过神经网络或者其他方式确定出拍摄场景是否中存在人脸、以及所述人脸与所述终端之间的距离以及所述人脸在所述拍摄场景对应的图像中所占的像素比例。其中,预设值可以为0~10m,例如预设值可以为1、2、3、4、5、6、7、8、9、10,这里并不限定。像素比例可以为30%~100%,例如像素比例可以为30%、30%、30%、30%、30%、30%、30%、30%,这里并不限定。
在一种可能的实现中,所述对采集的第一图像进行防抖处理之前,所述方法还包括:
检测到所述终端满足防抖条件,使能防抖处理功能。也可以理解为终端当前的拍摄环境、拍摄参数、或者拍摄内容满足需要进行防抖的条件。
在一种可能的实现中,检测到所述终端满足防抖条件包括但不限于如下情形的一种或多种:
情形1:检测到所述终端的拍摄倍率大于第二预设阈值。
在一种实现中,所述第二预设阈值与所述终端设备上目标摄像头的固有倍率之间的差异在预设范围内,其中,所述目标摄像头为所述终端上具有最小固有倍率的摄像头。
在一种实现中,可以基于终端的拍摄倍率来判断是否使能防抖处理功能,在终端的拍摄倍率较小的情况下(例如在广角拍摄模式的全部或部分倍率范围内),拍摄界面取景框内显示的画面对应的物理区域大小已经很小了,如果还进行防抖处理,也就是进行进一步的图像裁剪,会使得取景框内显示的画面对应的物理区域大小更小,因此可以当终端的拍摄倍率大于一定预设阈值时,才使能防抖处理功能。
目标摄像头可以为前置广角摄像头,预设范围可以为0~0.3,例如前置广角摄像头的固有倍率为0.5时,第二预设阈值可以为0.5、0.6、0.7或0.8。
情形2:检测到用户开启防抖处理功能的第二使能操作。
在一种实现中,所述第二使能操作包括针对于所述终端的拍摄界面上第二控件的第二操作,所述第二控件用于指示开启或关闭防抖处理功能,所述第二操作用于指示开启防抖处理功能。
在一种实现中,拍摄界面上可以包括用于指示开启或关闭防抖处理功能的控件(本申请实施例中称之为第二控件)。用户可以针对于第二控件的第二操作来触发开启防抖处理功能,即,通过针对于第二控件的第二操作来使能防抖处理功能;进而终端可以检测到用户开启防抖处理功能的第二使能操作,所述第二使能操作包括针对于所述终端的拍摄界面上第二控件的第二操作。
在一种实现中,只有在检测到所述终端的拍摄倍率大于或等于第二预设阈值时,才在拍摄界面上显示用于指示开启或关闭防抖处理功能的控件(本申请实施例中称之为第二控件)。
在一种可能的实现中,所述根据所述第二图像和所述第四裁剪区域得到第四图像,包括:获取第一映射关系和第二映射关系,所述第一映射关系用于表示所述第二裁剪区域的各个位置点与所述第二图像中对应位置点的映射关系,所述第二映射关系用于表示所述第四裁剪区域的各个位置点与所述第二裁剪区域中对应位置点的映射关系;根据所述第二图像、所述第一映射关系和所述第二映射关系,得到所述第四图像。
在一种可能的实现中,所述根据所述第二图像、所述第一映射关系和所述第二映射关系,得到所述第四图像,包括:
将所述第一映射关系和所述第二映射关系进行耦合,以确定目标映射关系,所述目标映射关系包括所述第四裁剪区域的各个位置点与所述第二图像中对应位置点的映射关系;
根据所述第二图像和所述目标映射关系,确定所述第四图像。
相当于将第一映射关系和第二映射关系进行了索引表的耦合。通过索引表的耦合,使得不需要在防抖处理得到裁剪区域后进行一次Warp操作,然后在透视畸变矫正后再进行一次Warp操作,而是只需要在透视畸变矫正后基于耦合的索引表得到输出后,只进行一次Warp操作,进而降低了Warp操作的开销。其中,Warp操作可以指对图像进行仿射变换操作,具体实现可以参照现有的Warp技术。
在一种可能的实现中,所述第一映射关系与所述第二映射关系不同。
在一种可能的实现中,所述对所述第一裁剪区域进行透视畸变矫正处理,包括:对所述第一裁剪区域进行光学畸变矫正处理,以得到矫正后的第一裁剪区域;对所述矫正后的第一裁剪区域进行透视畸变矫正处理;或者,
所述根据所述第一图像和所述第三裁剪区域得到第三图像,包括:对所述第三裁剪区域进行光学畸变矫正处理,以得到矫正后的第三裁剪区域;根据所述第一图像和所述矫正后的第三裁剪区域得到第三图像;或者,
所述对所述第二裁剪区域进行透视畸变矫正处理,包括:对所述第二裁剪区域进行光学畸变矫正处理,以得到矫正后的第二裁剪区域;对所述矫正后的第二裁剪区域进行透视畸变矫正处理;或者,
所述根据所述第二图像和所述第四裁剪区域得到第四图像,包括:对所述第四裁剪区域进行光学畸变矫正处理,以得到矫正后的第四裁剪区域;根据所述第二图像和所述矫正后的第四裁剪区域得到第四图像。
相比将光学畸变矫正索引表、透视畸变索引表放在畸变矫正模块中进行耦合处理,一方面由于光学畸变是jello现象的重要成因,在视频防抖后端来控制两者的生效,本实施例可解决视频防抖模块关闭光学畸变矫正时,透视畸变矫正模块对jello现象不可控问题。
第二方面,本申请提供了一种图像处理装置,所述装置应用于终端实时采集视频流;所述装置包括:
防抖处理模块,用于对采集的第一图像进行防抖处理,得到第一裁剪区域;还用于对采集的第二图像进行防抖处理,得到第二裁剪区域;且所述第二裁剪区域与所述第一裁剪区域和抖动信息有关;所述抖动信息用于表示所述终端采集所述第一图像和所述第二图像的过程中所发生的抖动;其中,所述第一图像和所述第二图像为所述终端采集的一对时域先后相邻的原始图像;
透视畸变矫正模块,用于对所述第一裁剪区域进行透视畸变矫正处理,得到第三裁剪区域;还用于对所述第二裁剪区域进行透视畸变矫正处理,得到第四裁剪区域;
图像生成模块,用于根据所述第一图像和所述第三裁剪区域得到第三图像;还用于根据所述第二图像和所述第四裁剪区域得到第四图像;根据所述第三图像和所述第四图像,生成目标视频。
在一种可能的实现中,所述第二裁剪区域在所述第二图像上的位置相对于所述第一裁剪区域在所述第一图像上的位置的偏移方向与所述终端采集所述第一图像和所述第二图像的过程中所发生的抖动在像平面的抖动方向相反。
在一种可能的实现中,所述第一裁剪区域用于指示所述第一图像中的第一子区域;所述第二裁剪区域用于指示所述第二图像中的第二子区域;
所述第一子区域在所述第一图像中对应的第一图像内容与所述第二子区域在所述第二图像中对应的第二图像内容的相似度大于所述第一图像与所述第二图像的相似度。
在一种可能的实现中,所述装置还包括:
第一检测模块,用于在所述防抖处理模块对采集的第一图像进行防抖处理之前,检测到所述终端满足畸变矫正条件,使能畸变校正功能。
在一种可能的实现中,所述检测到所述终端满足畸变矫正条件包括:
检测到所述终端的拍摄倍率小于第一预设阈值。
在一种可能的实现中,当所述拍摄倍率为a~1时,所述终端采用前置广角摄像头或后置广角摄像头实时采集视频流,所述第一预设阈值大于1,其中,所述a为所述前置广角摄像头或后置广角摄像头的固有倍率,所述a的取值范围为0.5~0.9;或者,
当所述拍摄倍率为1~b时,所述终端采用后置主摄像头实时采集视频流,所述b为所述终端所包括的后置长焦摄像头的固有倍率或者为所述终端的变焦极大值,所述第一预设阈值为1~15,所述b的取值范围为3~15。
在一种可能的实现中,所述检测到所述终端满足畸变矫正条件包括:
检测到用户开启透视畸变矫正功能的第一使能操作,所述第一使能操作包括针对于所述终端的拍摄界面上第一控件的第一操作,所述第一控件用于指示开启或关闭透视畸变矫正,所述第一操作用于指示开启透视畸变矫正。
在一种可能的实现中,所述检测到所述终端满足畸变矫正条件包括:
识别出拍摄场景中存在人脸;或,
识别出拍摄场景中存在人脸、且所述人脸与所述终端之间的距离小于预设值;或,
识别出拍摄场景中存在人脸、且所述人脸在所述拍摄场景对应的图像中所占的像素比例大于预设比例。
在一种可能的实现中,所述装置还包括:
第二检测模块,用于在所述防抖处理模块在对采集的第一图像进行防抖处理之前,检测到所述终端满足防抖条件,使能防抖处理功能。
在一种可能的实现中,所述检测到所述终端满足防抖条件包括:
检测到所述终端的拍摄倍率大于所述终端中倍率最小的摄像头的固有倍率。
在一种可能的实现中,所述检测到所述终端满足防抖条件包括:
检测到用户开启防抖处理功能的第二使能操作,所述第二使能操作包括针对于所述终端的拍摄界面上第二控件的第二操作,所述第二控件用于指示开启或关闭防抖处理功能,所述第二操作用于指示开启防抖处理功能。
在一种可能的实现中,所述图像生成模块,具体用于获取第一映射关系和第二映射关系,所述第一映射关系用于表示所述第二裁剪区域的各个位置点与所述第二图像中对应位置点的映射关系,所述第二映射关系用于表示所述第四裁剪区域的各个位置点与所述第二裁剪区域中对应位置点的映射关系;
根据所述第二图像、所述第一映射关系和所述第二映射关系,得到所述第四图像。
在一种可能的实现中,所述透视畸变矫正模块,具体用于根据所述第一映射关系和所述第二映射关系,确定目标映射关系,所述目标映射关系包括所述第四裁剪区域的各个位置点与所述第二图像中对应位置点的映射关系;
根据所述目标映射关系和所述第二图像,确定所述第四图像。
在一种可能的实现中,所述第一映射关系与所述第二映射关系不同。
在一种可能的实现中,所述透视畸变矫正模块,具体用于对所述第一裁剪区域进行光学畸变矫正处理,以得到矫正后的第一裁剪区域;对所述矫正后的第一裁剪区域进行透视畸变矫正处理;或者,
所述图像生成模块,具体用于对所述第三裁剪区域进行光学畸变矫正处理,以得到矫正后的第三裁剪区域;根据所述第一图像和所述矫正后的第三裁剪区域得到第三图像;或者,
所述透视畸变矫正模块,具体用于对所述第二裁剪区域进行光学畸变矫正处理,以得到矫正后的第二裁剪区域;对所述矫正后的第二裁剪区域进行透视畸变矫正处理;或者,
所述图像生成模块,具体用于对所述第四裁剪区域进行光学畸变矫正处理,以得到矫正后的第四裁剪区域;根据所述第二图像和所述矫正后的第四裁剪区域得到第四图像。
第三方面,本申请提供了一种图像处理方法,所述方法应用于终端实时采集视频流;所述方法包括:
确定采集的第一图像中的目标对象,以获取包括所述目标对象的第一裁剪区域;
对所述第一裁剪区域进行透视畸变矫正处理,得到第三裁剪区域;
根据所述第一图像和所述第三裁剪区域得到第三图像;
确定采集的第二图像中的所述目标对象,以获取包括所述目标对象的第二裁剪区域;其中,所述第二裁剪区域与目标移动信息有关,所述目标移动信息用于表示所述目标对象在所述终端采集所述第一图像和所述第二图像的过程中所发生的移动;
对所述第二裁剪区域进行透视畸变矫正处理,得到第三裁剪区域;
根据所述第二图像和所述第三裁剪区域得到第四图像;
根据所述第三图像和所述第四图像,生成目标视频;
其中,所述第一图像和所述第二图像为所述终端采集的一对时域先后相邻的原始图像。
上述第三方面的图像处理方法还可以理解为:针对于采集的视频流中的单张图像(例如第二图像)的处理,具体可以确定采集的第二图像中的所述目标对象,以获取包括所述目标对象的第二裁剪区域;其中,所述第二裁剪区域与目标移动信息有关,所述目标移动信息用于表示所述目标对象在所述终端采集所述第二图像和与第二图像相邻且在时域上位于第二图像之前的图像帧的过程中所发生的移动;对所述第二裁剪区域进行透视畸变矫正处理,得到第三裁剪区域;根据所述第二图像和所述第三裁剪区域得到第四图像;根据所述第四图像,生成目标视频。应理解,上述第二图像可以指代采集视频流中的任意一个非首个图像,所谓非首个图像是指视频流中在时域上非第一个的图像帧。针对视频流中的多个图像进行上述处理第二图像的图像处理过程可以得到目标视频。
在一种可选的实现中,所述第二图像中所述目标对象的位置与所述第一图像中所述目标对象的位置不同。
和现有实现中对原始图像的全部区域进行透视畸变矫正不同的是,本申请实施例中,对裁剪区域进行透视畸变矫正,由于目标对象的移动,使得包括人物对象的裁剪区域在前后帧图像中的位置是不同的,进而会使得输出的两帧图像中位置点或像素点进行的透视畸变矫正的位移不同,然而两帧之间进行目标识别后确定的裁剪区域的大小是一致的,因此如果是对裁剪区域进行透视畸变矫正,则对相邻帧进行的透视畸变矫正的程度是一致的(因为两帧的裁剪区域中各个位置点或像素点相对于裁剪区域的中心点的距离是一致的)。且由于相邻两帧裁剪区域是包括相同或基本相同内容的图像,而图像之间相同对象的形变程度相同,也就是保持了帧间一致性,进而不会出现明显的果冻Jello现象,提高了视频输出的质量。
在一种可能的实现中,所述对所述第一裁剪区域进行透视畸变矫正处理之前,所述方法还包括:
检测到所述终端满足畸变矫正条件,使能畸变校正功能。
在一种可能的实现中,检测到所述终端满足畸变矫正条件包括但不限于如下情形的一种或多种:情形1:检测到所述终端的拍摄倍率小于第一预设阈值。
在一种实现中,可以基于终端的拍摄倍率来判断是否使能透视畸变矫正,在终端的拍摄倍率较大的情况下(例如在长焦拍摄模式的全部或部分倍率范围内,或者中焦拍摄模式的全部或部分倍率范围内),终端采集的图像中画面的透视畸变程度较低,所谓透视畸变程度较低,可以理解为人眼几乎辨别不出来终端采集的图像中画面存在透视畸变的情况,因此在终端的拍摄倍率较大的情况下,不需要使能透视畸变矫正。
在一种可能的实现中,当所述拍摄倍率为a~1时,所述终端采用前置广角摄像头或后置广角摄像头实时采集视频流,所述第一预设阈值大于1,其中,所述a为所述前置广角摄像头或后置广角摄像头的固有倍率,所述a的取值范围为0.5~0.9;或者,
当所述拍摄倍率为1~b时,所述终端采用后置主摄像头实时采集视频流,所述b为所述终端所包括的后置长焦摄像头的固有倍率或者为所述终端的变焦极大值,所述第一预设阈值为1~15,所述b的取值范围为3~15。
情形2:检测到用户开启透视畸变矫正功能的第一使能操作。
在一种可能的实现中,所述第一使能操作包括针对于所述终端的拍摄界面上第一控件的第一操作,所述第一控件用于指示开启或关闭透视畸变矫正,所述第一操作用于指示开启透视畸变矫正。
在一种实现中,拍摄界面上可以包括用于指示开启或关闭透视畸变矫正的控件(本申请实施例中称之为第一控件)。用户可以针对于第一控件的第一操作来触发开启透视畸变矫正,即,通过针对于第一控件的第一操作来使能透视畸变矫正;进而终端可以检测到用户开启透视畸变矫正的第一使能操作,所述第一使能操作包括针对于所述终端的拍摄界面上第一控件的第一操作。
在一种实现中,只有在检测到所述终端的拍摄倍率小于第一预设阈值时,才在拍摄界面上显示用于指示开启或关闭透视畸变矫正的控件(本申请实施例中称之为第一控件)。
情形3:识别出拍摄场景中存在人脸;或,
识别出拍摄场景中存在人脸、且所述人脸与所述终端之间的距离小于预设值;或,
识别出拍摄场景中存在人脸、且所述人脸在所述拍摄场景对应的图像中所占的像素比例大于预设比例。
理解,当拍摄场景中存在人脸时,由于透视畸变矫正对人脸的形变程度在视觉上会显得更加明显,且人脸与所述终端之间的距离越小或者人脸在所述拍摄场景对应的图像中所占的像素比例越大时,相当于图像中人脸的面积越大,则透视畸变矫正对人脸的形变程度在视觉上会显得更明显。因此,在上述场景中,需要使能透视畸变矫正。本实施例中,通过上述与拍摄场景中人脸相关条件的判定,来确定是否使能透视畸变矫正,可以精准的判断出会出现透视畸变的拍摄场景,并对会出现透视畸变的拍摄场景进行透视畸变矫正的处理,而在不出现透视畸变的拍摄场景中不进行透视畸变矫正的处理,实现了图像信号的精准处理,节约了功耗。
第四方面,本申请提供了一种图像处理装置,所述装置应用于终端实时采集视频流;所述装置包括:
对象确定模块,用于确定采集的第一图像中的目标对象,以获取包括所述目标对象的第一裁剪区域;还用于确定采集的第二图像中的所述目标对象,以获取包括所述目标对象的第二裁剪区域;其中,所述第二裁剪区域与目标移动信息有关,所述目标移动信息用于表示所述目标对象在所述终端采集所述第一图像和所述第二图像的过程中所发生的移动;其中,所述第一图像和所述第二图像为所述终端采集的一对时域先后相邻的原始图像;
透视畸变矫正模块,用于对所述第一裁剪区域进行透视畸变矫正处理,得到第三裁剪区域;还用于对所述第二裁剪区域进行透视畸变矫正处理,得到第三裁剪区域;
图像生成模块,用于根据所述第一图像和所述第三裁剪区域得到第三图像;还用于根据所述第二图像和所述第三裁剪区域得到第四图像;根据所述第三图像和所述第四图像,生成目标视频。
在一种可选的实现中,所述第二图像中所述目标对象的位置与所述第一图像中所述目标对象的位置不同。
在一种可能的实现中,所述装置还包括:
第一检测模块,用于在所述透视畸变矫正模块对所述第一裁剪区域进行透视畸变矫正处理之前,检测到所述终端满足畸变矫正条件,使能畸变校正功能。
在一种可能的实现中,所述检测到所述终端满足畸变矫正条件包括:
检测到所述终端的拍摄倍率小于第一预设阈值。
在一种可能的实现中,当所述拍摄倍率为a~1时,所述终端采用前置广角摄像头或后置广角摄像头实时采集视频流,所述第一预设阈值大于1,其中,所述a为所述前置广角摄像头或后置广角摄像头的固有倍率,所述a的取值范围为0.5~0.9;或者,
当所述拍摄倍率为1~b时,所述终端采用后置主摄像头实时采集视频流,所述b为所述终端所包括的后置长焦摄像头的固有倍率或者为所述终端的变焦极大值,所述第一预设阈值为1~15,所述b的取值范围为3~15。
在一种可能的实现中,所述检测到所述终端满足畸变矫正条件包括:
检测到用户开启透视畸变矫正功能的第一使能操作,所述第一使能操作包括针对于所述终端的拍摄界面上第一控件的第一操作,所述第一控件用于指示开启或关闭透视畸变矫正,所述第一操作用于指示开启透视畸变矫正。
在一种可能的实现中,所述检测到所述终端满足畸变矫正条件包括:
识别出拍摄场景中存在人脸;或,
识别出拍摄场景中存在人脸、且所述人脸与所述终端之间的距离小于预设值;或,
识别出拍摄场景中存在人脸、且所述人脸在所述拍摄场景对应的图像中所占的像素比例大于预设比例。
第五方面,本申请提供了一种图像处理设备,包括:处理器、存储器、摄像头和总线,其中:所述处理器、所述存储器和所述摄像头通过所述总线连接;
所述摄像头,用于实时采集视频;
所述存储器,用于存放计算机程序或指令;
所述处理器,用于调用或执行所述存储器上所存放的程序或指令,还用于调用摄像头,以实现上述第一方面及第一方面中任一项可能实现方式所述的步骤、以及第三方面及第三方面中任一项可能实现方式所述的步骤。
第六方面,本申请提供了一种计算机存储介质,包括计算机指令,当计算机指令在电子设备或服务器上运行时,执行上述第一方面及第一方面中任一项可能实现方式所述的步骤、以及第三方面及第三方面中任一项可能实现方式所述的步骤。
第七方面,本申请提供了一种计算机程序产品,当计算机程序产品在电子设备或服务器上运行时,执行上述第一方面及第一方面中任一项可能实现方式所述的步骤、以及第三方面及第三方面中任一项可能实现方式所述的步骤。
第八方面,本申请提供了一种芯片系统,该芯片系统包括处理器,用于支持执行设备或训练设备实现上述方面中所涉及的功能,例如,发送或处理上述方法中所涉及的数据;或,信息。在一种可能的设计中,所述芯片系统还包括存储器,所述存储器,用于保存执行设备或训练设备必要的程序指令和数据。该芯片系统,可以由芯片构成,也可以包括芯片和其他分立器件。
本申请提供了一种图像显示方法,应用于终端实时采集视频流;包括:对采集的第一图像进行防抖处理,得到第一裁剪区域;对所述第一裁剪区域进行透视畸变矫正处理,得到第三裁剪区域;根据所述第一图像和所述第三裁剪区域得到第三图像;对采集的第二图像进行防抖处理,得到第二裁剪区域;且所述第二裁剪区域与所述第一裁剪区域和抖动信息有关;所述抖动信息用于表示所述终端采集所述第一图像和所述第二图像的过程中所发生的抖动;对所述第二裁剪区域进行透视畸变矫正处理,得到第四裁剪区域;根据所述第二图像和所述第四裁剪区域得到第四图像;所述第三图像和所述第四图像用于生成目标视频;其中,所述第一图像和所述第二图像为所述终端采集的一对时域先后相邻的原始图像。且由于相邻两帧防抖输出的是包括相同或基本相同内容的图像,而图像之间相同对象的形变程度相同,也就是保持了帧间一致性,进而不会出现明显的果冻Jello现象,提高了视频显示的质量。
附图说明
图1为本申请实施例提供的终端设备的结构示意图;
图2为本申请实施例的终端设备的软件结构框图;
图3为本申请实施例提供的一种图像处理方法的实施例示意图;
图4a为本申请实施例中的一种透视畸变的示意;
图4b为本申请实施例中的一种终端抖动的示意;
图4c为本申请实施例中的一种防抖处理的示意;
图4d为本申请实施例中的一种防抖处理的示意;
图4e为一种Jello现象的示意;
图5a为本申请实施例提供的一种图像处理方法的实施例示意图;
图5b为本申请实施例中的一种终端界面的示意;
图6为本申请实施例中的一种终端界面的示意;
图7为本申请实施例中的一种终端界面的示意;
图8为本申请实施例中的一种终端界面的示意;
图9为本申请实施例中的一种终端界面的示意;
图10为本申请实施例中的一种终端界面的示意;
图11为本申请实施例中的一种终端界面的示意;
图12为本申请实施例中的一种终端界面的示意;
图13为本申请实施例中的一种终端界面的示意;
图14为本申请实施例中的一种终端界面的示意;
图15为本申请实施例中的一种终端界面的示意;
图16为本申请实施例中的一种终端界面的示意;
图17为本申请实施例中的一种终端界面的示意;
图18为本申请实施例中的一种终端界面的示意;
图19为本申请实施例中的一种终端界面的示意;
图20为本申请实施例中的一种终端界面的示意;
图21为本申请实施例中的一种终端界面的示意;
图22a为本申请实施例中的一种Jello现象的示意;
图22b为本申请实施例中的一种索引表建立的示意;
图22c为本申请实施例中的一种索引表建立的示意;
图22d为本申请实施例中的一种索引表建立的示意;
图22e为本申请实施例中的一种索引表建立的示意;
图22f为本申请实施例中的一种索引表建立的示意;
图23为本申请实施例中的一种索引表建立的示意;
图24a为本申请实施例提供的一种图像处理方法的实施例示意图;
图24b为本申请实施例中的一种终端界面的示意;
图25为本申请实施例中的一种终端界面的示意;
图26为本申请实施例中的一种终端界面的示意;
图27为本申请实施例中的一种终端界面的示意;
图28为本申请实施例中的一种终端界面的示意;
图29为本申请实施例中的一种终端界面的示意;
图30为本申请实施例提供的一种图像显示方法的实施例示意图;
图31为本申请实施例中的一种终端界面的示意;
图32为本申请实施例中的一种终端界面的示意;
图33为本申请实施例提供的一种图像显示装置的结构示意;
图34为本申请实施例提供的一种图像显示装置的结构示意;
图35为本申请实施例提供的终端设备的一种结构示意图。
具体实施方式
下面结合本发明实施例中的附图对本发明实施例进行描述。本发明的实施方式部分使用的术语仅用于对本发明的具体实施例进行解释,而非旨在限定本发明。
下面结合附图,对本申请的实施例进行描述。本领域普通技术人员可知,随着技术的发展和新场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的术语在适当情况下可以互换,这仅仅是描述本申请的实施例中对相同属性的对象在描述时所采用的区分方式。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,以便包含一系列单元的过程、方法、系统、产品或设备不必限于那些单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它单元。
为便于理解,下面将对本申请实施例提供的终端100的结构进行示例说明。参见图1,图1是本申请实施例提供的终端设备的结构示意图。
如图1所示,终端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)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuitsound,I2S)接口,脉冲编码调制(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)接口等。
I2C接口是一种双向同步串行总线,包括一根串行数据线(serial data line,SDA)和一根串行时钟线(derail clock line,SCL)。在一些实施例中,处理器110可以包含多组I2C总线。处理器110可以通过不同的I2C总线接口分别耦合触摸传感器180K,充电器,闪光灯,摄像头193等。例如:处理器110可以通过I2C接口耦合触摸传感器180K,使处理器110与触摸传感器180K通过I2C总线接口通信,实现终端100的触摸功能。
I2S接口可以用于音频通信。在一些实施例中,处理器110可以包含多组I2S总线。处理器110可以通过I2S总线与音频模块170耦合,实现处理器110与音频模块170之间的通信。在一些实施例中,音频模块170可以通过I2S接口向无线通信模块160传递音频信号,实现通过蓝牙耳机接听电话的功能。
PCM接口也可以用于音频通信,将模拟信号抽样,量化和编码。在一些实施例中,音频模块170与无线通信模块160可以通过PCM总线接口耦合。在一些实施例中,音频模块170也可以通过PCM接口向无线通信模块160传递音频信号,实现通过蓝牙耳机接听电话的功能。所述I2S接口和所述PCM接口都可以用于音频通信。
UART接口是一种通用串行数据总线,用于异步通信。该总线可以为双向通信总线。它将要传输的数据在串行通信与并行通信之间转换。在一些实施例中,UART接口通常被用于连接处理器110与无线通信模块160。例如:处理器110通过UART接口与无线通信模块160中的蓝牙模块通信,实现蓝牙功能。在一些实施例中,音频模块170可以通过UART接口向无线通信模块160传递音频信号,实现通过蓝牙耳机播放音乐的功能。
MIPI接口可以被用于连接处理器110与显示屏194,摄像头193等外围器件。MIPI接口包括摄像头串行接口(camera serial interface,CSI),显示屏串行接口(displayserial interface,DSI)等。在一些实施例中,处理器110和摄像头193通过CSI接口通信,实现终端100的拍摄功能。处理器110和显示屏194通过DSI接口通信,实现终端100的显示功能。
GPIO接口可以通过软件配置。GPIO接口可以被配置为控制信号,也可被配置为数据信号。在一些实施例中,GPIO接口可以用于连接处理器110与摄像头193,显示屏194,无线通信模块160,音频模块170,传感器模块180等。GPIO接口还可以被配置为I2C接口,I2S接口,UART接口,MIPI接口等。
具体的,摄像头193采集的视频(包括图像帧序列,例如包括本申请中的第一图像和第二图像)可以但不限于通过上述描述的用于连接摄像头193和处理器110的接口(例如CSI接口或GPIO接口)传递至处理器110。
处理器110可以从存储器中获取指令,并基于获取到的指令对摄像头193采集的视频进行视频的处理(例如本申请中的防抖处理、透视畸变矫正处理等等),得到处理后的图像(例如本申请中的第三图像和第四图像)。
处理器110可以但不限于通过上述描述的用于连接显示屏194和处理器110的接口(例如DSI接口或GPIO接口)将处理后的图像传递至显示屏194,进而显示屏194可以进行视频的显示。
USB接口130是符合USB标准规范的接口,具体可以是Mini USB接口,Micro USB接口,USB Type C接口等。USB接口130可以用于连接充电器为终端100充电,也可以用于终端100与外围设备之间传输数据。也可以用于连接耳机,通过耳机播放音频。该接口还可以用于连接其他电子设备,例如AR设备等。
可以理解的是,本发明实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对终端100的结构限定。在本申请另一些实施例中,终端100也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块140可以通过USB接口130接收有线充电器的充电输入。在一些无线充电的实施例中,充电管理模块140可以通过终端100的无线充电线圈接收无线充电输入。充电管理模块140为电池142充电的同时,还可以通过电源管理模块141为电子设备供电。
电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,显示屏194,摄像头193,和无线通信模块160等供电。电源管理模块141还可以用于监测电池容量,电池循环次数,电池健康状态(漏电,阻抗)等参数。在其他一些实施例中,电源管理模块141也可以设置于处理器110中。在另一些实施例中,电源管理模块141和充电管理模块140也可以设置于同一个器件中。
终端100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。终端100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块150可以提供应用在终端100上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(lownoise amplifier,LNA)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块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经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器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,其执行程序指令以生成或改变显示信息。具体的,处理器110中的一个或多个GPU可以实现图像的渲染任务(例如本申请中与需要显示的图像相关的渲染任务,并将渲染结果传递至应用处理器或者其他显示驱动,由应用处理器或者其他显示驱动触发显示屏194进行视频显示)。
显示屏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可以运行有和拍照相关的应用,在终端打开和拍照相关的应用时,显示屏194可以显示拍摄界面,其中,拍摄界面可以包括取景框,取景框内可以显示目标视频。
终端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的正整数。
其中,DSP将数字图像信号转换成标准的RGB,YUV等格式的图像信号后可以得到原始图像(例如本申请实施例中的第一图像以及第二图像),处理器110可以对原始图像进行进一步的图像处理,图像处理包括但不限于防抖处理、透视畸变矫正处理、光学畸变矫正处理以及为了适应于显示屏194的尺寸大小而进行的裁剪处理,处理后的图像(例如本申请实施例中的第三图像以及第四图像)可以被显示在显示屏194显示的拍摄界面的取景框内。
在本申请实施例中,终端100中摄像头193的数量可以是至少两个。以两个为例,其一个是前置摄像头,另一个是后置摄像头;以三个为例,其中一个是前置摄像头,另外两个是后置摄像头;以四个为例,其中一个是前置摄像头,另外三个是后置摄像头。需要说明的是,摄像头193可以是广角摄像头、主摄像头或长焦摄像头中的一个或多个。
比如,以两个摄像头为例,前置摄像头可以是广角摄像头,后置摄像头可以是主摄像头,这样的话,后置摄像头采集的图像的视场角较大,图像信息较为丰富。
比如,以三个摄像头为例,前置摄像头可以是广角摄像头,后置摄像头可以是广角摄像头和主摄像头。
比如,以四个摄像头为例,前置摄像头可以是广角摄像头,后置摄像头可以是广角摄像头、主摄像头以及长焦摄像头。
数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,当终端100在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。
视频编解码器用于对数字视频压缩或解压缩。终端100可以支持一种或多种视频编解码器。这样,终端100可以播放或录制多种编码格式的视频,例如:动态图像专家组(moving picture experts group,MPEG)1,MPEG2,MPEG3,MPEG4等。
NPU为神经网络(neural-network,NN)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过NPU可以实现终端100的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解等。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展终端100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储终端100使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。处理器110通过运行存储在内部存储器121的指令,和/或存储在设置于处理器中的存储器的指令,执行终端100的各种功能应用以及数据处理。
终端100可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块170还可以用于对音频信号编码和解码。在一些实施例中,音频模块170可以设置于处理器110中,或将音频模块170的部分功能模块设置于处理器110中。
扬声器170A,也称“喇叭”,用于将音频电信号转换为声音信号。终端100可以通过扬声器170A收听音乐,或收听免提通话。
受话器170B,也称“听筒”,用于将音频电信号转换成声音信号。当终端100接听电话或语音信息时,可以通过将受话器170B靠近人耳接听语音。
麦克风170C,也称“话筒”,“传声器”,用于将声音信号转换为电信号。当拨打电话或发送语音信息时,用户可以通过人嘴靠近麦克风170C发声,将声音信号输入到麦克风170C。终端100可以设置至少一个麦克风170C。在另一些实施例中,终端100可以设置两个麦克风170C,除了采集声音信号,还可以实现降噪功能。在另一些实施例中,终端100还可以设置三个,四个或更多麦克风170C,实现采集声音信号,降噪,还可以识别声音来源,实现定向录音功能等。
耳机接口170D用于连接有线耳机。耳机接口170D可以是USB接口130,也可以是3.5mm的开放移动电子设备平台(open mobile terminal platform,OMTP)标准接口,美国蜂窝电信工业协会(cellular telecommunications industry association of the USA,CTIA)标准接口。
压力传感器180A用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器180A可以设置于显示屏194。压力传感器180A的种类很多,如电阻式压力传感器,电感式压力传感器,电容式压力传感器等。电容式压力传感器可以是包括至少两个具有导电材料的平行板。当有力作用于压力传感器180A,电极之间的电容改变。终端100根据电容的变化确定压力的强度。当有触摸操作作用于显示屏194,终端100根据压力传感器180A检测所述触摸操作强度。终端100也可以根据压力传感器180A的检测信号计算触摸的位置。在一些实施例中,作用于相同触摸位置,但不同触摸操作强度的触摸操作,可以对应不同的操作指令。例如:当有触摸操作强度小于第一压力阈值的触摸操作作用于短消息应用图标时,执行查看短消息的指令。当有触摸操作强度大于或等于第一压力阈值的触摸操作作用于短消息应用图标时,执行新建短消息的指令。
其中,显示屏194显示的拍摄界面可以包括第一控件和第二控件,其中,第一控件用于开启或关闭防抖处理功能,第二控件用于开启或关闭透视畸变矫正功能,示例性的,用户可以对显示屏进行开启防抖处理功能的使能操作,其中,使能操作可以是针对于第一控件的点击操作,终端100可以根据压力传感器180A的检测信号确定用于对于显示屏的点击位置为第一控件所在的位置,进而生成开启防抖处理功能的操作指令,进而基于开启防抖处理功能的操作指令实现防抖功能开启的使能。示例性的,用户可以对显示屏进行开启透视畸变矫正功能的使能操作,其中,使能操作可以是针对于第二控件的点击操作,终端100可以根据压力传感器180A的检测信号确定用于对于显示屏的点击位置为第二控件所在的位置,进而生成开启透视畸变矫正功能的操作指令,进而基于透视畸变矫正功能的操作指令实现透视畸变矫正功能开启的使能。
陀螺仪传感器180B可以用于确定终端100的运动姿态。在一些实施例中,可以通过陀螺仪传感器180B确定终端100围绕三个轴(即,x,y和z轴)的角速度。陀螺仪传感器180B可以用于拍摄防抖。示例性的,当按下快门,陀螺仪传感器180B检测终端100抖动的角度,根据角度计算出镜头模组需要补偿的距离,让镜头通过反向运动抵消终端100的抖动,实现防抖。陀螺仪传感器180B还可以用于导航,体感游戏场景。
气压传感器180C用于测量气压。在一些实施例中,终端100通过气压传感器180C测得的气压值计算海拔高度,辅助定位和导航。
磁传感器180D包括霍尔传感器。终端100可以利用磁传感器180D检测翻盖皮套的开合。在一些实施例中,当终端100是翻盖机时,终端100可以根据磁传感器180D检测翻盖的开合。进而根据检测到的皮套的开合状态或翻盖的开合状态,设置翻盖自动解锁等特性。
加速度传感器180E可检测终端100在各个方向上(一般为三轴)加速度的大小。当终端100静止时可检测出重力的大小及方向。还可以用于识别电子设备姿态,应用于横竖屏切换,计步器等应用。
距离传感器180F,用于测量距离。终端100可以通过红外或激光测量距离。在一些实施例中,拍摄场景,终端100可以利用距离传感器180F测距以实现快速对焦。
接近光传感器180G可以包括例如发光二极管(LED)和光检测器,例如光电二极管。发光二极管可以是红外发光二极管。终端100通过发光二极管向外发射红外光。终端100使用光电二极管检测来自附近物体的红外反射光。当检测到充分的反射光时,可以确定终端100附近有物体。当检测到不充分的反射光时,终端100可以确定终端100附近没有物体。终端100可以利用接近光传感器180G检测用户手持终端100贴近耳朵通话,以便自动熄灭屏幕达到省电的目的。接近光传感器180G也可用于皮套模式,口袋模式自动解锁与锁屏。
环境光传感器180L用于感知环境光亮度。终端100可以根据感知的环境光亮度自适应调节显示屏194亮度。环境光传感器180L也可用于拍照时自动调节白平衡。环境光传感器180L还可以与接近光传感器180G配合,检测终端100是否在口袋里,以防误触。
指纹传感器180H用于采集指纹。终端100可以利用采集的指纹特性实现指纹解锁,访问应用锁,指纹拍照,指纹接听来电等。
温度传感器180J用于检测温度。在一些实施例中,终端100利用温度传感器180J检测的温度,执行温度处理策略。例如,当温度传感器180J上报的温度超过阈值,终端100执行降低位于温度传感器180J附近的处理器的性能,以便降低功耗实施热保护。在另一些实施例中,当温度低于另一阈值时,终端100对电池142加热,以避免低温导致终端100异常关机。在其他一些实施例中,当温度低于又一阈值时,终端100对电池142的输出电压执行升压,以避免低温导致的异常关机。
触摸传感器180K,也称“触控器件”。触摸传感器180K可以设置于显示屏194,由触摸传感器180K与显示屏194组成触摸屏,也称“触控屏”。触摸传感器180K用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏194提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器180K也可以设置于终端100的表面,与显示屏194所处的位置不同。
骨传导传感器180M可以获取振动信号。在一些实施例中,骨传导传感器180M可以获取人体声部振动骨块的振动信号。骨传导传感器180M也可以接触人体脉搏,接收血压跳动信号。在一些实施例中,骨传导传感器180M也可以设置于耳机中,结合成骨传导耳机。音频模块170可以基于所述骨传导传感器180M获取的声部振动骨块的振动信号,解析出语音信号,实现语音功能。应用处理器可以基于所述骨传导传感器180M获取的血压跳动信号解析心率信息,实现心率检测功能。
按键190包括开机键,音量键等。按键190可以是机械按键。也可以是触摸式按键。终端100可以接收按键输入,产生与终端100的用户设置以及功能控制有关的键信号输入。
马达191可以产生振动提示。马达191可以用于来电振动提示,也可以用于触摸振动反馈。例如,作用于不同应用(例如拍照,音频播放等)的触摸操作,可以对应不同的振动反馈效果。作用于显示屏194不同区域的触摸操作,马达191也可对应不同的振动反馈效果。不同的应用场景(例如:时间提醒,接收信息,闹钟,游戏等)也可以对应不同的振动反馈效果。触摸振动反馈效果还可以支持自定义。
指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。
SIM卡接口195用于连接SIM卡。SIM卡可以通过插入SIM卡接口195,或从SIM卡接口195拔出,实现和终端100的接触和分离。终端100可以支持1个或N个SIM卡接口,N为大于1的正整数。SIM卡接口195可以支持Nano SIM卡,Micro SIM卡,SIM卡等。同一个SIM卡接口195可以同时插入多张卡。所述多张卡的类型可以相同,也可以不同。SIM卡接口195也可以兼容不同类型的SIM卡。SIM卡接口195也可以兼容外部存储卡。终端100通过SIM卡和网络交互,实现通话以及数据通信等功能。在一些实施例中,终端100采用eSIM,即:嵌入式SIM卡。eSIM卡可以嵌在终端100中,不能和终端100分离。
终端100的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本发明实施例以分层架构的Android系统为例,示例性说明终端100的软件结构。
图2是本公开实施例的终端100的软件结构框图。
分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将Android系统分为四层,从上至下分别为应用程序层,应用程序框架层,安卓运行时(Android runtime)和系统库,以及内核层。
应用程序层可以包括一系列应用程序包。
如图2所示,应用程序包可以包括相机,图库,日历,通话,地图,导航,WLAN,蓝牙,音乐,视频,短信息等应用程序。
应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。
如图2所示,应用程序框架层可以包括窗口管理器,内容提供器,视图系统,电话管理器,资源管理器,通知管理器等。
窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。
内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。所述数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。
视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。
电话管理器用于提供终端100的通信功能。例如通话状态的管理(包括接通,挂断等)。
资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。
通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,电子设备振动,指示灯闪烁等。
Android Runtime包括核心库和虚拟机。Android runtime负责安卓系统的调度和管理。
核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。
应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
系统库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(Media Libraries),三维图形处理库(例如:OpenGL ES),2D图形引擎(例如:SGL)等。
表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2D和3D图层的融合。
媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。
三维图形处理库用于实现三维图形绘图,图像渲染,合成,和图层处理等。
2D图形引擎是2D绘图的绘图引擎。
内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动。
下面结合拍照场景,示例性说明终端100软件以及硬件的工作流程。
当触摸传感器180K接收到触摸操作,相应的硬件中断被发给内核层。内核层将触摸操作加工成原始输入事件(包括触摸坐标,触摸操作的时间戳等信息)。原始输入事件被存储在内核层。应用程序框架层从内核层获取原始输入事件,识别该输入事件所对应的控件。以该触摸操作是触摸单击操作,该单击操作所对应的控件为相机应用图标的控件为例,相机应用调用应用框架层的接口,启动相机应用,进而通过调用内核层启动摄像头驱动,通过摄像头193捕获静态图像或视频,捕获的视频可以为本申请实施例中的第一图像和第二图像。
为了便于理解,结合附图和应用场景,对本申请实施例提供的一种图像处理方法进行具体阐述。
本申请实施例可以应用在即时拍照、视频后期处理以及目标跟踪等场景中,接下来分别进行说明:
示例1:即时拍照
本申请实施例中,在终端即时拍照或拍摄的场景中,终端的摄像头可以实时采集视频流,并在拍摄界面上显示基于摄像头采集到的视频流生成的预览画面。
其中,摄像头采集的视频流可以包括第一图像和第二图像,第一图像和第二图像为终端采集的两个在时域上相邻的帧原始图像,具体的,终端实时采集的视频为在时域上按序排列的原始图像序列,第二图像是在时域上排列在第一图像相邻且之后的原始图像,例如终端实时采集的视频包括在时域上排列的第0帧图像、第1帧图像、第2帧图像、…、第X帧图像,第一图像为第n帧图像,第二图像为第n+1帧图像,n为大于或等于0,且小于X的整数。
第一图像和第二图像为终端摄像头采集的原始图像,接下来介绍原始图像的概念。
终端在拍照时可以打开快门,进而光线可以通过镜头被传递到摄像头的感光元件上,摄像头感光元件可以将光信号转换为电信号,并将电信号传递给图像信号处理器(image signal processor,ISP)以及数字信号处理器(digital signal processor,DSP)等处理,可以转化为图像,该图像可以称之为摄像头采集的原始图像。本申请实施例中所描述的第一图像以及第二图像可以为上述原始图像,本申请实施例提供的图像处理方法可以在原始图像的基础上,对原始图像进行图像处理,以得到处理后的目标图像(第三图像和第四图像),进而取景框402内可以显示包括第三图像和第四图像的预览画面。应理解,第一图像和第二图像还可以是对ISP以及DSP处理后得到的图像经过尺寸裁剪后得到的图像,上述尺寸裁剪可以是为了适应于终端显示屏大小或者是拍摄界面取景框大小而进行的裁剪。
本申请实施例中,可以对摄像头实时采集的视频流进行防抖处理以及透视畸变矫正,接下来以对本申请实施例中的第一图像和第二图像为例,描述如何对第一图像和第二图像进行防抖处理以及透视畸变矫正。
在一些场景中,用户可以通过手持终端设备来拍摄目标区域,其中目标区域可以包括处于移动状态的对象,或者目标区域可以是处于静止的区域,即不包括处于移动状态的对象。
对视频流进行防抖处理以及透视畸变矫正时可能会使得显示在取景框内的预览画面出现果冻效应(或者称之为Jello现象),所谓Jello现象(果冻效应),是指画面像果冻一样的变形和变化,接下来描述果冻jello效应产生的原因。
首先介绍图像的透视畸变以及透视畸变矫正。
当相机处于广角拍摄模式或者主摄拍摄模式时,采集到的原始图像会存在明显的透视畸变。具体的,透视畸变(或者称之为3D畸变)是由于拍摄景物深度差异,造成空间三维形状映射到相面时呈现不同的放大比例,而造成的3D物体成像变形现象(例如横向拉伸、径向拉伸及二者的结合),因此需要对图像进行透视畸变矫正。
应理解,所谓的3D物体成像变形,可以理解为图像上的物体相比于从人眼视觉上观察到的真实物体,出现了因形变而导致的图像失真。
其中,在发生透视畸变的图像中,距离图像中心位置较远的物体相比距离图像中心位置较近的物体,会有更明显的透视畸变,也就是成像变形的长度更高(横向拉伸、径向拉伸及二者的结合的幅度更大)。因此,为了能够获得一个无透视畸变问题的图像,在进行图像的透视畸变矫正的过程中,对于图像中心位置不同距离的位置点或者像素点,需要矫正的位移不同,对于距离图像中心点更远的位置点或者像素点,需要矫正的位移更大。
参照图4a,图4a为透视畸变的图像示意,如图4a所示,在图像的边缘区域的人物出现了一定的3D变形。
在一些场景中,用户在手持终端设备进行拍摄的过程中会出现抖动的情况。
在用户手持终端拍摄时,由于用户无法保持手持终端的姿态始终处于稳定的状态,会使得终端出现在像平面方向的抖动(即终端在很短时间内出现较大的姿态变化)。所谓像平面,可以是指摄像头上的成像面所处的平面,具体的可以是摄像头感光元件上的感光面所处的平面,从用户的角度来看,像平面可以为与显示屏所处的平面基本一致或者完全一致的平面,像平面方向的抖动可以包括在像平面上各个方向的抖动,例如向左、向右、向上、向下、左上、左下、右上或右下等等。
用户手持终端拍摄目标区域,当用户手持终端出现A方向的抖动时,终端摄像头采集的原始图像中包括目标区域的图像内容会向A方向的相反方向偏移,例如,当用户手持终端出现左上方向的抖动时,终端摄像头采集的原始图像中包括目标区域的图像内容会向A方向的相反方向偏移。
应理解,上述用户手持终端出现的A方向的抖动,可以理解为以用户手持终端的角度来看,终端出现了向A方向的抖动。
参照图4b,图4b为一种终端抖动的场景示意,如图4b所示,在A1时刻,用户手持终端设备拍摄对象1,此时拍摄界面可以显示对象1,在A1-A2时刻之间,用户手持终端设备出现了向左下方向的抖动,此时摄像头采集的原始图像中的对象1出现了向右上方向的偏移。
用户手持终端拍摄目标区域,而由于用户手持终端的姿态不稳定,使得目标区域在摄像头采集的相邻图像帧之间的出现较大的偏移(换一种表述方式,即摄像头采集的相邻两帧图像之间出现较大的内容错位)。在终端设备在发生抖动时,摄像头采集的相邻两帧图像之间通常会由于出现较大的内容错位,从而导致摄像头采集的视频出现模糊的情况。应理解,与广角摄像头相比,终端在发生抖动时主摄像头采集到的图像的错位现象更严重,与主摄像头相比,终端在发生抖动时长焦摄像头采集到的图像的错位现象更严重。
在进行防抖处理时,可以将相邻两帧图像进行配准后,裁掉边缘部分,获得清晰的图像(可以称之为防抖输出或者防抖取景框,例如本申请实施例中的第一裁剪区域和第三裁剪区域)。
防抖处理是为了消除用户在手持终端设备时由于姿态变化造成的采集的视频出现抖动。具体的,防抖处理是对摄像头采集的原始图像进行裁剪,以得到取景框内的输出,取景框的输出即为防抖输出,当终端在很短时间内出现较大的姿态变化时,某一帧图像取景框内的画面在下一帧图像中会出现较大的偏移,例如终端在采集第n+1帧时相比于采集第n帧时在像平面方向出现了A方向的抖动(应理解,所谓出现了A方向的抖动可以为终端摄像头的主光轴的朝向出现了向A方向的抖动,或者终端摄像头的光心位置在像平面方向出现了向A方向的抖动),则在第n+1帧图像的取景框内的画面在第n帧图像中偏向于A方向的相反方向。
以图4b为例,在A1-A2时刻之间,用户手持终端设备出现了向左下方向的抖动,此时摄像头采集的原始图像中的对象1出现了向右上方向的偏移,则防抖处理需要裁剪的裁剪区域(图4b所示的虚线框)也相应向右上方向偏移。
防抖处理就是需要确定出前一帧原始图像中取景框内的画面在下一帧原始图像中偏移的位移(包括偏移方向和偏移距离)。在一种实现中,上述偏移的位移可以基于终端在采集相邻两帧原始图像过程中所发生的抖动来确定,具体的,可以是终端在采集相邻两帧原始图像过程中所发生的姿态变化,该姿态变化可以基于前一帧原始图像中取景框对应的拍摄姿态以及终端拍摄当前帧原始图像的姿态来得到。
经过防抖处理,在用户手持终端设备时出现较大程度的抖动时,虽然相邻帧原始图像之间的画面出现较大差异,但对相邻帧原始图像进行裁剪后得到的取景框内的画面之间不会出现很大的差异或者没有差异,进而使得拍摄界面的取景框内的显示画面也不会出现很大的抖动以及模糊的情况。
接下来结合图4c,给出一个防抖处理的具体过程示意,参照图4c,针对于摄像头采集的第n帧原始图像,可以获取到拍摄第n帧图像时手持终端的姿态参数,其中手持终端姿态参数可以指示终端采集第n帧时的姿态,手持终端姿态参数可以基于终端所携带的传感器采集到的信息得到,终端所携带的传感器可以但不限于是陀螺仪,采集到的信息可以但不限于是终端在x轴的旋转角速度、y轴的旋转角速度和z轴的旋转角速度。
此外还可以获取到上一帧图像的稳定姿态参数,也就是第n-1帧图像的姿态参数,所谓上一帧图像的稳定姿态参数可以指第n-1帧图像中取景框对应的拍摄姿态,基于上一帧图像的稳定姿态参数以及第n帧图像时手持终端的姿态参数,可以计算原始图像中取景框在像平面的抖动方向和幅度(抖动方向和幅度也可以称之为抖动位移),其中取景框的大小为预先设定好的,当n为0的时候,也就是采集第一个图像帧的时候,取景框的位置可以位于原始图像的中心位置。在得到原始图像中取景框在像平面的抖动方向和幅度之后,可以确定第n帧原始图像中取景框的位置,并判断取景框边界是否超出输入图像(也就是第n帧原始图像)的范围,如果由于抖动幅度过大而使得取景框边界超出输入图像的范围,则调整第n帧图像的稳定姿态参数,使得取景框的边界位于输入的原始图像的边界之内。如图4b所示,取景框边界在右上的方向超出输入图像的范围,则调整第n帧图像的稳定姿态参数,使得取景框的位置向左下方向移动,进而使得取景框的边界位于输入的原始图像的边界之内,并输出防抖索引表,其中,输出防抖索引表具体指示,去除抖动后,图像的各个像素点或位置点的姿态矫正位移,基于输出防抖索引表和第n帧原始图像可以确定取景框的输出。如果抖动幅度不大或者不存在抖动,使得取景框边界未超出输入图像的范围,则可以直接输出防抖索引表。
类似的,在对第n+1帧图像进行防抖处理时,可以获取到第n帧图像的姿态参数,所谓第n帧图像的姿态参数可以指第n帧图像中取景框对应的拍摄姿态,基于第n帧图像的姿态参数及第n+1帧图像时手持终端的姿态参数,可以计算原始图像中取景框在像平面的抖动方向和幅度(抖动方向和幅度也可以称之为抖动位移),其中取景框的大小为预先设定好的,之后可以确定第n+1帧原始图像中取景框的位置,并判断取景框边界是否超出输入图像(也就是第n+1帧原始图像)的范围,如果由于抖动幅度过大而使得取景框边界超出输入图像的范围,则调整第n+1帧图像的稳定姿态参数,使得取景框的边界位于输入的原始图像的边界之内,并输出防抖索引表。如果抖动幅度不大或者不存在抖动,使得取景框边界未超出输入图像的范围,则可以直接输出防抖索引表。
为了更清楚的描述上述防抖处理过程,以n为0,也就是以采集第一个图像帧为例,对防抖处理过程进行描述。
参照图4d,图4d为本申请实施例中的一种防抖处理过程的示意,如图4d所示,裁剪第0帧中的图像中心部分作为第0帧的防抖输出(也就是第0帧的取景框输出),之后由于用户手持终端时出现抖动使得终端姿态发生变化,导致拍摄视频画面发生抖动,可以根据第1帧手持终端的姿态参数和第0帧图像姿态的稳定姿态参数,计算第1帧的取景框边界,如图4d所示,确定出第1帧原始图像的取景框的位置向右偏移,输出第1帧的取景框,假设第2帧图拍摄时有非常大的抖动根据第2帧手持终端的姿态参数和第1帧图像姿态矫正后的姿态参数,计算第2帧的取景框边界超出第2帧输入的原始图像的边界,则调整稳定姿态参数,使得第2帧原始图像内取景框边界位于第2帧原始图像的边界之内,进而得到第2帧原始图像的取景框输出。
在一些拍摄场景中,对采集的原始图像进行防抖处理以及透视畸变矫正可能会产生画面出现果冻jello效应,原因如下:
在现有的一些实现中,为了对图像在进行透视畸变矫正的同时又进行防抖处理,需要在原始图像上确认防抖取景框,并对原始图像的全部区域进行透视畸变矫正,则防抖取景框内的图像区域相当于进行了透视畸变矫正,并输出防抖取景框内的图像区域。然而,上述方式对存在如下问题:由于在终端设备在发生抖动时,摄像头采集的相邻两帧图像之间通常会由于内容错位,因此对两帧图像进行防抖处理后要输出的图像区域在原始图像中的位置是不同的,也就是对两帧图像进行防抖处理后要输出的图像区域距离原始图像中心点的距离是不同的,进而会使得输出的两帧图像中位置点或像素点进行的透视畸变矫正的位移不同,由于相邻两帧防抖输出的是包括相同或基本相同内容的图像,而图像之间相同对象的形变程度不同,也就是失去了帧间一致性,进而会出现果冻Jello现象,降低了视频输出的质量。
更具体的,Jello现象的成因可以如图4e所示,第一帧和第二帧间存在明显抖动,防抖取景框由画面中央移动到画面边缘,其中小框中内容为防抖输出,大框为原始图像。当棋盘格内容在原始图像中的位置改变后,由于进行透视畸变矫正的矫正位移不同,使得前后帧的格子间距变化大小不同,进而防抖前后两帧输出则会观察到明显的格子伸缩现象(也就是Jello现象)。
本申请实施例提供了一种图像处理方法,可以使得对图像进行防抖处理以及透视畸变矫正的同时,可以保证帧间一致性,避免了图像之间的Jello现象,或者降低了图像之间Jello现象发生的形变程度。
接下来详细描述,如何对图像进行防抖处理以及透视畸变矫正的同时,保证帧间一致性。本申请实施例以对第一图像和第二图像进行防抖处理以及透视畸变矫正为例进行说明,其中,第一图像和第二图像为终端采集的两个在时域上相邻的帧原始图像,具体的,终端实时采集的视频为在时域上按序排列的原始图像序列,第二图像是在时域上排列在第一图像相邻且之后的原始图像,例如终端实时采集的视频包括在时域上排列的第0帧图像、第1帧图像、第2帧图像、…、第X帧图像,第一图像为第n帧图像,第二图像为第n+1帧图像,n为大于或等于0,且小于X的整数。
本申请实施例中,可以对采集的第一图像进行防抖处理,得到第一裁剪区域,其中,第一图像为终端摄像头实时采集的视频中的一帧原始图像,关于摄像头如何采集得到原始图像的过程可以参照上述实施例中的描述,这里不再赘述。
在一种实现中,第一图像为终端摄像头实时采集的视频中的第一帧原始图像,则第一裁剪区域位于第一图像的中心区域,具体可以参照上述实施例中关于如何对第n帧进行防抖处理的描述,这里不再赘述。
在一种实现中,第一图像为终端摄像头实时采集的视频中的第一帧原始图像之后的原始图像,则第一裁剪区域为基于终端在采集第一图像和第一图像相邻且之前的原始图像的过程中所发生的抖动来确定的,具体可以参照上述实施例中关于如何对第n(n不等于0)帧进行防抖处理的描述,这里不再赘述。
在一种实现中,可以对第一图像默认进行防抖处理,所谓默认,是指不需要使能防抖处理功能,就直接对采集的原始图像进行防抖处理,例如在打开拍摄界面时就对采集的视频进行防抖处理。其中,使能防抖处理功能的方式可以是基于用户的使能操作,或者是通过分析当前拍摄场景的拍摄参数以及采集的视频的内容来确定是否进行防抖功能使能。
在一种实现中,可以检测到终端满足防抖条件,使能防抖处理功能,进而对第一图像进行防抖处理。
在具体实现过程中,检测到终端满足防抖条件包括但不限于如下情形的一种或多种:
情形1:检测到所述终端的拍摄倍率大于第二预设阈值。
在一种实现中,可以基于终端的拍摄倍率来判断是否使能防抖处理功能,在终端的拍摄倍率较小的情况下(例如在广角拍摄模式的全部或部分倍率范围内),拍摄界面取景框内显示的画面对应的物理区域大小已经很小了,如果还进行防抖处理,也就是进行进一步的图像裁剪,会使得取景框内显示的画面对应的物理区域大小更小,因此可以当终端的拍摄倍率大于一定预设阈值时,才使能防抖处理功能。
具体的,在对第一图像进行防抖处理之前,需要检测到所述终端的拍摄倍率大于或等于第二预设阈值,所述第二预设阈值为可开启防抖处理功能的最小倍率值。当终端的拍摄倍率为a~1时,所述终端采用前置广角摄像头或后置广角摄像头实时采集视频流,其中a为所述前置广角摄像头或后置广角摄像头的固有倍率,所述a的取值范围为0.5~0.9,则第二预设阈值可以为大于或等于a,且小于或等于1的倍率值,例如第二预设阈值可以为a,此时只有在终端的拍摄倍率等于a的情况下,才不使能防抖处理功能,例如第二预设阈值可以为0.6、0.7或0.8,这里并不限定。
情形2:检测到用户开启防抖处理功能的第二使能操作。
在一种实现中,拍摄界面上可以包括用于指示开启或关闭防抖处理功能的控件(本申请实施例中称之为第二控件)。用户可以针对于第二控件的第二操作来触发开启防抖处理功能,即,通过针对于第二控件的第二操作来使能防抖处理功能;进而终端可以检测到用户开启防抖处理功能的第二使能操作,所述第二使能操作包括针对于所述终端的拍摄界面上第二控件的第二操作。
在一种实现中,只有在检测到所述终端的拍摄倍率大于或等于第二预设阈值时,才在拍摄界面上显示用于指示开启或关闭防抖处理功能的控件(本申请实施例中称之为第二控件)。在一种实现中,还可以对第一裁剪区域进行光学畸变矫正处理,以得到矫正后的第一裁剪区域。
在一种实现中,可以对第一裁剪区域默认进行透视畸变矫正,所谓默认,是指不需要使能透视畸变矫正,就直接对第一裁剪区域进行透视畸变矫正,例如在打开拍摄界面时就对防抖处理后得到的第一裁剪区域进行透视畸变矫正,使能透视畸变矫正的方式可以是基于用户的使能操作,或者是通过分析当前拍摄场景的拍摄参数以及采集的视频的内容来确定是否进行透视畸变矫正使能。
在一种实现中,可以检测到终端满足畸变矫正条件,使能畸变校正功能,进而对第一裁剪区域进行透视畸变矫正。
应理解,执行检测到终端满足畸变矫正条件,使能畸变校正功能的动作的时机可以在对采集的第一图像进行防抖处理的步骤之前;或者在对采集的第一图像进行防抖处理之后,而在对所述第一裁剪区域进行透视畸变矫正处理之前,本申请并不限定。
在具体实现过程中,检测到终端满足畸变矫正条件包括但不限于如下情形的一种或多种:
情形1:检测到所述终端的拍摄倍率小于第一预设阈值。
在一种实现中,可以基于终端的拍摄倍率来判断是否使能透视畸变矫正,在终端的拍摄倍率较大的情况下(例如在长焦拍摄模式的全部或部分倍率范围内,或者中焦拍摄模式的全部或部分倍率范围内),终端采集的图像中画面的透视畸变程度较低,所谓透视畸变程度较低,可以理解为人眼几乎辨别不出来终端采集的图像中画面存在透视畸变的情况,因此在终端的拍摄倍率较大的情况下,不需要使能透视畸变矫正。
具体的,在对第一裁剪区域默认进行透视畸变矫正之前,需要检测到所述终端的拍摄倍率小于第一预设阈值,所述第一预设阈值为可开启透视畸变矫正的最大倍率值。也就是当终端的拍摄倍率小于第一预设阈值时,可以使能透视畸变矫正。
当终端的拍摄倍率为a~1时,所述终端采用前置广角摄像头或后置广角摄像头实时采集视频流,其中广角摄像头拍摄的图像对应的拍摄倍率范围可以为a~1,最小值a可以为广角摄像头的固有倍率,a的取值范围可以为0.5~0.9,例如a可以但不限于为0.5、0.6、0.7、0.8或者0.9。应理解,广角摄像头可以包括前置广角摄像头以及后置广角摄像头。前置广角摄像头和后置广角摄像头对应的拍摄倍率范围可以相同也可以不同,例如前置广角摄像头对应的拍摄倍率范围可以为a1~1,最小值a1可以为前置广角摄像头的固有倍率,a1的取值范围可以为0.5~0.9,例如a1可以但不限于为0.5、0.6、0.7、0.8或者0.9,例如后置广角摄像头对应的拍摄倍率范围可以为a2~1,最小值a2可以为后置广角摄像头的固有倍率,a2的取值范围可以为0.5~0.9,例如a2可以但不限于为0.5、0.6、0.7、0.8或者0.9。在终端采用前置广角摄像头或后置广角摄像头实时采集视频流的情况下,第一预设阈值大于1,例如第一预设阈值可以为2、3、4、5、6、7或8,这里并不限定。
当终端的拍摄倍率为1~b时,所述终端采用后置主摄像头实时采集视频流,在终端还集成有后置长焦摄像头的情况下,b可以为后置长焦摄像头的固有倍率,b的取值范围可以为3~15,例如b可以但不限于为3、4、5、6、7、8、9、10、11、12、13、14或者15。在终端未集成有后置长焦摄像头的情况下,值b可以为所述终端的变焦极大值,b的取值范围可以为3~15,例如b可以但不限于为3、4、5、6、7、8、9、10、11、12、13、14或者15。在终端采用后置主摄像头实时采集视频流的情况下,所述第一预设阈值为1~15,例如第一预设阈值可以为1、2、3、4、5、6、7、8、9、10、11、12、13、14或15,这里并不限定。
应理解,上述第一预设阈值的范围(1~15)中,可以包括两个端点倍率(1和15),也可以不包括两个端点倍率(1和15),或者是包括两个端点倍率中的一个。
示例性的,第一预设阈值的范围可以为区间[1,15]。
示例性的,第一预设阈值的范围可以为区间(1,15]。
示例性的,第一预设阈值的范围可以为区间[1,15)。
示例性的,第一预设阈值的范围可以为区间(1,15)。
情形2:检测到用户开启透视畸变矫正功能的第一使能操作。
在一种实现中,拍摄界面上可以包括用于指示开启或关闭透视畸变矫正的控件(本申请实施例中称之为第一控件)。用户可以针对于第一控件的第一操作来触发开启透视畸变矫正,即,通过针对于第一控件的第一操作来使能透视畸变矫正;进而终端可以检测到用户开启透视畸变矫正的第一使能操作,所述第一使能操作包括针对于所述终端的拍摄界面上第一控件的第一操作。
在一种实现中,只有在检测到所述终端的拍摄倍率小于第一预设阈值时,才在拍摄界面上显示用于指示开启或关闭透视畸变矫正的控件(本申请实施例中称之为第一控件)。
情形3:基于识别出拍摄场景中存在人脸;或,识别出拍摄场景中存在人脸、且所述人脸与所述终端之间的距离小于预设值;或,识别出拍摄场景中存在人脸、且所述人脸在所述拍摄场景对应的图像中所占的像素比例大于预设比例,来确定使能透视畸变矫正。
应理解,当拍摄场景中存在人脸时,由于透视畸变矫正对人脸的形变程度在视觉上会显得更加明显,且人脸与所述终端之间的距离越小或者人脸在所述拍摄场景对应的图像中所占的像素比例越大时,相当于图像中人脸的面积越大,则透视畸变矫正对人脸的形变程度在视觉上会显得更明显。因此,在上述场景中,需要使能透视畸变矫正。本实施例中,通过上述与拍摄场景中人脸相关条件的判定,来确定是否使能透视畸变矫正,可以精准的判断出会出现透视畸变的拍摄场景,并对会出现透视畸变的拍摄场景进行透视畸变矫正的处理,而在不出现透视畸变的拍摄场景中不进行透视畸变矫正的处理,实现了图像信号的精准处理,节约了功耗。
通过上述方式,在使能防抖处理功能以及使能透视畸变矫正功能时,可以执行如下的步骤301至步骤306,具体的,可以参照图3,图3为本申请实施例提供的一种图像处理方法的实施例示意图,如图3示出的那样,本申请提供的图像处理方法,包括:
301、对采集的第一图像进行防抖处理,得到第一裁剪区域。
本申请实施例中,可以对采集的第一图像进行防抖处理,得到第一裁剪区域,其中,第一图像为终端摄像头实时采集的视频中的一帧原始图像,关于摄像头如何采集得到原始图像的过程可以参照上述实施例中的描述,这里不再赘述。
在一种实现中,第一图像为终端摄像头实时采集的视频中的第一帧原始图像,则第一裁剪区域位于第一图像的中心区域,具体可以参照上述实施例中关于如何对第0帧进行防抖处理的描述,这里不再赘述。
在一种实现中,第一图像为终端摄像头实时采集的视频中的第一帧原始图像之后的原始图像,则第一裁剪区域为基于终端在采集第一图像和第一图像相邻且之前的原始图像的过程中所发生的抖动来确定的,具体可以参照上述实施例中关于如何对第n(n不等于0)帧进行防抖处理的描述,这里不再赘述。
在一种实现中,还可以对第一裁剪区域进行光学畸变矫正处理,以得到矫正后的第一裁剪区域。
302、对所述第一裁剪区域进行透视畸变矫正处理,得到第三裁剪区域。
本申请实施例中,在得到第一裁剪区域之后,可以对第一裁剪区域进行透视畸变矫正处理,得到第三裁剪区域。
应理解,上述拍摄场景可以理解为摄像头在采集第一图像之前采集的图像,或者,当第一图像为摄像头采集的视频中的第一帧图像,则拍摄场景可以为第一图像或者在时域上靠近第一图像的图像。可以通过神经网络或者其他方式确定出拍摄场景是否中存在人脸、以及所述人脸与所述终端之间的距离以及所述人脸在所述拍摄场景对应的图像中所占的像素比例。其中,预设值可以为0~10m,例如预设值可以为1、2、3、4、5、6、7、8、9、10,这里并不限定。像素比例可以为30%~100%,例如像素比例可以为30%、30%、30%、30%、30%、30%、30%、30%,这里并不限定。
以上介绍了如何使能透视畸变矫正,接下来描述如何进行透视畸变矫正:
和现有实现中对原始图像的全部区域进行透视畸变矫正不同的是,本申请实施例中,对第一裁剪区域进行透视畸变矫正,由于在终端设备在发生抖动时,摄像头采集的相邻两帧原始图像之间通常会出现内容的错位,因此对两帧图像进行防抖处理后要输出的裁剪区域在原始图像中的位置是不同的,也就是对两帧图像进行防抖处理后要输出的裁剪区域距离原始图像中心点的距离是不同的,然而两帧之间进行防抖处理后要输出的裁剪区域的大小是一致的,因此如果是对防抖处理得到的裁剪区域进行透视畸变矫正,则对相邻帧进行的透视畸变矫正的程度是一致的(因为两帧的防抖输出的裁剪区域中各个子区域相对于防抖输出的裁剪区域的中心点的距离是一致的)。且由于相邻两帧防抖输出的裁剪区域是包括相同或基本相同内容的图像,而图像之间相同对象的形变程度相同,也就是保持了帧间一致性,进而不会出现明显的果冻Jello现象,提高了视频输出的质量。应理解,这里的帧间一致性也可以称之为时域一致性,用于表示相邻帧内容相同的区域有同样的处理结果。
因此本申请实施例中不是对第一图像进行透视畸变矫正,而是对防抖处理得到的第一裁剪区域进行透视畸变矫正,得到第三裁剪区域,针对于和第一图像的相邻帧(第二图像),也是做同样的处理过程,即对防抖处理得到的第二裁剪区域进行透视畸变矫正,得到第三裁剪区域,使得第三裁剪区域和第三裁剪区域之间相同对象的形变矫正程度相同,保持了帧间一致性,进而不会出现明显的果冻Jello现象,提高了视频输出的质量。
本申请实施例中,对前后帧的裁剪区域内可以包括相同的目标对象(例如人物对象),由于透视畸变矫正的对象为防抖处理得到的裁剪区域,则针对于目标对象,前后帧通过透视畸变矫正使得目标对象发生形变的程度的差异很小,上述差异很小可以理解为从人的肉眼上很难辨别出形状差异,或者前后帧之间从人的肉眼上很难辨别出Jello现象。
具体的,可以参照图22a,其中对原始图像的全部区域进行透视畸变矫正后得到的输出会存在明显的Jello现象,而对防抖处理得到的裁剪区域进行透视畸变矫正后得到的输出,则不会存在明显的Jello现象。
在一种实现中,还可以对所述第三裁剪区域进行光学畸变矫正处理,以得到矫正后的第三裁剪区域。
303、根据所述第一图像和所述第三裁剪区域得到第三图像。
本申请实施例中,第三裁剪区域可以指示透视畸变矫正的输出,具体的,第三裁剪区域可以用于指示如何从第一图像中进行裁剪以及像素点或位置点的位移,得到需要输出的图像区域。
在一种实现中,第三裁剪区域可以用于指示经过防抖处理以及透视畸变矫正后,第一图像中的哪些像素点或位置点是需要被映射或是选择的,以及第一图像中需要被映射或选择的像素点或位置点需要进行怎样的位移。
具体的,第三裁剪区域可以包括透视畸变矫正的输出中各个像素点或位置点,相对于第一图像中的像素点或位置点之间的映射关系。进而可以根据所述第一图像和所述第三裁剪区域得到第三图像,第三图像可以显示在拍摄界面的取景框内。应理解可以通过Warp操作,根据所述第一图像和所述第三裁剪区域得到第三图像,其中,Warp操作是指对图像进行仿射变换。
304、对采集的第二图像进行防抖处理,得到第二裁剪区域;且所述第二裁剪区域与所述第一裁剪区域和抖动信息有关;所述抖动信息用于表示所述终端采集所述第一图像和所述第二图像的过程中所发生的抖动。
其中,抖动信息指示的终端抖动可以是在T1时刻至T2时刻的时间段内终端所发生的抖动,T1可以为所述终端采集所述第一图像的时刻,或者是与所述终端采集所述第一图像的时刻存在一定偏差的时刻,T2为终端采集第二图像的时刻,或者是与所述终端采集所述第二图像的时刻存在一定偏差的时刻。
具体的,抖动信息指示的终端抖动可以是在终端采集所述第一图像的时刻之前的某一时刻至终端采集所述第二图像的时刻的时间段内终端所发生的抖动,也可以是在终端采集所述第一图像的时刻之后的某一时刻(也同样在终端采集所述第二图像的时刻之前)至终端采集所述第二图像的时刻的时间段内终端所发生的抖动,也可以是在终端采集所述第一图像的时刻之后的某一时刻(也同样在终端采集所述第二图像的时刻之前)至终端采集所述第二图像的时刻之后的某一时刻的时间段内终端所发生的抖动,也可以是在终端采集所述第一图像的时刻之后的某一时刻至终端采集所述第二图像的时刻之前的某一时刻的时间段内终端所发生的抖动,也可以是在终端采集所述第一图像的时刻至终端采集所述第二图像的时刻之前的某一时刻的时间段内终端所发生的抖动,也可以是在终端采集所述第一图像的时刻至终端采集所述第二图像的时刻之后的某一时刻的时间段内终端所发生的抖动,在一种可能的实现中,上述终端采集所述第一图像的时刻之前的某一时刻可以是终端采集第一图像之前采集的某一个图像的时刻,上述终端采集所述第二图像的时刻之后的某一时刻可以是终端采集第二图像之后采集的某一个图像的时刻。
在一种实现中,所述第二裁剪区域在所述第二图像上的位置相对于所述第一裁剪区域在所述第一图像上的位置的偏移方向与所述终端采集所述第一图像和所述第二图像的过程中所发生的抖动在像平面的抖动方向相反。
更多关于步骤304的描述可以参照上述实施例中关于如何对采集的第一图像进行防抖处理的描述,这里不再赘述。
应理解,步骤304和步骤302以及步骤303之间没有严格的时序限定,步骤304可以在步骤302之前、步骤301之后执行,步骤304也可以在步骤303之前、步骤302之后执行,步骤304也可以在步骤303之后执行,本申请并不限定。
305、对所述第二裁剪区域进行透视畸变矫正处理,得到第四裁剪区域。
本申请实施例中,可以对所述第二裁剪区域进行畸变矫正处理,得到第二映射关系,所述第二映射关系包括所述第四裁剪区域的各个位置点与所述第二裁剪区域中对应位置点的映射关系;根据所述第二裁剪区域和所述第二映射关系,确定所述第四裁剪区域。
本申请实施例中,可以根据所述抖动信息和所述第二图像,确定第一映射关系,所述第一映射关系包括所述第二裁剪区域的各个位置点与所述第二图像中对应位置点的映射关系,之后可以根据所述第一映射关系和所述第二图像,确定所述第二裁剪区域;对所述第二裁剪区域进行畸变矫正处理,得到第二映射关系,所述第二映射关系包括所述第四裁剪区域的各个位置点与所述第二裁剪区域中对应位置点的映射关系;根据所述第二裁剪区域和所述第二映射关系,确定所述第四裁剪区域。
在一种实现中,还可以将所述第一映射关系和所述第二映射关系进行耦合,以确定目标映射关系,所述目标映射关系包括所述第四裁剪区域的各个位置点与所述第二图像中对应位置点的映射关系;根据所述目标映射关系和所述第二图像,确定所述第四图像,相当于将第一映射关系和第二映射关系进行了索引表的耦合。通过索引表的耦合,使得不需要在防抖处理得到裁剪区域后进行一次Warp操作,然后在透视畸变矫正后再进行一次Warp操作,而是只需要在透视畸变矫正后基于耦合的索引表得到输出后,只进行一次Warp操作,进而降低了Warp操作的开销。
其中,第一映射关系可以称之为防抖索引表,第二映射关系可以称之为透视畸变矫正索引表。接下来详细展开描述:接下来首先描述如何确定透视畸变矫正所采用的矫正索引表(或者称之为第二映射关系),其中,从防抖输出的第二裁剪区域到第四裁剪区域映射关系可以为如下:
x=x0(1+K01*rx 2+K02*rx 4)
y=y0(1+K11*ry 2+K12*ry 4);
式中,(x0,y0)为防抖输出的第二裁剪区域中的像素点或位置点的归一化坐标,与像素坐标(xi,yi)、图像宽度W、图像高度H的关系可以为如下:
x0=(xi–0.5*W)/W;
y0=(yi–0.5*H)/H;
式中,(x,y)为第四裁剪区域中对应的位置点或像素点的归一化坐标,需要根据如下公式将其转换为目标像素坐标(xo,yo):
xo=x*W+0.5*W;
yo=y*H+0.5*H;
式中,K01,K02,K11,K12为关系式参数,具体值决定于畸变图像的视场角大小;r_x为(x0,y0)的x方向的畸变距离,r_y为(x0,y0)的y方向的畸变距离,两者可以通过下面的关系式确定:
式中,α_x=1,α_y,β_x,β_y为关系式系数,取值范围为0.0~1.0。当取值为1.0,1.0,1.0,1.0时,r_x=r_y,为像素点(x0,y0)到图像中心的距离;当取值为1.0,0.0,0.0,1.0时,r_x为像素点(x0,y0)到图像x方向中轴线的距离,r_y为像素点(x0,y0)到图像y方向中轴线的距离。可以根据透视畸变矫正效果和背景直线的弯曲程度调整系数,以达到两者平衡后的矫正效果。
接下来描述如何基于索引表(第一映射关系以及第二映射关系)来对第一图像进
行防抖处理以及透视畸变矫正。
在一种实现中,可以依据摄像头的成像模组相关参数确定光学畸变矫正索引表T1,其中光学畸变矫正索引表T1中包括光学畸变矫正图像位置到第一图像的映射点。其中,光学畸变矫正索引表T1的粒度可以是像素或者是位置点;之后可以生成防抖索引表T2,防抖索引表T2包括抖动补偿后图像位置到第一图像的映射点;之后可以生成光学+防抖索引表T3,光学+防抖索引表T3可以包括光学畸变矫正+抖动补偿后图像位置到第一图像的映射点(应理解上述光学畸变矫正处理为可选的,即可以不做光学畸变矫正处理,而直接对第一图像进行防抖处理,进而可以得到防抖索引表T2);之后基于防抖输出图信息(包括光学畸变矫正+抖动补偿后图像位置),确定透视畸变矫正索引表T4,透视畸变矫正索引表T4可以包括第四裁剪区域到防抖输出的第二裁剪区域的映射点。基于T3和T4,可以通过坐标系切换查表方式来生成耦合索引表T5,参照图22b,具体可以从第四裁剪区域出发,逆向二次查表以建立第四裁剪区域与第一图像之间的映射关系:其中,以第四裁剪区域中的位置点a为例,对于当前查找的第四裁剪区域中的位置点a,根据透视畸变矫正表T4可索引到点a在防抖输出坐标系中的映射位置b;进而在光学畸变+防抖输出索引表T3中,可以根据点b的邻域网格点c0,c1,…,cn与第一图像中坐标d0,d1,,…,dn的映射关系,可知它们的光学畸变矫正+防抖矫正位移delta1,delta2,…,deltan;最后,基于delta1,delta2,…,deltan利用插值算法计算点b的光学+防抖矫正位移后,即知它在第一图像中的映射位置d;从而建立了第四裁剪区域中位置点a和第一图像的映射位置d之间的映射关系。对于第四裁剪区域中的每个位置点,执行以上流程即可得到耦合索引表T5。
之后可以根据耦合索引表T5和第二图像,执行图像变形插值算法,输出第四图像。
以对第二图像进行处理为例,具体的流程图可以参照图22c、图22e以及图22f所示,其中,图22c描述了如何构建索引表,以及基于防抖、透视畸变和光学畸变三者耦合索引表T5和第二图像进行warp的过程,图22e、图22f以及图22c之间不同的是,图22c中是对防抖索引表和的光学畸变矫正索引表进行了耦合,图22e中是对透视畸变矫正索引表和的光学畸变矫正索引表进行了耦合,图22f中所有畸变矫正过程(包括光学畸变矫正和透视畸变矫正)都是在视频防抖后端的畸变矫正模块中进行耦合。图22d示出了坐标系切换查表的过程。应理解,在一种实现中,可以先耦合透视畸变索引表与防抖索引表,再耦合光学畸变索引表,具体流程如下:基于防抖索引表T2和透视畸变索引表T3,通过坐标系切换查表方式来生成防抖和透视畸变耦合索引表T4;之后从透视畸变矫正输出坐标出发,逆向二次查表以建立透视畸变矫正输出与防抖输入坐标映射关系,具体的,参照图23,对于当前查找的透视畸变矫正表T3中的点a,可索引到它在防抖输出(透视矫正输入)坐标系中的映射位置b;进而在防抖输出索引表T2中,根据点b的邻域网格点c0,c1,…,cn与防抖输入坐标d0,d1,,…,dn的映射关系可知它们的防抖矫正位移delta1‘,delta2’,…,deltan‘;利用插值算法计算点b的防抖矫正位移后,即知它在防抖输入坐标系中的映射位置d;从而建立了透视畸变矫正输出点a和防抖输入坐标点d的映射关系。对于透视畸变矫正表T3的每个点,执行以上流程得到透视畸变矫正与防抖的耦合索引表T4。
之后可以基于T1和T4,再次通过坐标系切换查表方式来生成防抖、透视畸变和光学畸变三者耦合索引表T5。从第四裁剪区域出发,逆向二次查表以建立第四裁剪区域与第二图像的坐标映射关系:具体的,对于当前查找的第四裁剪区域中的位置点a,根据透视畸变矫正与防抖的耦合索引表T4可索引到位置点a在防抖输入(光学畸变矫正输出)坐标系中的映射位置d;进而在光学畸变索引表T1中,根据点d的邻域网格点d0,d1,…,dn与原图坐标e0,e1,,…,en的映射关系可知它们的光学畸变矫正位移delta1”,delta2”,…,deltan”;利用插值算法计算点d的光学畸变矫正位移后,即知它在第一图像坐标系中的映射位置e;从而建立了位置点a和第二图像的映射位置e的映射关系。对于第四裁剪区域的每个位置点,执行以上流程得到三者耦合索引表T5。
相比将光学畸变矫正索引表、透视畸变索引表放在畸变矫正模块中进行耦合处理,一方面由于光学畸变是jello现象的重要成因,在视频防抖后端来控制两者的生效,本实施例可解决视频防抖模块关闭光学畸变矫正时,透视畸变矫正模块对jello现象不可控问题。
在一种实现中,为了可以使得前后帧保持严格的帧间一致,可以将前后帧在进行透视畸变矫正所采用的矫正索引表(或者称之为第二映射关系)相同,进而使得前后帧保持严格的帧间一致。
更多关于步骤305的描述可以参照上述实施例中关于如何对第一裁剪区域进行透视畸变矫正处理的描述,相似之处,这里不再赘述。
306、根据所述第二图像和所述第四裁剪区域得到第四图像。
在一种实现中,可以获取第一映射关系和第二映射关系,所述第一映射关系用于表示所述第二裁剪区域的各个位置点与所述第二图像中对应位置点的映射关系,所述第二映射关系用于表示所述第四裁剪区域的各个位置点与所述第二裁剪区域中对应位置点的映射关系;根据所述第二图像、所述第一映射关系和所述第二映射关系,得到所述第四图像。
更多关于步骤306的描述可以参照上述实施例中关于根据所述第一图像和所述第三裁剪区域得到第三图像的描述,这里不再赘述。
307、根据所述第三图像和所述第四图像,生成目标视频。
在一种实现中,可以根据所述第三图像和所述第四图像,生成目标视频,并显示所述目标视频。具体的,针对于终端设备实时采集的视频流中的任意两帧图像,可以基于上述步骤301至步骤306得到经过防抖处理以及透视畸变矫正后的输出图像,进而可以得到经过防抖处理以及透视畸变矫正后的视频(也就是上述目标视频),例如第一图像可以为视频流中的第n帧,第二图像可以为第n+1帧,则第n-2帧和第n-1帧也可以分别作为第一图像和第二图像进行上述步骤301至步骤306的处理,第n-1帧和第n帧也可以分别作为第一图像和第二图像进行上述步骤301至步骤306的处理,第n+1帧和第n+2帧也可以分别作为第一图像和第二图像进行上述步骤301至步骤306的处理。以此类推,此处不予以赘述和穷举。
在一种实现中,在得到目标视频后,可以在相机的拍摄界面的取景框中显示目标视频。
应理解,上述拍摄界面可以是拍照模式下的预览界面,则目标视频为拍照模式下的预览画面,用户可以点击拍摄界面的拍摄控件或者通过其他触发方式触发相机快门,进而可以获取到拍摄图像。
应理解,上述拍摄界面可以是视频录制模式中在开启视频录制之前的预览界面,进而目标视频是视频录制模式中在开启视频录制之前的预览画面,用户可以点击拍摄界面的拍摄控件或者通过其他触发方式触发相机开始录像。
应理解,上述拍摄界面可以是视频录制模式中在开启视频录制之后的预览界面,进而目标视频是视频录制模式中在开启视频录制之后的预览画面,用户可以点击拍摄界面的拍摄控件或者通过其他触发方式触发相机结束录像,并保存录像过程中拍摄的视频。
本申请提供了一种图像显示方法,应用于终端实时采集视频流;包括:对采集的第一图像进行防抖处理,得到第一裁剪区域;对所述第一裁剪区域进行透视畸变矫正处理,得到第三裁剪区域;根据所述第一图像和所述第三裁剪区域得到第三图像;对采集的第二图像进行防抖处理,得到第二裁剪区域;且所述第二裁剪区域与所述第一裁剪区域和抖动信息有关;所述抖动信息用于表示所述终端采集所述第一图像和所述第二图像的过程中所发生的抖动;对所述第二裁剪区域进行透视畸变矫正处理,得到第四裁剪区域;根据所述第二图像和所述第四裁剪区域得到第四图像;所述第三图像和所述第四图像用于生成目标视频;其中,所述第一图像和所述第二图像为所述终端采集的一对时域先后相邻的原始图像。且由于相邻两帧防抖输出的是包括相同或基本相同内容的图像,而图像之间相同对象的形变程度相同,也就是保持了帧间一致性,进而不会出现明显的果冻Jello现象,提高了视频显示的质量。
接下来结合和终端侧的交互对本申请实施例提供的图像处理方法进行描述。
参照图5a,图5a为本申请实施例中的一种图像处理方法的流程示意,如图5a所示,本申请实施例提供的图像处理方法包括:
501、启动相机,显示拍摄界面。
本申请实施例可以应用在终端的拍照场景中,其中,拍照可以包括拍摄图像以及视频录制。具体的用户可以打开终端上与拍照相关的应用(本申请中也可以称之为相机应用),终端可以显示用于进行拍照的拍摄界面。
本申请实施例中,拍摄界面可以是拍照模式下的预览界面,或者是视频录制模式中在开启视频录制之前的预览界面,或者是视频录制模式中在开启视频录制之后的预览界面。
接下来首先结合终端和用户之间的交互,描述终端启动相机应用以及打开拍摄界
面的过程。
示例的,用户可以通过触摸手机屏幕上特定的控件、按压特定的物理按键或按键组合、输入语音、隔空手势等方式,指示终端开启相机应用。响应于接收到用户开启相机的指示后,终端可以启动相机,显示拍摄界面。
例如:如图5a所示,用户可以通过在手机桌面上点击“相机”应用图标401,指示手机开启相机应用,手机显示如图6所示的拍摄界面。
再例如:在手机处于锁屏状态时,用户也可以通过在手机屏幕上向右滑动的手势,指示手机开启相机应用,手机也可以显示如图6所示的拍摄界面。
或者,手机处于锁屏状态时,用户可以通过在锁屏界面上点击“相机”应用的快捷图标,指示手机开启相机应用,手机也可以显示如图6所示的拍摄界面。
又例如:在手机运行其他应用时,用户也可以通过点击相应的控件使得手机开启相机应用进行拍照。比如:用户正在使用即时通信类应用(例如:微信应用)时,用户也可以通过选择相机功能的控件,指示手机开启相机应用进行拍照和视频录制。
如图6所示,相机的拍摄界面一般包括有取景框402、拍摄控件以及其他功能控件(“大光圈”、“人像”、“拍照”、“录像”等)。其中,取景框可用于显示基于摄像头采集到的视频生成的预览画面,用户可以基于取景框中的预览画面,决定指示终端执行拍摄操作的时机。其中,用户指示终端执行拍摄操作例如可以是用户点击拍摄控件的操作,或者用户按压音量键的操作等。
在一种实现中,用户可以通过针对于“拍照”控件的点击操作,来触发相机进入图像拍摄模式,在相机处于图像拍摄模式下,拍摄界面的取景框可用于显示基于摄像头采集到的视频生成的预览画面,用户可以基于取景框中的预览画面,决定指示终端执行拍摄操作的时机,用户可以点击拍摄按钮来拍摄图像。
在一种实现中,用户可以通过针对于“录像”控件的点击操作,来触发相机进入视频录像模式,在相机处于视频录像模式下,拍摄界面的取景框可用于显示基于摄像头采集到的视频生成的预览画面,用户可以基于取景框中的预览画面,决定指示终端执行视频录制的开启时机,用户可以点击拍摄按钮来开启视频录制,此时取景框内可以显示视频录制过程中的预览画面,之后用户可以点击拍摄按钮来结束视频录制。
本申请实施例中的第三图像和第四图像可以显示在图像拍摄模式下的预览画面中,或者在视频录制模式下在开启视频录制前的预览画面中,或者在视频录制模式下在开启视频录制后的预览画面中。
在一些实施例中,拍摄界面中还可以包括拍摄倍率指示403。用户可以基于调整该拍摄倍率指示403来调整终端的拍摄倍率,其中终端的拍摄倍率可以描述为拍摄界面中取景框内预览画面的倍率。
应理解,用户还可以通过其他交互进行拍摄界面中取景框内预览画面的倍率调节(例如基于终端的音量键),本申请并不限定。
接下来针对于终端的拍摄倍率进行详细的描述:
若终端上集成有多个摄像头,每个摄像头都有各自的固有倍率,所谓摄像头的固有倍率,可以理解为摄像头的焦距相当于基准焦距的缩/放倍数。其中,基准焦距通常为终端上主摄像头的焦距。
在一些实施例中,用户对拍摄界面中取景框内预览画面进行倍率调节,进而,终端可以对摄像头捕获的图像进行数码变焦(digital zoom)(或称为数字变焦),即,通过终端的ISP或其他处理器将摄像头捕获的固有倍率的图像的每个像素面积放大,并相应缩小图像的取景范围,使得处理后的图像呈现等效于摄像头采用其他拍摄倍率拍摄的图像,本申请中的终端的拍摄倍率可以理解为上述处理后的图像所呈现的图像的拍摄倍率。
使用每个摄像头拍摄的图像可以对应一个拍摄倍率范围,接下来分别针对于不同 的摄像头类型进行说明:
在一种实现中,终端可以集成有前置短焦(广角)摄像头、后置短焦(广角)摄像头、后置中焦摄像头和后置长焦摄像头中的一个或多个。
以终端集成有短焦(广角)摄像头(包括前置广角摄像头、后置广角摄像头)、后置中焦摄像头和后置长焦摄像头为例进行说明。其中,在终端和被拍摄物体的相对位置不变的情况下,短焦(广角)摄像头的焦距最小,视场角最大,拍摄的图像中的物体尺寸最小。中焦摄像头的焦距大于短焦(广角)摄像头,视场角比短焦(广角)摄像头小,拍摄的图像中物体尺寸比短焦(广角)摄像头大。长焦摄像头的焦距最大,视场角最小,拍摄的图像中物体的尺寸最大。
其中,视场角用于指示手机在拍摄图像的过程中,摄像头所能拍摄到的最大的角度范围。也就是说,若待拍摄对象处于这个角度范围内,该待拍摄对象便会被手机采集到。若待拍摄对象处于这个角度范围之外,该被拍摄设备便不会被手机采集到。通常,摄像头的视场角越大,则使用该摄像头的拍摄范围就越大。而摄像头的视场角越小,则使用该摄像头的拍摄范围就越小。可以理解的是,“视场角”也可以替换为“视场范围”、“视野范围”、“视野区域”、“成像范围”或“成像视野”等词汇。
通常,用户使用中焦摄像头的场景最多,因此,一般将中焦摄像头设置为主摄像头。主摄像头的焦距设置为基准焦距,主摄像头的固有倍率通常为“1×”。在一些实施例中,可以对主摄像头捕获的图像进行数码变焦(digital zoom)(或称为数字变焦),即,通过手机中的ISP或其他处理器将主摄像头捕获的“1×”的图像的每个像素面积放大,并相应缩小图像的取景范围,使得处理后的图像呈现等效于主摄像头采用其他拍摄倍率(例如“2×”)拍摄的图像。也就是说,使用主摄像头拍摄的图像可以对应一个拍摄倍率范围,例如:“1×”至“5×”。应理解,在终端还集成有后置长焦摄像头的情况下,主摄像头拍摄的图像对应的拍摄倍率范围可以为1~b,其中,拍摄倍率范围中的最大倍率值b可以为后置长焦摄像头的固有倍率,b的取值范围可以为3~15,例如b可以但不限于为3、4、5、6、7、8、9、10、11、12、13、14或者15。
应理解,在终端未集成有后置长焦摄像头的情况下,主摄像头拍摄的图像对应的拍摄倍率范围的最大倍率值b可以为所述终端的变焦极大值,b的取值范围可以为3~15,例如b可以但不限于为3、4、5、6、7、8、9、10、11、12、13、14或者15。
应理解,上述主摄像头拍摄的图像对应的拍摄倍率范围(1~b)中,可以包括两个端点倍率(1和b),也可以不包括两个端点倍率(1和b),或者是包括两个端点倍率中的一个。
示例性的,主摄像头拍摄的图像对应的拍摄倍率范围可以为区间[1,b]。
示例性的,主摄像头拍摄的图像对应的拍摄倍率范围可以为区间(1,b]。
示例性的,主摄像头拍摄的图像对应的拍摄倍率范围可以为区间[1,b)。
示例性的,主摄像头拍摄的图像对应的拍摄倍率范围可以为区间(1,b)。
类似的,长焦摄像头的焦距与主摄像头的焦距的倍数,可作为长焦摄像头的拍摄倍率,或者称之为长焦摄像头的固有倍率。例如,长焦摄像头的焦距可以为主摄像头的焦距的5倍,即长焦摄像头的固有倍率为“5×”。同理,也可以对长焦摄像头捕获的图像进行数码变焦。即,使用长焦摄像头拍摄的图像可以对应一个拍摄倍率范围,例如:“5×”至“50×”。应理解,长焦摄像头拍摄的图像对应的拍摄倍率范围可以为b~c,其中,长焦摄像头拍摄的图像对应的拍摄倍率范围的最大倍率值c的范围可以为3~50。
类似的,短焦(广角)摄像头的焦距与主摄像头的焦距的倍数,可作为短焦(广角)摄像头的拍摄倍率。例如,短焦摄像头的焦距可以为主摄像头的焦距的0.5倍,即长焦摄像头的拍摄倍率为“0.5×”。同理,也可以对短焦(广角)摄像头捕获的图像进行数码变焦。即,使用长焦摄像头拍摄的图像可以对应一个拍摄倍率范围,例如:“0.5×”至“1×”。
其中,广角摄像头拍摄的图像对应的拍摄倍率范围可以为a~1,最小值a可以为广角摄像头的固有倍率,a的取值范围可以为0.5~0.9,例如a可以但不限于为0.5、0.6、0.7、0.8或者0.9。
应理解,广角摄像头可以包括前置广角摄像头以及后置广角摄像头。前置广角摄像头和后置广角摄像头对应的拍摄倍率范围可以相同也可以不同,例如前置广角摄像头对应的拍摄倍率范围可以为a1~1,最小值a1可以为前置广角摄像头的固有倍率,a1的取值范围可以为0.5~0.9,例如a1可以但不限于为0.5、0.6、0.7、0.8或者0.9,例如后置广角摄像头对应的拍摄倍率范围可以为a2~1,最小值a2可以为后置广角摄像头的固有倍率,a2的取值范围可以为0.5~0.9,例如a2可以但不限于为0.5、0.6、0.7、0.8或者0.9。
应理解,上述广角摄像头拍摄的图像对应的拍摄倍率范围(a~1)中,可以包括两个端点倍率(a和1),也可以不包括两个端点倍率(a和1),或者是包括两个端点倍率中的一个。
示例性的,主摄像头拍摄的图像对应的拍摄倍率范围可以为区间[a,1]。
示例性的,主摄像头拍摄的图像对应的拍摄倍率范围可以为区间(a,1]。
示例性的,主摄像头拍摄的图像对应的拍摄倍率范围可以为区间[a,1)。
示例性的,主摄像头拍摄的图像对应的拍摄倍率范围可以为区间(a,1)。
502、检测到用户开启透视畸变矫正功能的第一使能操作,所述第一使能操作包括针对于所述终端的拍摄界面上第一控件的第一操作,所述第一控件用于指示开启或关闭透视畸变矫正,所述第一操作用于指示开启透视畸变矫正。
503、检测到用户开启防抖处理功能的第二使能操作,所述第二使能操作包括针对于所述终端的拍摄界面上第二控件的第二操作,所述第二控件用于指示开启或关闭防抖处理功能,所述第二操作用于指示开启防抖处理功能。
首先描述如何调整终端拍摄时的拍摄倍率。
在一些实施例中,用户可以手动调整终端拍摄时的拍摄倍率。
例如:如图6所示,用户可以通过在拍摄界面中操作拍摄倍率指示403,调整终端的拍摄倍率。比如:当前终端的拍摄倍率为“1×”时,用户可以通过点击一次或多次拍摄倍率指示403,使得终端的拍摄倍率变更为“5×”。
又例如:用户可以通过在拍摄界面中双指(或三指)捏合的手势,减小终端使用的拍摄倍率,或者双指(或三指)向外滑动的手势(与捏合相反的方向)增大终端使用的拍摄倍率。
又例如:用户也可以在拍摄界面中通过拖动变焦标尺来改变终端的拍摄倍率。
又例如:用户也可以在拍摄界面中或拍摄设置界面中,通过切换当前所使用的摄像头来改变终端的拍摄倍率。例如,用户选择切换到长焦摄像头,则终端自动增大拍摄倍率。
又例如:用户也可以在拍摄界面中或拍摄设置界面中,通过选择长焦拍摄场景的控件或者远距离的拍摄场景的控件等,来改变手机的拍摄倍率。
在另一些实施例中,终端也可以自动识别摄像头捕获的图像的具体场景,根据识别的具体场景自动调整拍摄倍率。比如:若终端识别出摄像头捕获的图像为视野范围较大的景物,例如大海、高山、树林等,可以自动减小变焦倍数。又比如:若终端识别出摄像头捕获的图像为远距离的物体时,例如远处的飞鸟、运动场上的运动员等,可以自动增大变焦倍数,本申请对此不做限定。
在一种实现中,可以实时检测到终端的拍摄倍率,并在终端的拍摄倍率大于第二预设阈值时使能防抖处理功能,且从拍摄界面上会显示与使能防抖处理功能相关的第二控件或提示。
在一种实现中,可以实时检测到终端的拍摄倍率,并在终端的拍摄倍率小于第一预设阈值时使能透视畸变矫正,且从拍摄界面上会显示与透视畸变矫正相关的第一控件或提示。
在一种实现中,可以通过在摄像界面显示用于触发开启防抖处理以及透视畸变矫正的控件,通过和用户的交互来开启防抖处理功能以及透视畸变矫正功能,或者在上述模式下,自动触发开启防抖处理功能以及透视畸变矫正功能。
或者通过在相机的拍摄参数调整界面中显示用于触发开启防抖处理以及透视畸变矫正的控件,通过和用户的交互来开启防抖处理功能以及透视畸变矫正功能,或者在上述模式下,自动触发开启防抖处理功能以及透视畸变矫正功能的部分或全部。
接下来详细说明:
一、拍摄界面包括用于指示开启或关闭防抖处理的第二控件以及用于指示开启透
视畸变矫正的第一控件。
以相机处于主摄拍摄模式,相机的拍摄界面为拍照模式下的预览界面为例。参照图7,此时拍摄界面上可以显示用于指示开启防抖处理的第二控件405(图7中示出的为控件VS(video stabilization)),以及用于指示开启透视畸变矫正的第一控件404(图7中示出的为控件DC(distortion correction)),由于此时防抖处理和透视畸变矫正都未开启,第二控件的显示内容可以提示用户此时防抖处理未开启,第一控件的显示内容可以提示用户此时防抖处理未开启透视畸变矫正。参照图8,若用户想开启防抖处理功能,则可以点击第二控件405,响应于用户针对于第二控件的点击操作,可以显示图9所示的界面内容,由于此时防抖处理功能开启,则第二控件405的显示内容可以提示用户此时防抖处理已开启。若用户想开启透视畸变矫正功能,则可以点击第一控件404,响应于用户针对于第二控件的点击操作,此时透视畸变矫正功能开启,且第一控件404的显示内容可以提示用户此时透视畸变矫正已开启。
若用户想关闭防抖处理功能,则可以点击第二控件405,响应于用户针对于第二控件的点击操作,此时防抖处理功能关闭,则第二控件405的显示内容可以提示用户此时防抖处理已关闭。若用户想关闭透视畸变矫正功能,则可以点击第一控件404,此时透视畸变矫正功能关闭,且第一控件404的显示内容可以提示用户此时透视畸变矫正已关闭。
在一种实现中,在相机处于广角拍摄模式时,相机的拍摄界面可以包括用于指示开启防抖处理的第二控件以及用于指示开启透视畸变矫正的第一控件。
参照图10,用户可以通过在拍摄界面中操作拍摄倍率指示403,调整手机使用的拍摄倍率,以调整到相机的广角拍摄模式,进而可以显示如图11所示的拍摄界面。若用户想开启防抖处理功能,则可以点击第二控件405,响应于用户针对于第二控件的点击操作,开启防抖处理功能,则第二控件405的显示内容可以提示用户此时防抖处理已开启。若用户想开启透视畸变矫正功能,则可以点击第一控件404,响应于用户针对于第二控件的点击操作,此时透视畸变矫正功能开启,且第一控件404的显示内容可以提示用户此时透视畸变矫正已开启。
若用户想关闭防抖处理功能,则可以点击第二控件405,响应于用户针对于第二控件的点击操作,此时防抖处理功能关闭,则第二控件405的显示内容可以提示用户此时防抖处理已关闭。若用户想关闭透视畸变矫正功能,则可以点击第一控件404,此时透视畸变矫正功能关闭,且第一控件404的显示内容可以提示用户此时透视畸变矫正已关闭。
应理解,在长焦拍摄模式下,透视畸变不明显,可以不对图像进行透视畸变矫正,因此在长焦拍摄模式下的拍摄界面中可以显示用于指示开启防抖处理的第二控件,而不显示用于指示开启透视畸变矫正的第一控件,或者显示一个指示用户已关闭透视畸变矫正的提示,来表示透视畸变矫正默认关闭,该提示不可以和用户交互来实现透视畸变矫正开启和关闭之间的转换。示例性的,可以参照图12,用户可以通过在拍摄界面中操作拍摄倍率指示403,调整手机使用的拍摄倍率,以调整到相机的长焦拍摄模式,进而可以显示如图13所示的拍摄界面,其中,图13所示的拍摄界面不包括用于指示开启透视畸变矫正的第一控件。
二、在相机的拍摄参数调整界面中显示用于指示开启防抖处理的第二控件以及用
于触发开启透视畸变矫正的第一控件。
在一种实现中,在相机处于广角拍摄模式、超广角拍摄模式以及中焦拍摄模式下,可以在相机的拍摄参数调整界面中显示用于指示开启防抖处理的第二控件以及用于触发开启透视畸变矫正的第一控件。
本申请实施例中,参照图14,图14所示的相机的拍摄界面可以包括第一控件,所述第一控件用于指示打开拍摄参数调整界面,用户可以点击该第一控件,终端设备可以接收用户针对所述第一控件的第三操作,进而响应于所述第三操作,可以打开如图15所示的拍摄参数调整界面,如图15所示,该拍摄参数调整界面包括用于指示开启防抖处理的第二控件以及用于指示开启透视畸变矫正的第一控件,由于此时防抖处理和透视畸变矫正都未开启,第二控件的显示内容可以提示用户此时防抖处理未开启,第一控件的显示内容可以提示用户此时防抖处理未开启透视畸变矫正。参照图15,若用户想开启防抖处理功能,则可以点击第二控件,响应于用户针对于第二控件的点击操作,可以显示图16所示的界面内容,由于此时防抖处理功能开启,则第二控件的显示内容可以提示用户此时防抖处理已开启。若用户想开启透视畸变矫正功能,则可以点击第一控件,响应于用户针对于第二控件的点击操作,此时透视畸变矫正功能开启,且第一控件的显示内容可以提示用户此时透视畸变矫正已开启。
若用户想关闭防抖处理功能,则可以点击第二控件,响应于用户针对于第二控件的点击操作,此时防抖处理功能关闭,则第二控件的显示内容可以提示用户此时防抖处理已关闭。若用户想关闭透视畸变矫正功能,则可以点击第一控件,此时透视畸变矫正功能关闭,且第一控件的显示内容可以提示用户此时透视畸变矫正已关闭。
应理解,在用户返回拍摄界面后,拍摄界面上也可以显示用于指示当前是否开启防抖处理以及透视畸变矫正的提示。
在一种实现中,在长焦拍摄模式下,透视畸变不明显,可以不对图像进行透视畸变矫正,因此在长焦拍摄模式下,在相机的拍摄参数调整界面中可以显示用于指示开启防抖处理的第二控件,而不显示用于指示开启透视畸变矫正的第一控件,或者显示一个指示用户已关闭透视畸变矫正的提示,来表示透视畸变矫正默认关闭,该提示不可以和用户交互来实现透视畸变矫正开启和关闭之间的转换。示例性的,可以参照图17,图17所示的拍摄参数调整界面中不包括用于指示开启透视畸变矫正的第一控件,而包括一个指示用户已关闭透视畸变矫正的提示,来表示透视畸变矫正默认关闭。
三、显示用于指示开启防抖处理的第二控件,默认开启透视畸变矫正。
在一种实现中,在相机处于广角拍摄模式、超广角拍摄模式以及中焦拍摄模式时,拍摄界面可以显示用于指示开启防抖处理的第二控件,而不显示用于指示开启透视畸变矫正的第一控件,或者显示一个指示用户已开启透视畸变矫正的提示,来表示透视畸变矫正默认开启,该提示不可以和用户交互来实现透视畸变矫正开启和关闭之间的转换。
在一种实现中,在相机处于广角拍摄模式时,相机的拍摄界面可以包括用于指示开启防抖处理的第二控件,而透视畸变矫正则是默认开启。
在一种实现中,在相机处于超广角拍摄模式时,相机的拍摄界面可以包括用于指示开启防抖处理的第二控件,而透视畸变矫正则是默认开启。
在一种实现中,在相机处于中焦拍摄模式时,相机的拍摄界面可以包括用于指示开启防抖处理的第二控件,而透视畸变矫正则是默认开启。
参照图18,可以在相机的拍摄界面中显示用于指示开启防抖处理的第二控件405,而不显示用于指示开启透视畸变矫正的第一控件,或者参照图19,显示一个指示用户已开启透视畸变矫正的提示404,来表示透视畸变矫正默认开启,该提示404不可以和用户交互来实现透视畸变矫正开启和关闭之间的转换。由于此时防抖处理未开启,第二控件的显示内容可以提示用户此时防抖处理未开启,若用户想开启防抖处理功能,则可以点击第二控件,响应于用户针对于第二控件的点击操作,防抖处理功能开启,则第二控件的显示内容可以提示用户此时防抖处理已开启。
四、在相机的拍摄参数调整界面中显示用于指示开启防抖处理的第二控件,默认
开启透视畸变矫正。
在一种实现中,在相机处于广角拍摄模式、超广角拍摄模式以及中焦拍摄模式下,可以在相机的拍摄参数调整界面中显示用于指示开启防抖处理的第二控件,而不显示用于指示开启透视畸变矫正的第一控件,或者显示一个指示用户已开启透视畸变矫正的提示,来表示透视畸变矫正默认开启,该提示不可以和用户交互来实现透视畸变矫正开启和关闭之间的转换。
在一种实现中,可以获取所述摄像头采集的第三图像,所述第三图像为在采集所述第一图像之前采集到的图像帧,对所述第三图像进行透视畸变矫正,以得到第四图像,在所述相机的拍摄界面中显示所述第四图像。本实施例中,若相机未开启防抖处理,而默认开启透视畸变矫正,此时拍摄界面显示的图像为进行了透视畸变矫正而未进行防抖处理的图像(第四图像)。
五、显示用于指示开启透视畸变矫正的第一控件,默认开启防抖处理。
在一种实现中,在相机处于广角拍摄模式、超广角拍摄模式以及中焦拍摄模式时,拍摄界面可以显示用于指示开启透视畸变矫正的第一控件,而不显示用于指示开启防抖处理的第二控件,或者显示一个指示用户已开启防抖处理的提示,来表示防抖处理默认开启,该提示不可以和用户交互来实现防抖处理开启和关闭之间的转换。
在一种实现中,在相机处于广角拍摄模式时,相机的拍摄界面可以包括用于指示开启透视畸变矫正的第一控件,而防抖处理则是默认开启。
在一种实现中,在相机处于超广角拍摄模式时,相机的拍摄界面可以包括用于指示开启透视畸变矫正的第一控件,而防抖处理则是默认开启。
在一种实现中,在相机处于中焦拍摄模式时,相机的拍摄界面可以包括用于指示开启透视畸变矫正的第一控件,而防抖处理则是默认开启。
参照图20,可以在相机的拍摄界面中显示用于指示开启透视畸变矫正的第一控件404,而不显示用于指示开启防抖处理的第二控件,或者参照图21,显示一个指示用户已开启防抖处理的提示405,来表示防抖处理默认开启,该提示405不可以和用户交互来实现防抖处理开启和关闭之间的转换。由于此时透视畸变矫正未开启,第一控件的显示内容可以提示用户此时透视畸变矫正未开启,若用户想开启透视畸变矫正功能,则可以点击第一控件,响应于用户针对于第一控件的点击操作,透视畸变矫正功能开启,则第一控件的显示内容可以提示用户此时透视畸变矫正已开启。
六、在相机的拍摄参数调整界面中显示用于触发开启透视畸变矫正的第一控件,
默认开启防抖处理。
在一种实现中,在相机处于广角拍摄模式、超广角拍摄模式以及中焦拍摄模式下,可以在相机的拍摄参数调整界面中显示用于指示开启透视畸变矫正的第一控件,而不显示用于指示开启防抖处理的第二控件,或者显示一个指示用户已开启防抖处理的提示,来表示防抖处理默认开启,该提示不可以和用户交互来实现防抖处理开启和关闭之间的转换。
在一种实现中,可以获取所述摄像头采集的第四图像,所述第四图像为在采集所述第一图像之前采集到的图像帧,对所述第四图像进行防抖处理,以获取第二防抖输出,在所述相机的拍摄界面中显示所述第二防抖输出指示图像。本实施例中,若相机未开启透视畸变矫正,而默认开启防抖处理,此时拍摄界面显示的图像为进行了防抖处理而未进行透视畸变矫正的图像(第二防抖输出指示图像)。
七、默认开启透视畸变矫正以及防抖处理。
在一种实现中,在相机处于广角拍摄模式、超广角拍摄模式以及中焦拍摄模式时,拍摄界面可以不显示用于指示开启透视畸变矫正的第一控件,且不显示用于指示开启防抖处理的第二控件,而是默认开启透视畸变矫正以及防抖处理功能;或者显示一个指示用户已开启防抖处理的提示,来表示防抖处理默认开启,该提示不可以和用户交互来实现防抖处理开启和关闭之间的转换,以及显示一个指示用户已开启透视畸变矫正的提示,来表示透视畸变矫正默认开启,该提示不可以和用户交互来实现透视畸变矫正开启和关闭之间的转换。
以上以拍摄界面为相机在开启拍照前的拍摄界面为例进行的说明,在一种可能的实现中,所述拍摄界面还可以为开启录像功能前的拍摄界面、或开启录像功能后的拍摄界面。
在另一实施例中,手机还可以隐藏拍摄界面上的一些控件,以尽量避免图像被控
件遮挡,提高用户视觉体验。
示例性的,当用户长时间不操作拍摄界面时,可以停止显示上述实施例中的“第二控件”以及“第一控件”;在检测到用户点击触摸屏的操作后,可以恢复显示隐藏的“第二控件”以及“第一控件”。
关于如何对采集的第一图像进行防抖处理,得到第一裁剪区域,对所述第一裁剪区域进行透视畸变矫正处理,得到第三裁剪区域,可以参照上述实施例中步骤301以及步骤302的描述,这里不再赘述。
504、对采集的第一图像进行防抖处理,得到第一裁剪区域;对所述第一裁剪区域进行透视畸变矫正处理,得到第三裁剪区域根据所述第一图像和所述第三裁剪区域得到第三图像,对采集的第二图像进行防抖处理,得到第二裁剪区域;且所述第二裁剪区域与所述第一裁剪区域和抖动信息有关;所述抖动信息用于表示所述终端采集所述第一图像和所述第二图像的过程中所发生的抖动,对所述第二裁剪区域进行透视畸变矫正处理,得到第四裁剪区域,根据所述第二图像和所述第四裁剪区域得到第四图像。
关于步骤504的描述可以参照步骤301至步骤305的描述,这里不再赘述。
505、根据所述第三图像和所述第四图像,生成目标视频,并显示所述目标视频。
在一种实现中,可以根据所述第三图像和所述第四图像,生成目标视频,并显示所述目标视频。具体的,针对于终端设备实时采集的视频流中的任意两帧图像,可以基于上述步骤301至步骤306得到经过防抖处理以及透视畸变矫正后的输出图像,进而可以得到经过防抖处理以及透视畸变矫正后的视频(也就是上述目标视频),例如第一图像可以为视频流中的第n帧,第二图像可以为第n+1帧,则第n-2帧和第n-1帧也可以分别作为第一图像和第二图像进行上述步骤301至步骤306的处理,第n-1帧和第n帧也可以分别作为第一图像和第二图像进行上述步骤301至步骤306的处理,第n+1帧和第n+2帧也可以分别作为第一图像和第二图像进行上述步骤301至步骤306的处理。
在一种实现中,在得到目标视频后,可以在相机的拍摄界面的取景框中显示目标视频。
应理解,上述拍摄界面可以是拍照模式下的预览界面,则目标视频为拍照模式下的预览画面,用户可以点击拍摄界面的拍摄控件或者通过其他触发方式触发相机拍照,进而可以获取到拍摄图像。
应理解,上述拍摄界面可以是视频录制模式中在开启视频录制之前的预览界面,进而目标视频是视频录制模式中在开启视频录制之前的预览画面,用户可以点击拍摄界面的拍摄控件或者通过其他触发方式触发相机开始录像。
应理解,上述拍摄界面可以是视频录制模式中在开启视频录制之后的预览界面,进而目标视频是视频录制模式中在开启视频录制之后的预览画面,用户可以点击拍摄界面的拍摄控件或者通过其他触发方式触发相机结束录像,并保存录像过程中拍摄的视频。
示例2:视频后期处理
以上以即时拍照场景为例描述了本申请实施例中的图像处理方法,在另一种实现中,可以对终端设备或云侧服务器中的图库中的视频进行上述防抖处理以及透视畸变矫正处理。
参照图24a,图24a为本申请实施例提供的一种图像处理方法的流程示意,如图24a所示,包括:
2401、获取相册中保存的视频,所述视频包括第一图像和第二图像。
用户可以通过在手机桌面(例如可以如图24b所示)上点击“图库”应用图标,指示手机开启图库应用,手机可以显示如图25所示的应用界面。用户可以长按选择的视频,终端设备可以响应于用户的长按操作,获取到相册中保存的且用户选择的视频,并显示如图26所示的界面,该界面可以包括选择控件(包括“选择”控件、“删除”控件、“分享至”控件、以及“更多”控件)。
2402、使能防抖功能以及透视畸变校正功能。
用户可以点击“更多”控件,响应于用户的点击操作,显示如图27所示的界面,该界面可以包括选择控件(包括“防抖处理”控件、“视频畸变矫正”控件),用户可以点击“防抖处理”控件以及“视频畸变矫正”控件,并如图28所示点击“完成”控件。
2403、对第一图像进行防抖处理,得到第一裁剪区域;
2404、对所述第一裁剪区域进行透视畸变矫正处理,得到第三裁剪区域;
2405、根据所述第一图像和所述第三裁剪区域得到第三图像;
2406、对第二图像进行防抖处理,得到第二裁剪区域;且所述第二裁剪区域与所述第一裁剪区域和抖动信息有关;所述抖动信息用于表示所述终端采集所述第一图像和所述第二图像的过程中所发生的抖动;
应理解,这里的抖动信息可以为终端在采集视频时实时获取并保存的。
2407、对所述第二裁剪区域进行透视畸变矫正处理,得到第四裁剪区域;
2408、根据所述第二图像和所述第四裁剪区域得到第四图像;
2409、根据所述第三图像和所述第四图像,生成目标视频。
终端设备可以对选择的视频进行防抖处理以及透视畸变矫正处理,步骤2403至步骤2408的具体描述可以参照图3对应的实施例中的描述,这里不再赘述。终端设备在完成防抖处理以及透视畸变矫正处理之后,可以显示如图29所示的界面以提示用户完成了防抖处理以及透视畸变矫正处理。
示例3,目标跟踪
参照图30,图30为本申请实施例提供的一种图像处理方法的流程示意,如图30所示,本申请实施例提供的一种图像处理方法包括:
3001、确定采集的第一图像中的目标对象,以获取包括所述目标对象的第一裁剪区域;
在一些场景中,相机可以开启对象追踪功能,该功能可以保证终端设备在姿态保持不动的情况下,输出包括正在移动的目标对象的图像,以跟踪对象为人物对象为例,具体的,相机在处于广角拍摄模式或超广角拍摄模式时,获取到的原始图像的覆盖范围很大,且原始图像包括目标人物对象,可以识别出人物对象所在的区域,并对原始图像进行裁剪、放大,以得到包括人物对象的裁剪区域,该裁剪区域是原始图像的一部分,当人物对象移动且未超出摄像头的拍摄范围时,可以对人物对象进行跟踪,实时获取到人物对象所在的区域,并对原始图像进行裁剪、放大,以得到包括人物对象的裁剪区域,通过这种方式,使得终端设备在姿态保持不动的情况下,也可以输出包括正在移动的人物对象的图像。
具体可以参照图31,相机的拍摄界面可以包括“更多”控件,用户可以点击上述“更多”控件,响应于用户的点击操作,可以显示图32所示的应用界面,其中,该界面可以包括指示用户开启目标跟踪的控件,用户可以点击该控件来开启相机的目标跟踪功能。
和上述防抖处理类似,在现有的实现中,为了对图像在进行透视畸变矫正的同时又进行防抖处理,需要在原始图像上确认包括人物对象的裁剪区域,并对原始图像的全部区域进行透视畸变矫正,则包括人物对象的裁剪区域相当于进行了透视畸变矫正,并输出进行了透视畸变矫正裁剪区域。然而,上述方式对存在如下问题:由于目标对象的移动,使得包括人物对象的裁剪区域在前后帧图像中的位置是不同的,进而会使得输出的两帧图像中位置点或像素点进行的透视畸变矫正的位移不同,由于相邻两帧防抖输出的是包括相同或基本相同内容的图像,而图像之间相同对象的形变程度不同,也就是失去了帧间一致性,进而会出现果冻Jello现象,降低了视频输出的质量。
3002、对所述第一裁剪区域进行透视畸变矫正处理,得到第三裁剪区域;
本实施例中,和现有实现中对原始图像的全部区域进行透视畸变矫正不同的是,本申请实施例中,对裁剪区域进行透视畸变矫正,由于目标对象的移动,使得包括目标对象的子图像在前后帧图像中的位置是不同的,进而会使得输出的两帧图像中位置点或像素点进行的透视畸变矫正的位移不同,然而两帧之间进行目标识别后确定的裁剪区域的大小是一致的,因此如果是对裁剪区域进行透视畸变矫正,则对相邻帧进行的透视畸变矫正的程度是一致的(因为两帧的裁剪区域中各个位置点或像素点相对于子图像的中心点的距离是一致的)。且由于相邻两帧裁剪区域是包括相同或基本相同内容的图像,而裁剪区域之间相同对象的形变程度相同,也就是保持了帧间一致性,进而不会出现明显的果冻Jello现象,提高了视频输出的质量。
本申请实施例中,前后帧的裁剪区域可以包括相同的目标对象(例如人物对象),由于透视畸变矫正的对象为裁剪区域,则针对于目标对象,前后帧的透视畸变矫正输出中发生形变的目标对象之间的形状差异很小,具体的,可以是在预设范围内,其中,预设范围可以理解为从人的肉眼上很难辨别出形状差异,或者前后帧之间从人的肉眼上很难辨别出Jello现象。
在一种可能的实现中,所述相机的拍摄界面包括第二控件,所述第二控件用于指示开启透视畸变矫正;接收用户针对所述第二控件的第二操作;响应于所述第二操作,对所述子图像进行透视畸变矫正。
更多关于步骤3002的具体描述可以参照上述实施例中步骤302的描述,相似之处不再赘述。
3003、根据所述第一图像和所述第三裁剪区域得到第三图像。
关于步骤3003的具体描述可以参照上述实施例中步骤303的描述,这里不再赘述。
3004、确定采集的第二图像中的所述目标对象,以获取包括所述目标对象的第二裁剪区域;其中,所述第二裁剪区域与目标移动信息有关,所述目标移动信息用于表示所述目标对象在所述终端采集所述第一图像和所述第二图像的过程中所发生的移动;
关于步骤3004的具体描述可以参照上述实施例中步骤301的描述,相似之处这里不再赘述。
3005、对所述第二裁剪区域进行透视畸变矫正处理,得到第三裁剪区域;
关于步骤3005的具体描述可以参照上述实施例中步骤305的描述,相似之处这里不再赘述。
3006、根据所述第二图像和所述第三裁剪区域得到第四图像;
3007、根据所述第三图像和所述第四图像,生成目标视频。
关于步骤3006的具体描述可以参照上述实施例中步骤306的描述,相似之处这里不再赘述。
在一种可选的实现中,所述第二图像中所述目标对象的位置与所述第一图像中所述目标对象的位置不同。
在一种可能的实现中,所述对所述第一裁剪区域进行透视畸变矫正处理之前,所述方法还包括:
检测到所述终端满足畸变矫正条件,使能畸变校正功能。
在一种可能的实现中,检测到所述终端满足畸变矫正条件包括但不限于如下情形的一种或多种:情形1:检测到所述终端的拍摄倍率小于第一预设阈值。
在一种实现中,可以基于终端的拍摄倍率来判断是否使能透视畸变矫正,在终端的拍摄倍率较大的情况下(例如在长焦拍摄模式的全部或部分倍率范围内,或者中焦拍摄模式的全部或部分倍率范围内),终端采集的图像中画面的透视畸变程度较低,所谓透视畸变程度较低,可以理解为人眼几乎辨别不出来终端采集的图像中画面存在透视畸变的情况,因此在终端的拍摄倍率较大的情况下,不需要使能透视畸变矫正。
在一种可能的实现中,当所述拍摄倍率为a~1时,所述终端采用前置广角摄像头或后置广角摄像头实时采集视频流,所述第一预设阈值大于1,其中,所述a为所述前置广角摄像头或后置广角摄像头的固有倍率,所述a的取值范围为0.5~0.9;或者,
当所述拍摄倍率为1~b时,所述终端采用后置主摄像头实时采集视频流,所述b为所述终端所包括的后置长焦摄像头的固有倍率或者为所述终端的变焦极大值,所述第一预设阈值为1~15,所述b的取值范围为3~15。
情形2:检测到用户开启透视畸变矫正功能的第一使能操作。
在一种可能的实现中,所述第一使能操作包括针对于所述终端的拍摄界面上第一控件的第一操作,所述第一控件用于指示开启或关闭透视畸变矫正,所述第一操作用于指示开启透视畸变矫正。
在一种实现中,拍摄界面上可以包括用于指示开启或关闭透视畸变矫正的控件(本申请实施例中称之为第一控件)。用户可以针对于第一控件的第一操作来触发开启透视畸变矫正,即,通过针对于第一控件的第一操作来使能透视畸变矫正;进而终端可以检测到用户开启透视畸变矫正的第一使能操作,所述第一使能操作包括针对于所述终端的拍摄界面上第一控件的第一操作。
在一种实现中,只有在检测到所述终端的拍摄倍率小于第一预设阈值时,才在拍摄界面上显示用于指示开启或关闭透视畸变矫正的控件(本申请实施例中称之为第一控件)。
情形3:识别出拍摄场景中存在人脸;或,
识别出拍摄场景中存在人脸、且所述人脸与所述终端之间的距离小于预设值;或,
识别出拍摄场景中存在人脸、且所述人脸在所述拍摄场景对应的图像中所占的像素比例大于预设比例。
理解,当拍摄场景中存在人脸时,由于透视畸变矫正对人脸的形变程度在视觉上会显得更加明显,且人脸与所述终端之间的距离越小或者人脸在所述拍摄场景对应的图像中所占的像素比例越大时,相当于图像中人脸的面积越大,则透视畸变矫正对人脸的形变程度在视觉上会显得更明显。因此,在上述场景中,需要使能透视畸变矫正。本实施例中,通过上述与拍摄场景中人脸相关条件的判定,来确定是否使能透视畸变矫正,可以精准的判断出会出现透视畸变的拍摄场景,并对会出现透视畸变的拍摄场景进行透视畸变矫正的处理,而在不出现透视畸变的拍摄场景中不进行透视畸变矫正的处理,实现了图像信号的精准处理,节约了功耗。
本申请实施例提供了一种图像处理方法,包括:确定采集的第一图像中的目标对象,以获取包括所述目标对象的第一裁剪区域;对所述第一裁剪区域进行透视畸变矫正处理,得到第三裁剪区域;根据所述第一图像和所述第三裁剪区域得到第三图像;确定采集的第二图像中的所述目标对象,以获取包括所述目标对象的第二裁剪区域;其中,所述第二裁剪区域与目标移动信息有关,所述目标移动信息用于表示所述目标对象在所述终端采集所述第一图像和所述第二图像的过程中所发生的移动;对所述第二裁剪区域进行透视畸变矫正处理,得到第三裁剪区域;根据所述第二图像和所述第三裁剪区域得到第四图像,所述第三图像和所述第四图像用于生成视频;其中,所述第一图像和所述第二图像为所述终端采集的一对时域先后相邻的原始图像。和现有实现中对原始图像的全部区域进行透视畸变矫正不同的是,本申请实施例中,对裁剪区域进行透视畸变矫正,由于目标对象的移动,使得包括人物对象的裁剪区域在前后帧图像中的位置是不同的,进而会使得输出的两帧图像中位置点或像素点进行的透视畸变矫正的位移不同,然而两帧之间进行目标识别后确定的裁剪区域的大小是一致的,因此如果是对裁剪区域进行透视畸变矫正,则对相邻帧进行的透视畸变矫正的程度是一致的(因为两帧的裁剪区域中各个位置点或像素点相对于裁剪区域的中心点的距离是一致的)。且由于相邻两帧裁剪区域是包括相同或基本相同内容的图像,而图像之间相同对象的形变程度相同,也就是保持了帧间一致性,进而不会出现明显的果冻Jello现象,提高了视频输出的质量。
本申请还提供了一种图像显示装置,图像显示装置可以是终端设备,参照图33,图33为本申请实施例提供的一种图像处理装置的结构示意,如图33中示出的那样,所述图像处理装置3300包括:
防抖处理模块3301,用于对采集的第一图像进行防抖处理,得到第一裁剪区域;还用于对采集的第二图像进行防抖处理,得到第二裁剪区域;且所述第二裁剪区域与所述第一裁剪区域和抖动信息有关;所述抖动信息用于表示所述终端采集所述第一图像和所述第二图像的过程中所发生的抖动;其中,所述第一图像和所述第二图像为所述终端采集的一对时域先后相邻的原始图像;
关于防抖处理模块3301的具体描述可以参照步骤301以及步骤304的描述,这里不再赘述。
透视畸变矫正模块3302,用于对所述第一裁剪区域进行透视畸变矫正处理,得到第三裁剪区域;还用于对所述第二裁剪区域进行透视畸变矫正处理,得到第四裁剪区域;
关于透视畸变矫正模块3302的具体描述可以参照步骤302以及步骤305的描述,这里不再赘述。
图像生成模块3303,用于根据所述第一图像和所述第三裁剪区域得到第三图像;还用于根据所述第二图像和所述第四裁剪区域得到第四图像;根据所述第三图像和所述第四图像,生成目标视频。
关于图像生成模块3303的具体描述可以参照步骤303、步骤306以及步骤307的描述,这里不再赘述。
在一种可能的实现中,所述第二裁剪区域在所述第二图像上的位置相对于所述第一裁剪区域在所述第一图像上的位置的偏移方向与所述终端采集所述第一图像和所述第二图像的过程中所发生的抖动在像平面的抖动方向相反。
在一种可能的实现中,所述第一裁剪区域用于指示所述第一图像中的第一子区域;所述第二裁剪区域用于指示所述第二图像中的第二子区域;
所述第一子区域在所述第一图像中对应的第一图像内容与所述第二子区域在所述第二图像中对应的第二图像内容的相似度大于所述第一图像与所述第二图像的相似度。
在一种可能的实现中,所述装置还包括:
第一检测模块3304,用于在所述防抖处理模块对采集的第一图像进行防抖处理之前,检测到所述终端满足畸变矫正条件,使能畸变校正功能。
在一种可能的实现中,所述检测到所述终端满足畸变矫正条件包括:
检测到所述终端的拍摄倍率小于第一预设阈值。
在一种可能的实现中,当所述拍摄倍率为a~1时,所述终端采用前置广角摄像头或后置广角摄像头实时采集视频流,所述第一预设阈值大于1,其中,所述a为所述前置广角摄像头或后置广角摄像头的固有倍率,所述a的取值范围为0.5~0.9;或者,
当所述拍摄倍率为1~b时,所述终端采用后置主摄像头实时采集视频流,所述b为所述终端所包括的后置长焦摄像头的固有倍率或者为所述终端的变焦极大值,所述第一预设阈值为1~15,所述b的取值范围为3~15。
在一种可能的实现中,所述检测到所述终端满足畸变矫正条件包括:
检测到用户开启透视畸变矫正功能的第一使能操作,所述第一使能操作包括针对于所述终端的拍摄界面上第一控件的第一操作,所述第一控件用于指示开启或关闭透视畸变矫正,所述第一操作用于指示开启透视畸变矫正。
在一种可能的实现中,所述检测到所述终端满足畸变矫正条件包括:
识别出拍摄场景中存在人脸;或,
识别出拍摄场景中存在人脸、且所述人脸与所述终端之间的距离小于预设值;或,
识别出拍摄场景中存在人脸、且所述人脸在所述拍摄场景对应的图像中所占的像素比例大于预设比例。
在一种可能的实现中,所述装置还包括:
第二检测模块3305,用于在所述防抖处理模块在对采集的第一图像进行防抖处理之前,检测到所述终端满足防抖条件,使能防抖处理功能。
在一种可能的实现中,所述检测到所述终端满足防抖条件包括:
检测到所述终端的拍摄倍率大于所述终端中倍率最小的摄像头的固有倍率。
在一种可能的实现中,所述检测到所述终端满足防抖条件包括:
检测到用户开启防抖处理功能的第二使能操作,所述第二使能操作包括针对于所述终端的拍摄界面上第二控件的第二操作,所述第二控件用于指示开启或关闭防抖处理功能,所述第二操作用于指示开启防抖处理功能。
在一种可能的实现中,所述图像生成模块,具体用于获取第一映射关系和第二映射关系,所述第一映射关系用于表示所述第二裁剪区域的各个位置点与所述第二图像中对应位置点的映射关系,所述第二映射关系用于表示所述第四裁剪区域的各个位置点与所述第二裁剪区域中对应位置点的映射关系;
根据所述第二图像、所述第一映射关系和所述第二映射关系,得到所述第四图像。
在一种可能的实现中,所述图像生成模块,具体用于将所述第一映射关系和所述第二映射关系进行耦合,以确定目标映射关系,所述目标映射关系包括所述第四裁剪区域的各个位置点与所述第二图像中对应位置点的映射关系;
根据所述第二图像和所述目标映射关系,确定所述第四图像。
在一种可能的实现中,所述第一映射关系与所述第二映射关系不同。
在一种可能的实现中,所述透视畸变矫正模块,具体用于对所述第一裁剪区域进行光学畸变矫正处理,以得到矫正后的第一裁剪区域;对所述矫正后的第一裁剪区域进行透视畸变矫正处理;或者,
所述图像生成模块,具体用于对所述第三裁剪区域进行光学畸变矫正处理,以得到矫正后的第三裁剪区域;根据所述第一图像和所述矫正后的第三裁剪区域得到第三图像;或者,
所述透视畸变矫正模块,具体用于对所述第二裁剪区域进行光学畸变矫正处理,以得到矫正后的第二裁剪区域;对所述矫正后的第二裁剪区域进行透视畸变矫正处理;或者,
所述图像生成模块,具体用于对所述第四裁剪区域进行光学畸变矫正处理,以得到矫正后的第四裁剪区域;根据所述第二图像和所述矫正后的第四裁剪区域得到第四图像。
本申请实施例提供的一种图像处理装置,所述装置应用于终端实时采集视频流;所述装置包括:防抖处理模块,用于对采集的第一图像进行防抖处理,得到第一裁剪区域;还用于对采集的第二图像进行防抖处理,得到第二裁剪区域;且所述第二裁剪区域与所述第一裁剪区域和抖动信息有关;所述抖动信息用于表示所述终端采集所述第一图像和所述第二图像的过程中所发生的抖动;其中,所述第一图像和所述第二图像为所述终端采集的一对时域先后相邻的原始图像;透视畸变矫正模块,用于对所述第一裁剪区域进行透视畸变矫正处理,得到第三裁剪区域;还用于对所述第二裁剪区域进行透视畸变矫正处理,得到第四裁剪区域;图像生成模块,用于根据所述第一图像和所述第三裁剪区域得到第三图像;还用于根据所述第二图像和所述第四裁剪区域得到第四图像;根据所述第三图像和所述第四图像,生成目标视频。且由于相邻两帧防抖输出的是包括相同或基本相同内容的图像,而图像之间相同对象的形变程度相同,也就是保持了帧间一致性,进而不会出现明显的果冻Jello现象,提高了视频显示的质量。
本申请还提供了一种图像处理装置,图像显示装置可以是终端设备,参照图34,图34为本申请实施例提供的一种图像处理装置的结构示意,如图34中示出的那样,所述图像处理装置3400包括:
对象确定模块3401,用于确定采集的第一图像中的目标对象,以获取包括所述目标对象的第一裁剪区域;还用于确定采集的第二图像中的所述目标对象,以获取包括所述目标对象的第二裁剪区域;其中,所述第二裁剪区域与目标移动信息有关,所述目标移动信息用于表示所述目标对象在所述终端采集所述第一图像和所述第二图像的过程中所发生的移动;其中,所述第一图像和所述第二图像为所述终端采集的一对时域先后相邻的原始图像;
关于对象确定模块3401的具体描述可以参照步骤3001以及步骤3004的描述,这里不再赘述。
透视畸变矫正模块3402,用于对所述第一裁剪区域进行透视畸变矫正处理,得到第三裁剪区域;还用于对所述第二裁剪区域进行透视畸变矫正处理,得到第三裁剪区域;
关于透视畸变矫正模块3402的具体描述可以参照步骤3002以及步骤3005的描述,这里不再赘述。
图像生成模块3403,用于根据所述第一图像和所述第三裁剪区域得到第三图像;还用于根据所述第二图像和所述第三裁剪区域得到第四图像;根据所述第三图像和所述第四图像,生成目标视频。
关于图像生成模块3403的具体描述可以参照步骤3003、步骤3006以及步骤3007的描述,这里不再赘述。
在一种可选的实现中,所述第二图像中所述目标对象的位置与所述第一图像中所述目标对象的位置不同。
在一种可选的实现中,所述装置还包括:
第一检测模块3404,用于在所述透视畸变矫正模块对所述第一裁剪区域进行透视畸变矫正处理之前,检测到所述终端满足畸变矫正条件,使能畸变校正功能。
在一种可能的实现中,所述检测到所述终端满足畸变矫正条件包括:
检测到所述终端的拍摄倍率小于第一预设阈值。
在一种可能的实现中,当所述拍摄倍率为a~1时,所述终端采用前置广角摄像头或后置广角摄像头实时采集视频流,所述第一预设阈值大于1,其中,所述a为所述前置广角摄像头或后置广角摄像头的固有倍率,所述a的取值范围为0.5~0.9;或者,
当所述拍摄倍率为1~b时,所述终端采用后置主摄像头实时采集视频流,所述b为所述终端所包括的后置长焦摄像头的固有倍率或者为所述终端的变焦极大值,所述第一预设阈值为1~15,所述b的取值范围为3~15。
在一种可能的实现中,所述检测到所述终端满足畸变矫正条件包括:
检测到用户开启透视畸变矫正功能的第一使能操作,所述第一使能操作包括针对于所述终端的拍摄界面上第一控件的第一操作,所述第一控件用于指示开启或关闭透视畸变矫正,所述第一操作用于指示开启透视畸变矫正。
在一种可能的实现中,所述检测到所述终端满足畸变矫正条件包括:
识别出拍摄场景中存在人脸;或,
识别出拍摄场景中存在人脸、且所述人脸与所述终端之间的距离小于预设值;或,
识别出拍摄场景中存在人脸、且所述人脸在所述拍摄场景对应的图像中所占的像素比例大于预设比例。
本申请实施例提供了一种图像处理装置,所述装置应用于终端实时采集视频流;所述装置包括:对象确定模块,用于确定采集的第一图像中的目标对象,以获取包括所述目标对象的第一裁剪区域;还用于确定采集的第二图像中的所述目标对象,以获取包括所述目标对象的第二裁剪区域;其中,所述第二裁剪区域与目标移动信息有关,所述目标移动信息用于表示所述目标对象在所述终端采集所述第一图像和所述第二图像的过程中所发生的移动;其中,所述第一图像和所述第二图像为所述终端采集的一对时域先后相邻的原始图像;透视畸变矫正模块,用于对所述第一裁剪区域进行透视畸变矫正处理,得到第三裁剪区域;还用于对所述第二裁剪区域进行透视畸变矫正处理,得到第三裁剪区域;图像生成模块,用于根据所述第一图像和所述第三裁剪区域得到第三图像;还用于根据所述第二图像和所述第三裁剪区域得到第四图像;根据所述第三图像和所述第四图像,生成目标视频。
和现有实现中对原始图像的全部区域进行透视畸变矫正不同的是,本申请实施例中,对裁剪区域进行透视畸变矫正,由于目标对象的移动,使得包括人物对象的裁剪区域在前后帧图像中的位置是不同的,进而会使得输出的两帧图像中位置点或像素点进行的透视畸变矫正的位移不同,然而两帧之间进行目标识别后确定的裁剪区域的大小是一致的,因此如果是对裁剪区域进行透视畸变矫正,则对相邻帧进行的透视畸变矫正的程度是一致的(因为两帧的裁剪区域中各个位置点或像素点相对于裁剪区域的中心点的距离是一致的)。且由于相邻两帧裁剪区域是包括相同或基本相同内容的图像,而图像之间相同对象的形变程度相同,也就是保持了帧间一致性,进而不会出现明显的果冻Jello现象,提高了视频输出的质量。
接下来介绍本申请实施例提供的一种终端设备,终端设备可以为图33以及图34中的图像处理装置,请参阅图35,图35为本申请实施例提供的终端设备的一种结构示意图,终端设备3500具体可以表现为虚拟现实VR设备、手机、平板、笔记本电脑、智能穿戴设备等,此处不做限定。具体的,终端设备3500包括:接收器3501、发射器3502、处理器3503和存储器3504(其中终端设备3500中的处理器3503的数量可以一个或多个,图35中以一个处理器为例),其中,处理器3503可以包括应用处理器35031和通信处理器35032。在本申请的一些实施例中,接收器3501、发射器3502、处理器3503和存储器3504可通过总线或其它方式连接。
存储器3504可以包括只读存储器和随机存取存储器,并向处理器3503提供指令和数据。存储器3504的一部分还可以包括非易失性随机存取存储器(non-volatile randomaccess memory,NVRAM)。存储器3504存储有处理器和操作指令、可执行模块或者数据结构,或者它们的子集,或者它们的扩展集,其中,操作指令可包括各种操作指令,用于实现各种操作。
处理器3503控制终端设备的操作。具体的应用中,终端设备的各个组件通过总线系统耦合在一起,其中总线系统除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都称为总线系统。
上述本申请实施例揭示的方法可以应用于处理器3503中,或者由处理器3503实现。处理器3503可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器3503中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器3503可以是通用处理器、数字信号处理器(digital signal processing,DSP)、微处理器或微控制器,还可进一步包括专用集成电路(application specific integratedcircuit,ASIC)、现场可编程门阵列(field-programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。该处理器3503可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器3504,处理器3503读取存储器3504中的信息,结合其硬件完成上述方法的步骤。具体的,处理器3503可以读取存储器3504中的信息,结合其硬件完成上述实施例中步骤301至这步骤304中与数据处理相关的步骤,以及上述实施例中步骤3001至这步骤3004中与数据处理相关的步骤。
接收器3501可用于接收输入的数字或字符信息,以及产生与终端设备的相关设置以及功能控制有关的信号输入。发射器3502可用于通过第一接口输出数字或字符信息;发射器3502还可用于通过第一接口向磁盘组发送指令,以修改磁盘组中的数据;发射器3502还可以包括显示屏等显示设备。
本申请实施例中还提供一种包括计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中图5a、图24a以及图30对应的实施例中描述的图像处理方法的步骤。
本申请实施例中还提供一种计算机可读存储介质,该计算机可读存储介质中存储有用于进行信号处理的程序,当其在计算机上运行时,使得计算机执行如前述实施例描述的方法中的图像处理方法的步骤。
本申请实施例提供的图像显示装置具体可以为芯片,芯片包括:处理单元和通信单元,所述处理单元例如可以是处理器,所述通信单元例如可以是输入/输出接口、管脚或电路等。该处理单元可执行存储单元存储的计算机执行指令,以使执行设备内的芯片执行上述实施例描述的数据处理方法,或者,以使训练设备内的芯片执行上述实施例描述的数据处理方法。可选地,所述存储单元为所述芯片内的存储单元,如寄存器、缓存等,所述存储单元还可以是所述无线接入设备端内的位于所述芯片外部的存储单元,如只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)等。
另外需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本申请提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件的方式来实现,当然也可以通过专用硬件包括专用集成电路、专用CPU、专用存储器、专用元器件等来实现。一般情况下,凡由计算机程序完成的功能都可以很容易地用相应的硬件来实现,而且,用来实现同一功能的具体硬件结构也可以是多种多样的,例如模拟电路、数字电路或专用电路等。但是,对本申请而言更多情况下软件程序实现是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘、U盘、移动硬盘、ROM、RAM、磁碟或者光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。
所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘(Solid State Disk,SSD))等。
Claims (33)
1.一种图像处理方法,其特征在于,所述方法应用于终端实时采集视频流;所述方法包括:
对采集的第一图像进行防抖处理,得到第一裁剪区域;
对所述第一裁剪区域进行透视畸变矫正处理,得到第三裁剪区域;
根据所述第一图像和所述第三裁剪区域得到第三图像;
对采集的第二图像进行防抖处理,得到第二裁剪区域;且所述第二裁剪区域与所述第一裁剪区域和抖动信息有关;所述抖动信息用于表示所述终端采集所述第一图像和所述第二图像的过程中所发生的抖动;
对所述第二裁剪区域进行透视畸变矫正处理,得到第四裁剪区域;
根据所述第二图像和所述第四裁剪区域得到第四图像;
根据所述第三图像和所述第四图像,生成目标视频;
其中,所述第一图像和所述第二图像为所述终端采集的一对时域先后相邻的原始图像。
2.根据权利要求1所述的方法,其特征在于,所述第二裁剪区域在所述第二图像上的位置相对于所述第一裁剪区域在所述第一图像上的位置的偏移方向与所述终端采集所述第一图像和所述第二图像的过程中所发生的抖动在像平面的抖动方向相反。
3.根据权利要求1或2所述的方法,其特征在于,所述第一裁剪区域用于指示所述第一图像中的第一子区域;所述第二裁剪区域用于指示所述第二图像中的第二子区域;
所述第一子区域在所述第一图像中对应的第一图像内容与所述第二子区域在所述第二图像中对应的第二图像内容的相似度大于所述第一图像与所述第二图像的相似度。
4.根据权利要求1至3任一所述的方法,其特征在于,所述对所述第一裁剪区域进行透视畸变矫正处理之前,所述方法还包括:
检测到所述终端满足畸变矫正条件,使能畸变校正功能。
5.根据权利要求4所述的方法,其特征在于,所述检测到所述终端满足畸变矫正条件包括:
检测到所述终端的拍摄倍率小于第一预设阈值。
6.根据权利要求5所述的方法,其特征在于,
当所述拍摄倍率为a~1时,所述终端采用前置广角摄像头或后置广角摄像头实时采集视频流,所述第一预设阈值大于1,其中,所述a为所述前置广角摄像头或后置广角摄像头的固有倍率,所述a的取值范围为0.5~0.9;或者,
当所述拍摄倍率为1~b时,所述终端采用后置主摄像头实时采集视频流,所述b为所述终端所包括的后置长焦摄像头的固有倍率或者为所述终端的变焦极大值,所述第一预设阈值为1~15,所述b的取值范围为3~15。
7.根据权利要求4所述的方法,其特征在于,所述检测到所述终端满足畸变矫正条件包括:
检测到用户开启透视畸变矫正功能的第一使能操作,所述第一使能操作包括针对于所述终端的拍摄界面上第一控件的第一操作,所述第一控件用于指示开启或关闭透视畸变矫正,所述第一操作用于指示开启透视畸变矫正。
8.根据权利要求4所述的方法,其特征在于,所述检测到所述终端满足畸变矫正条件包括:
识别出拍摄场景中存在人脸;或,
识别出拍摄场景中存在人脸、且所述人脸与所述终端之间的距离小于预设值;或,
识别出拍摄场景中存在人脸、且所述人脸在所述拍摄场景对应的图像中所占的像素比例大于预设比例。
9.根据权利要求1至8任一所述的方法,其特征在于,所述对采集的第一图像进行防抖处理之前,所述方法还包括:
检测到所述终端满足防抖条件,使能防抖处理功能。
10.根据权利要求9所述的方法,其特征在于,所述检测到所述终端满足防抖条件包括:
检测到所述终端的拍摄倍率大于所述终端中倍率最小的摄像头的固有倍率。
11.根据权利要求1至10任一所述的方法,其特征在于,所述检测到所述终端满足防抖条件包括:
检测到用户开启防抖处理功能的第二使能操作,所述第二使能操作包括针对于所述终端的拍摄界面上第二控件的第二操作,所述第二控件用于指示开启或关闭防抖处理功能,所述第二操作用于指示开启防抖处理功能。
12.根据权利要求1至11任一所述的方法,其特征在于,所述根据所述第二图像和所述第四裁剪区域得到第四图像,包括:
获取第一映射关系和第二映射关系,所述第一映射关系用于表示所述第二裁剪区域的各个位置点与所述第二图像中对应位置点的映射关系,所述第二映射关系用于表示所述第四裁剪区域的各个位置点与所述第二裁剪区域中对应位置点的映射关系;
根据所述第二图像、所述第一映射关系和所述第二映射关系,得到所述第四图像。
13.根据权利要求12所述的方法,其特征在于,所述根据所述第二图像、所述第一映射关系和所述第二映射关系,得到所述第四图像,包括:
将所述第一映射关系和所述第二映射关系进行耦合,以确定目标映射关系,所述目标映射关系包括所述第四裁剪区域的各个位置点与所述第二图像中对应位置点的映射关系;
根据所述第二图像和所述目标映射关系,确定所述第四图像。
14.根据权利要求12或13所述的方法,其特征在于,所述第一映射关系与所述第二映射关系不同。
15.根据权利要求1至14任一所述的方法,其特征在于,所述对所述第一裁剪区域进行透视畸变矫正处理,包括:对所述第一裁剪区域进行光学畸变矫正处理,以得到矫正后的第一裁剪区域;对所述矫正后的第一裁剪区域进行透视畸变矫正处理;或者,
所述根据所述第一图像和所述第三裁剪区域得到第三图像,包括:对所述第三裁剪区域进行光学畸变矫正处理,以得到矫正后的第三裁剪区域;根据所述第一图像和所述矫正后的第三裁剪区域得到第三图像;或者,
所述对所述第二裁剪区域进行透视畸变矫正处理,包括:对所述第二裁剪区域进行光学畸变矫正处理,以得到矫正后的第二裁剪区域;对所述矫正后的第二裁剪区域进行透视畸变矫正处理;或者,
所述根据所述第二图像和所述第四裁剪区域得到第四图像,包括:对所述第四裁剪区域进行光学畸变矫正处理,以得到矫正后的第四裁剪区域;根据所述第二图像和所述矫正后的第四裁剪区域得到第四图像。
16.一种图像处理装置,其特征在于,所述装置应用于终端实时采集视频流;所述装置包括:
防抖处理模块,用于对采集的第一图像进行防抖处理,得到第一裁剪区域;还用于对采集的第二图像进行防抖处理,得到第二裁剪区域;且所述第二裁剪区域与所述第一裁剪区域和抖动信息有关;所述抖动信息用于表示所述终端采集所述第一图像和所述第二图像的过程中所发生的抖动;其中,所述第一图像和所述第二图像为所述终端采集的一对时域先后相邻的原始图像;
透视畸变矫正模块,用于对所述第一裁剪区域进行透视畸变矫正处理,得到第三裁剪区域;还用于对所述第二裁剪区域进行透视畸变矫正处理,得到第四裁剪区域;
图像生成模块,用于根据所述第一图像和所述第三裁剪区域得到第三图像;还用于根据所述第二图像和所述第四裁剪区域得到第四图像;并根据所述第三图像和所述第四图像,生成目标视频。
17.根据权利要求16所述的装置,其特征在于,所述第二裁剪区域在所述第二图像上的位置相对于所述第一裁剪区域在所述第一图像上的位置的偏移方向与所述终端采集所述第一图像和所述第二图像的过程中所发生的抖动在像平面的抖动方向相反。
18.根据权利要求16或17所述的装置,其特征在于,所述第一裁剪区域用于指示所述第一图像中的第一子区域;所述第二裁剪区域用于指示所述第二图像中的第二子区域;
所述第一子区域在所述第一图像中对应的第一图像内容与所述第二子区域在所述第二图像中对应的第二图像内容的相似度大于所述第一图像与所述第二图像的相似度。
19.根据权利要求16至18任一所述的装置,其特征在于,所述装置还包括:
第一检测模块,用于在所述防抖处理模块对采集的第一图像进行防抖处理之前,检测到所述终端满足畸变矫正条件,使能畸变校正功能。
20.根据权利要求19所述的装置,其特征在于,所述检测到所述终端满足畸变矫正条件包括:
检测到所述终端的拍摄倍率小于第一预设阈值。
21.根据权利要求20所述的装置,其特征在于,
当所述拍摄倍率为a~1时,所述终端采用前置广角摄像头或后置广角摄像头实时采集视频流,所述第一预设阈值大于1,其中,所述a为所述前置广角摄像头或后置广角摄像头的固有倍率,所述a的取值范围为0.5~0.9;或者,
当所述拍摄倍率为1~b时,所述终端采用后置主摄像头实时采集视频流,所述b为所述终端所包括的后置长焦摄像头的固有倍率或者为所述终端的变焦极大值,所述第一预设阈值为1~15,所述b的取值范围为3~15。
22.根据权利要求19所述的装置,其特征在于,所述检测到所述终端满足畸变矫正条件包括:
检测到用户开启透视畸变矫正功能的第一使能操作,所述第一使能操作包括针对于所述终端的拍摄界面上第一控件的第一操作,所述第一控件用于指示开启或关闭透视畸变矫正,所述第一操作用于指示开启透视畸变矫正。
23.根据权利要求19所述的装置,其特征在于,所述检测到所述终端满足畸变矫正条件包括:
识别出拍摄场景中存在人脸;或,
识别出拍摄场景中存在人脸、且所述人脸与所述终端之间的距离小于预设值;或,
识别出拍摄场景中存在人脸、且所述人脸在所述拍摄场景对应的图像中所占的像素比例大于预设比例。
24.根据权利要求16至23任一所述的装置,其特征在于,所述装置还包括:
第二检测模块,用于所述防抖处理模块在对采集的第一图像进行防抖处理之前,检测到所述终端满足防抖条件,使能防抖处理功能。
25.根据权利要求24所述的装置,其特征在于,所述检测到所述终端满足防抖条件包括:
检测到所述终端的拍摄倍率大于所述终端中倍率最小的摄像头的固有倍率。
26.根据权利要求16至25任一所述的装置,其特征在于,所述检测到所述终端满足防抖条件包括:
检测到用户开启防抖处理功能的第二使能操作,所述第二使能操作包括针对于所述终端的拍摄界面上第二控件的第二操作,所述第二控件用于指示开启或关闭防抖处理功能,所述第二操作用于指示开启防抖处理功能。
27.根据权利要求16至26任一所述的装置,其特征在于,所述图像生成模块,具体用于获取第一映射关系和第二映射关系,所述第一映射关系用于表示所述第二裁剪区域的各个位置点与所述第二图像中对应位置点的映射关系,所述第二映射关系用于表示所述第四裁剪区域的各个位置点与所述第二裁剪区域中对应位置点的映射关系;
根据所述第二图像、所述第一映射关系和所述第二映射关系,得到所述第四图像。
28.根据权利要求27所述的装置,其特征在于,所述图像生成模块,具体用于将所述第一映射关系和所述第二映射关系进行耦合,以确定目标映射关系,所述目标映射关系包括所述第四裁剪区域的各个位置点与所述第二图像中对应位置点的映射关系;
根据所述第二图像和所述目标映射关系,确定所述第四图像。
29.根据权利要求27或28所述的装置,其特征在于,所述第一映射关系与所述第二映射关系不同。
30.根据权利要求16至29任一所述的装置,其特征在于,所述透视畸变矫正模块,具体用于对所述第一裁剪区域进行光学畸变矫正处理,以得到矫正后的第一裁剪区域;对所述矫正后的第一裁剪区域进行透视畸变矫正处理;或者,
所述图像生成模块,具体用于对所述第三裁剪区域进行光学畸变矫正处理,以得到矫正后的第三裁剪区域;根据所述第一图像和所述矫正后的第三裁剪区域得到第三图像;或者,
所述透视畸变矫正模块,具体用于对所述第二裁剪区域进行光学畸变矫正处理,以得到矫正后的第二裁剪区域;对所述矫正后的第二裁剪区域进行透视畸变矫正处理;或者,
所述图像生成模块,具体用于对所述第四裁剪区域进行光学畸变矫正处理,以得到矫正后的第四裁剪区域;根据所述第二图像和所述矫正后的第四裁剪区域得到第四图像。
31.一种图像处理设备,其特征在于,所述设备包括处理器、存储器、摄像头和总线,其中:
所述处理器、所述存储器和所述摄像头通过所述总线连接;
所述摄像头,用于实时采集视频;
所述存储器,用于存放计算机程序或指令;
所述处理器,用于调用或执行所述存储器上所存放的程序或指令,还用于调用摄像头,以实现权利要求1-15任一所述的方法步骤。
32.一种计算机可读存储介质,包括程序,当其在计算机上运行时,使得计算机执行如权利要求1至15中任一项所述的方法。
33.一种包含指令的计算机程序产品,其特征在于,当所述计算机程序产品在终端上运行时,使得所述终端执行所述权利要求1-15中任一权利要求所述的方法。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110333994.9A CN115131222A (zh) | 2021-03-29 | 2021-03-29 | 一种图像处理方法以及相关设备 |
PCT/CN2022/082980 WO2022206589A1 (zh) | 2021-03-29 | 2022-03-25 | 一种图像处理方法以及相关设备 |
JP2023559812A JP2024513002A (ja) | 2021-03-29 | 2022-03-25 | 画像処理方法及び関連デバイス |
EP22778772.8A EP4310769A4 (en) | 2021-03-29 | 2022-03-25 | IMAGE PROCESSING METHOD AND ASSOCIATED DEVICE |
US18/476,027 US20240031675A1 (en) | 2021-03-29 | 2023-09-27 | Image processing method and related device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110333994.9A CN115131222A (zh) | 2021-03-29 | 2021-03-29 | 一种图像处理方法以及相关设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115131222A true CN115131222A (zh) | 2022-09-30 |
Family
ID=83375540
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110333994.9A Pending CN115131222A (zh) | 2021-03-29 | 2021-03-29 | 一种图像处理方法以及相关设备 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20240031675A1 (zh) |
EP (1) | EP4310769A4 (zh) |
JP (1) | JP2024513002A (zh) |
CN (1) | CN115131222A (zh) |
WO (1) | WO2022206589A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118102099A (zh) * | 2024-04-17 | 2024-05-28 | 江西省自然资源事业发展中心 | 一种自然资源监管视频拍摄防抖方法和装置 |
CN118474542A (zh) * | 2024-07-15 | 2024-08-09 | 深圳市浩瀚卓越科技有限公司 | 云台方位控制方法、装置、设备和存储介质 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7335463B1 (ja) * | 2023-01-31 | 2023-08-29 | セーフィー株式会社 | 携帯用の撮像装置、映像処理システム、映像処理方法、及び映像処理プログラム |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005005920A (ja) * | 2003-06-11 | 2005-01-06 | Nec Viewtechnology Ltd | 書画カメラ及びその動作制御方法 |
JP5590876B2 (ja) * | 2009-12-18 | 2014-09-17 | キヤノン株式会社 | 情報処理装置及びその制御方法並びに撮像装置 |
KR101652658B1 (ko) * | 2014-02-07 | 2016-08-30 | 가부시키가이샤 모르포 | 화상 처리 장치, 화상 처리 방법, 화상 처리 프로그램 및 기록 매체 |
JP6478504B2 (ja) * | 2014-07-16 | 2019-03-06 | キヤノン株式会社 | 撮像装置およびその制御方法 |
JP6518115B2 (ja) * | 2015-04-13 | 2019-05-22 | キヤノン株式会社 | 画像処理装置、撮像装置、画像処理装置の制御方法、及びプログラム |
WO2018053486A1 (en) * | 2016-09-19 | 2018-03-22 | Radlink, Inc. | Composite radiographic image that corrects effects of parallax distortion |
CN110830704B (zh) * | 2018-08-07 | 2021-10-22 | 纳宝株式会社 | 旋转图像生成方法及其装置 |
CN112887586B (zh) * | 2019-05-06 | 2022-05-10 | 苹果公司 | 用于捕获和管理视觉媒体的用户界面 |
CN111861932B (zh) * | 2020-07-28 | 2022-05-17 | RealMe重庆移动通信有限公司 | 图像的畸变校正方法、装置及移动终端 |
CN111988526B (zh) * | 2020-08-27 | 2021-07-27 | Oppo(重庆)智能科技有限公司 | 移动终端及图像数据处理方法 |
CN112529913A (zh) * | 2020-12-14 | 2021-03-19 | 北京达佳互联信息技术有限公司 | 图像分割模型训练方法、图像处理方法及装置 |
-
2021
- 2021-03-29 CN CN202110333994.9A patent/CN115131222A/zh active Pending
-
2022
- 2022-03-25 JP JP2023559812A patent/JP2024513002A/ja active Pending
- 2022-03-25 EP EP22778772.8A patent/EP4310769A4/en active Pending
- 2022-03-25 WO PCT/CN2022/082980 patent/WO2022206589A1/zh active Application Filing
-
2023
- 2023-09-27 US US18/476,027 patent/US20240031675A1/en active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118102099A (zh) * | 2024-04-17 | 2024-05-28 | 江西省自然资源事业发展中心 | 一种自然资源监管视频拍摄防抖方法和装置 |
CN118474542A (zh) * | 2024-07-15 | 2024-08-09 | 深圳市浩瀚卓越科技有限公司 | 云台方位控制方法、装置、设备和存储介质 |
CN118474542B (zh) * | 2024-07-15 | 2024-09-17 | 深圳市浩瀚卓越科技有限公司 | 云台方位控制方法、装置、设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
EP4310769A4 (en) | 2024-08-28 |
US20240031675A1 (en) | 2024-01-25 |
JP2024513002A (ja) | 2024-03-21 |
WO2022206589A1 (zh) | 2022-10-06 |
EP4310769A1 (en) | 2024-01-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110072070B (zh) | 一种多路录像方法及设备、介质 | |
CN110445978B (zh) | 一种拍摄方法及设备 | |
WO2021093793A1 (zh) | 一种拍摄方法及电子设备 | |
CN110506416B (zh) | 一种终端切换摄像头的方法及终端 | |
CN114679537B (zh) | 一种拍摄方法及终端 | |
WO2020073959A1 (zh) | 图像捕捉方法及电子设备 | |
CN113497881B (zh) | 图像处理方法及装置 | |
CN115484380B (zh) | 拍摄方法、图形用户界面及电子设备 | |
CN117857920B (zh) | 一种对焦方法和电子设备 | |
WO2022206589A1 (zh) | 一种图像处理方法以及相关设备 | |
CN115967851A (zh) | 快速拍照方法、电子设备及计算机可读存储介质 | |
CN114283195B (zh) | 生成动态图像的方法、电子设备及可读存储介质 | |
CN115115679A (zh) | 一种图像配准方法及相关设备 | |
WO2024078275A1 (zh) | 一种图像处理的方法、装置、电子设备及存储介质 | |
CN113542574A (zh) | 变焦下的拍摄预览方法、终端、存储介质及电子设备 | |
CN114079725B (zh) | 视频防抖方法、终端设备和计算机可读存储介质 | |
CN114302063B (zh) | 一种拍摄方法及设备 | |
CN116055872B (zh) | 图像获取方法、电子设备和计算机可读存储介质 | |
CN116709018B (zh) | 一种变焦条分割方法及电子设备 | |
CN118552452A (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 |