一种基于传感器的水平自动矫正的拍照方法

文档序号:6512251阅读:298来源:国知局
一种基于传感器的水平自动矫正的拍照方法
【专利摘要】本发明涉及一种基于传感器的水平自动矫正的拍照方法,在拍照瞬间分析及记录传感器的倾斜角度,并根据该倾斜角度对原始图像进行旋转及裁剪,得到结果图像;从而无需在拍照后采用图像处理软件对照片进行二次编辑,避免图像处理导致的失真,不仅效率高,而且图像效果好。
【专利说明】—种基于传感器的水平自动矫正的拍照方法
【技术领域】
[0001]本发明涉及一种图像处理方法,特别是一种基于传感器的水平自动矫正的拍照方法。
【背景技术】
[0002]当前数码相机拍照或者手机拍照越来越流行,但是有时候由于外界因素的干扰,导致拍出来的照片的水平面是斜的,照片的视觉效果不好甚至影响照片的美观,使得拍出来的照片都被弃用,或者需要对其进行二次编辑。

【发明内容】

[0003]本发明为解决上述问题,提供了一种。
[0004]为实现上述目的,本发明采用的技术方案为:
[0005]一种基于传感器的水平自动矫正的拍照方法,其特征在于,包括以下步骤:
[0006]步骤1.点击拍照键;
[0007]步骤2.分析及记录传感器的倾斜角度,并进行数据捕获得到原始图像;
[0008]步骤3.根据步骤2中记录的倾斜角度对原始图像进行旋转,得到旋转后图像;
[0009]步骤4.通过计算得到结果尺寸,并根据结果尺寸对旋转后图像进行裁剪得到结果图像。
[0010]优选的,所述步骤I中的拍照键为软拍照键或硬拍照键;其中,软拍照键为屏幕上用户可以点击进行拍照的触摸键;硬拍照键为设备上专门提供给用户按压拍照的硬件按钮。
[0011]优选的,所述步骤2中的传感器为重力传感器或陀螺仪传感器。
[0012]优选的,所述步骤2中的倾斜角度是通过计算重力传感器因重力变化引起的加速度,从而得到在拍照瞬间设备与重力方向的倾斜角度。
[0013]优选的,所述步骤2中的倾斜角度是通过计算陀螺仪传感器因重力变化引起的内部陀螺转轴方向的变化,从而得到在拍照瞬间设备与重力方向的倾斜角度。
[0014]优选的,所述步骤3中根据步骤2记录的倾斜角度对原始图像进行基于该原始图像正中心的旋转。
[0015]优选的,所述步骤4中的结果尺寸为旋转后图像的的全饱和状态的尺寸,其计算方法如下:
[0016]首先,将原始图像的倾斜角度的范围缩小在O?90度之间:
[0017]如果倾斜角度大于360度,则angle=angle_360 ;
[0018]如果倾斜角度大于180度,则angle=360_angle ;
[0019]如果倾斜角度大于90度,则angle=180_angle ;
[0020]然后,计算原始图像高与宽的比例offset=nHeight / nffidth ;
[0021]计算该比例的反正切弧度值:srcAngle=atan(offset);[0022]接着,计算结果尺寸的对角线的长度r:
[0023]若原始图像的宽大于高,贝U长度r=(nHeight*0.5 / cos (srcAngle+angle* π /180-31 / 2));若原始图像的宽小于高,则长度r=(nWidth*0.5f /cos (srcAngle-angle* η / 180));
[0024]最后,根据对角度的长度r得到所述结果尺寸,并根据该结果尺寸对旋转后图像进行裁剪得到结果图像:
[0025]W= (r*cos (srcAngle));
[0026]h=(r*sin(srcAngle));
[0027]其中,nWidth为原始图像的原始尺寸的宽,nHeight为原始图像的原始尺寸的高,angle为原始图像的原始尺寸的倾斜角度;r为结果尺寸的对角线的长度;ofTset为原始尺寸的高与宽的比例;srcAngle为原始尺寸高与宽的比例的反正切弧度值;w为结果尺寸的宽;h为结果尺寸的高;31为圆周率。
[0028]本发明的有益效果是:
[0029]本发明通过在拍照瞬间分析及记录传感器的倾斜角度,并根据该倾斜角度对原始图像进行旋转及裁剪,得到结果图像,从而无需在拍照后采用图像处理软件对照片进行二次编辑,避免图像处理导致的失真,不仅效率高,而且图像效果好。
【专利附图】

【附图说明】
[0030]此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
[0031]图1为本发明基于学习的水平自动矫正的拍照方法的流程简图;
[0032]图2为用于说明本发明效果的原始图像;
[0033]图3为图2原始图像经过旋转后图像;
[0034]图4为采用本发明拍照方法自动矫正后的结果图像。
【具体实施方式】
[0035]为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚、明白,以下结合附图及实施例对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
[0036]如图1所示,本发明的一种基于传感器的水平自动矫正的拍照方法,包括以下步骤:
[0037]步骤1.点击拍照键;
[0038]步骤2.分析及记录传感器的倾斜角度,并进行数据捕获得到原始图像;
[0039]步骤3.根据步骤2中记录的倾斜角度对原始图像进行旋转,得到旋转后图像;优选的,所述旋转是基于原始图像正中心的旋转。;
[0040]步骤4.通过计算得到结果尺寸,并根据结果尺寸对旋转后图像进行裁剪得到结果图像。
[0041]所述步骤I中的拍照键可以为软拍照键,也可以为硬拍照键;其中,软拍照键为屏幕上用户可以点击进行拍照的触摸键;硬拍照键为设备上专门提供给用户按压拍照的硬件按钮。
[0042]优选的,所述步骤2中的传感器为重力传感器或陀螺仪传感器:
[0043]若采用重力传感器,倾斜角度是通过计算重力传感器因重力变化引起的加速度,从而得到在拍照瞬间设备与重力方向的倾斜角度;重力传感器是根据压电效应的原理来工作的,所谓的压电效应就是“对于不存在对称中心的异极晶体加在晶体上的外力除了使晶体发生形变以外,还将改变晶体的极化状态,在晶体内部建立电场,这种由于机械力作用使介质发生极化的现象称为正压电效应”;重力传感器就是利用了其内部的由于加速度造成的晶体变形这个特性,由于这个变形会产生电压,只要计算出产生电压和所施加的加速度之间的关系,就可以将加速度转化成电压输出;简单来说是测量内部一与压电片做成一体的重物的重力正交两个方向的分力大小,来判定水平方向,手机或相机在变换姿势时引起重心的变化,使其光标变化位置从而实现选择等功能,如此就可在拍照瞬间得到当前设备与重力方向的倾斜角度。
[0044]若采用陀螺仪传感器,倾斜角度是通过计算陀螺仪传感器因重力变化引起的内部陀螺转轴方向的变化,从而得到在拍照瞬间设备与重力方向的倾斜角度;陀螺仪传感器的原理就是,一个旋转物体的旋转轴所指的方向在不受外力影响时,是不会改变的;其内部有一个陀螺,它的轴由于陀螺效应始终与初始方向平行,这样就可以通过与初始方向的偏差计算出实际方向,通过设备与陀螺的夹角从而计算出拍照的瞬间当前设备与重力方向的倾斜角度。
[0045]优选的,所述步骤4中的结果尺寸为旋转后图像的的全饱和状态的尺寸,其计算方法如下:
[0046]首先,将原始图像的倾斜角度的范围缩小在O?90度之间:
[0047]如果倾斜角度大于360度,则angle=angle_360 ;
[0048]如果倾斜角度大于180度,则angle=360_angle ;
[0049]如果倾斜角度大于90度,则angle=180_angle ;
[0050]然后,计算原始图像高与宽的比例offset=nHeight / nffidth ;
[0051]计算该比例的反正切弧度值:srcAngle=atan(offset);
[0052]接着,计算结果尺寸的对角线的长度r:
[0053]若原始图像的宽大于高,贝1J长度r=(nHeight*0.5 / cos (srcAngle+angle* π /180-31 / 2));若原始图像的宽小于高,则长度r=(nWidth*0.5f /cos (srcAngle-angle* η / 180));
[0054]最后,根据对角度的长度r得到所述结果尺寸:
[0055]W= (r*cos (srcAngle));
[0056]h=(r*sin(srcAngle));
[0057]其中,nWidth为原始图像的原始尺寸的宽,nHeight为原始图像的原始尺寸的高,angle为原始图像的原始尺寸的倾斜角度;r为结果尺寸的对角线的长度;ofTset为原始尺寸的高与宽的比例;srcAngle为原始尺寸高与宽的比例的反正切弧度值;w为结果尺寸的宽;h为结果尺寸的高;31为圆周率。
[0058]根据上述结果尺寸对旋转后图像进行裁剪得到结果图像,从而无需在拍照后采用图像处理软件对照片进行二次编辑,避免图像处理导致的失真,不仅效率高,而且图像效果好。
[0059]上述说明示出并描述了本发明的优选实施例,如前,应当理解本发明并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文发明构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本发明的精神和范围,则都应在本发明所附权利要求的保护范围内。
【权利要求】
1.一种基于传感器的水平自动矫正的拍照方法,其特征在于,包括以下步骤: 步骤1.点击拍照键; 步骤2.分析及记录传感器的倾斜角度,并进行数据捕获得到原始图像; 步骤3.根据步骤2中记录的倾斜角度对原始图像进行旋转,得到旋转后图像; 步骤4.通过计算得到结果尺寸,并根据结果尺寸对旋转后图像进行裁剪得到结果图像。
2.根据权利要求1所述的一种基于传感器的水平自动矫正的拍照方法,其特征在于:所述步骤I中的拍照键为软拍照键或硬拍照键;其中,软拍照键为屏幕上用户可以点击进行拍照的触摸键;硬拍照键为设备上专门提供给用户按压拍照的硬件按钮。
3.根据权利要求1所述的一种基于传感器的水平自动矫正的拍照方法,其特征在于:所述步骤2中的传感器为重力传感器或陀螺仪传感器。
4.根据权利要求3所述的一种基于传感器的水平自动矫正的拍照方法,其特征在于:所述步骤2中的倾斜角度是通过计算重力传感器因重力变化引起的加速度,从而得到在拍照瞬间设备与重力方向的倾斜角度。
5.根据权利要求3所述的一种基于传感器的水平自动矫正的拍照方法,其特征在于:所述步骤2中的倾斜角度是通过计算陀螺仪传感器因重力变化引起的内部陀螺转轴方向的变化,从而得到在拍照瞬间设备与重力方向的倾斜角度。
6.根据权利要求1所述的一种基于传感器的水平自动矫正的拍照方法,其特征在于:所述步骤3中根据步骤2记录的倾`斜角度对原始图像进行基于该原始图像正中心的旋转。
7.根据权利要求1所述的一种基于传感器的水平自动矫正的拍照方法,其特征在于:所述步骤4中的结果尺寸为旋转后图像的的全饱和状态的尺寸,其计算方法如下: 首先,将原始图像的倾斜角度的范围缩小在O~90度之间: 如果倾斜角度大于360度,则angle=angle-360 ; 如果倾斜角度大于180度,则angle=360-angle ; 如果倾斜角度大于90度,则angle=180-angle ; 然后,计算原始图像高与宽的比例offset=nHeight / nffidth ; 计算该比例的反正切弧度值:srcAngle=atan(offset); 接着,计算结果尺寸的对角线的长度r: 若原始图像的宽大于高,则长度r= (nHeight*0.5 / cos (srcAngle+angle* π /180-31 / 2));若原始图像的宽小于高,则长度r=(nWidth*0.5f /cos (srcAngle-angle* η / 180)); 最后,根据对角度的长度r得到所述结果尺寸,并根据该结果尺寸对旋转后图像进行裁剪得到结果图像:
W=(r*cos(srcAngle));
h= (r*sin(srcAngle)); 其中,nWidth为原始图像的原始尺寸的宽,nHeight为原始图像的原始尺寸的高,angle为原始图像的原始尺寸的倾斜角度;r为结果尺寸的对角线的长度;ofTset为原始尺寸的高与宽的比例;srcAngle为原始尺寸高与宽的比例的反正切弧度值;w为结果尺寸的宽;h为结果尺寸的高;31为圆周率。
【文档编号】G06T3/60GK103489155SQ201310429143
【公开日】2014年1月1日 申请日期:2013年9月18日 优先权日:2013年9月18日
【发明者】张伟, 傅松林, 王黎凌, 张长定 申请人:厦门美图网科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1