The invention discloses a method, a terminal and a computer readable storage medium for digital zoom, which involves the field of image processing. The method for realizing digital zoom includes detecting a user scaling gesture, determining the zoom center and scaling coefficient according to the zoom gesture, and determining the zoom center and the scaling coefficient according to the zoom center. The vertex coordinates of the preview area of the fixed camera on the open speech openGL are invoked; and the openGL is drawn to scale the picture according to the vertex coordinates. The invention introduces the GPU processing, determines the vertex coordinates of the camera preview area on the openGL according to the zoom center and the scaling coefficient, and then calls openGL to draw the zoom picture according to the vertex coordinates. In the process of digital zoom, the process of avoiding excessive interaction with the HAL layer is complicated and time-consuming, and can achieve a more smooth and diversified digital zoom function, alleviate the workload of the HAL layer and improve the user experience. One
【技术实现步骤摘要】
实现数码变焦的方法、终端及计算机可读存储介质
本专利技术涉及图像处理领域,尤其涉及一种实现数码变焦的方法、终端及计算机可读存储介质。
技术介绍
目前,随着通讯技术的不断发展,嵌入式终端产品,尤其是智能手机,已经成为人们日常生活中不可或缺的一部分,与此同时,在这些电子产品里,其照相机功能已经逐渐发展为其最基本的配置之一。为了方便用户拍摄不同景深的画面,设计人员只能借助于相机的数码变焦功能来实现变焦,即zoom功能。对于手机相机而言,在相机预览界面,用户通过双指手势缩放预览画面,可看到预览画面会被放大,类似于景物被局部放大。其中,数码变焦的实现原理是:通过移动终端(例如手机)的处理器芯片,把图像内的每个像素面积增大,也就是利用处理器对已有像素周边的色彩进行判断,并根据周边的色彩情况插入经特殊算法加入的像素,从而达到放大图像的目的。传统的zoom实现是依赖于硬件抽象层(HardwareAbstractLayer,HAL)的支持,当一种终端检测到用户食指和中指的缩放手势后,可以根据手势按一定的需要转换为想要放大的系数,进而转换为一个Rect的区域(此区域在相机API1接口上通常是以预览中心为放大中心,通过放大系数调节,通常非无级调节、在API2接口上是通过自定义区域调节),设置给底层,底层根据系数或区域,对原始预览数据进行裁剪、放大然后送到上层,供预览显示。此过程需要跟底层交互,较为耗时,且不灵活。
技术实现思路
本专利技术的主要目的在于提出一种实现数码变焦的方法、终端及计算机可读存储介质,旨在解决相机zoom功能实现过程中需多次与HAL层交互而导致zoom功能实现过 ...
【技术保护点】
1.一种实现数码变焦的方法,其特征在于,所述实现数码变焦的方法包括:
【技术特征摘要】
1.一种实现数码变焦的方法,其特征在于,所述实现数码变焦的方法包括:检测用户缩放手势;根据所述缩放手势确定缩放中心及缩放系数;根据所述缩放中心及缩放系数确定相机预览区域在开放图形语音openGL上的顶点坐标;调用openGL根据所述顶点坐标绘制缩放图片。2.根据权利要求1所述的实现数码变焦的方法,其特征在于,所述检测用户缩放手势包括:检测第一触控点及第二触控点;其中,所述第一触控点与所述第二触控点同时存在;在预设[T1,T2]时间段内判断所述第一触控点与所述第二触控点之间的距离变化情况;根据所述距离变化情况确定用户缩放手势。3.根据权利要求2所述的实现数码变焦的方法,其特征在于,所述距离变化情况包括:距离逐渐增大、距离逐渐减小;所述根据所述距离变化情况确定用户缩放手势包括:当所述距离逐渐增大时,确定用户缩放手势为放大;当所述距离逐渐减小时,确定用户缩放手势为缩小。4.根据权利要求3所述的实现数码变焦的方法,其特征在于,所述根据所述缩放手势确定缩放中心及缩放系数包括:当用户缩放手势为放大时,将T1时刻第一触控点与第二触控点连线的中点确定为缩放中心;将T1时刻第一触控点与第二触控点的线段长度与T2时刻第一触控点与第二触控点的线段长度的比值作为缩放系数;当用户缩放手势为缩小时,将T2时刻第一触控点与第二触控点连线的中点确定为缩放中心;将T1时刻第一触控点与第二触控点的线段长度与T2时刻第一触控点与第二触控点的线段长度的比值作为缩放系数。5.根据权利要求4所述的实现数码变焦的方法,其特征在于,所述根据所述缩放中心及缩放系数确定相机预览区域在开放图形语音openGL上的顶点坐标包括:基于所述缩放中心将所述相机预览区域、所述缩放系数按照预设映射关系映射到openGL上得到所述相机预览区域在op...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。