发明内容
本发明实施例的目的在于提供一种拍摄辅助方法和装置,以实时告知用户拍摄设备的当前姿态并提示用户如何调整该姿态。
为实现上述目的,本发明实施例公开了一种拍摄辅助方法,应用于配置有姿态传感器的拍摄设备,包括:
实时地从拍摄设备内置的姿态传感器获取拍摄设备的当前姿态数据;所述姿态数据包括横滚角角度值、俯仰角角度值和航向角角度值;
将当前姿态数据中的横滚角角度值与预设的横滚角参考值比较,获得横滚角偏差;将当前姿态数据中的俯仰角角度值与预设的俯仰角参考值比较,获得俯仰角偏差;将当前姿态数据中的航向角角度值与预设的航向角参考值比较,获得航向角偏差;
当所获得的横滚角偏差、俯仰角偏差和航向角偏差满足不同的预设条件时,以预设方式给予用户不同的拍摄辅助提示。
优选的,所述将当前姿态数据中的横滚角角度值与预设的横滚角参考值比较,获得横滚角偏差的步骤,为:
将当前姿态数据中的横滚角角度值与多个预设的横滚角参考值比较,记录比较结果中绝对值最小的差值作为横滚角偏差;
所述将当前姿态数据中的俯仰角角度值与预设的俯仰角参考值比较,获得俯仰角偏差的步骤,为:
将当前姿态数据中的俯仰角角度值与多个预设的俯仰角参考值比较,记录比较结果中绝对值最小的差值作为俯仰角偏差;
所述将当前姿态数据中的航向角角度值与预设的航向角参考值比较,获得航向角偏差的步骤,为:
将当前姿态数据中的俯仰角数据与多个预设的航向角参考值比较,记录比较结果中绝对值最小的差值作为航向角偏差。
优选的,所述多个预设的横滚角参考值为-90°、0°、90°,所述多个预设的俯仰角参考值为-180°、-90°、0°、90°、180°,所述多个预设的航向角参考值为0°、90°、180°、270°、360°。
优选的,当所获得的横滚角偏差、俯仰角偏差和航向角偏差满足不同的预设条件时,以预设方式给予用户不同的拍摄辅助提示,包括:
判断横滚角偏差、俯仰角偏差和航向角偏差三个数据是否符合以下条件:横滚角偏差的绝对值小于第一预设定阈值、且俯仰角偏差的绝对值小于第二预设定阈值、且航向角偏差的绝对值小于第三预设定阈值;
如果判断结果为是,以文本、图像或声音三种信息中的至少一种,提示用户拍摄设备已处于理想拍摄姿态;
如果判断结果为否,以文本、图像或声音三种信息中的至少一种,提示用户对拍摄设备的姿态进行调整。
优选的,所述以文本、图像或声音三种信息中的至少一种,提示用户对拍摄设备的姿态进行调整,包括:
向用户输出文本、图像或声音三种信息中的至少一种,所述信息中至少包含所记录的横滚角偏差、俯仰角偏差和航向角偏差,以提示用户对拍摄设备的姿态进行调整。
优选的,其特征在于,在所述实时地从拍摄设备内置的姿态传感器获取拍摄设备的当前姿态数据之前,还包括:
获取用户设置的拍摄模式,当用户设置的拍摄模式为文本拍摄模式时,所述方法还包括:
响应用户拍摄指令进行拍摄,获得拍摄的图片;
用文字识别工具对所拍摄的图片进行识别;
向用户输出识别结果。
本发明实施例还公开了一种拍摄辅助装置,应用于配置有姿态传感器的拍摄设备,包括:
姿态获取模块,用于实时获取拍摄设备的当前姿态数据;所述姿态数据包括横滚角角度值、俯仰角角度值和航向角角度值;
比较模块,用于将当前姿态数据中的横滚角角度值与预设的横滚角参考值比较,获得横滚角偏差;将当前姿态数据中的俯仰角角度值与预设的俯仰角参考值比较,获得俯仰角偏差;将当前姿态数据中的航向角角度值与预设的航向角参考值比较,获得航向角偏差;
提示模块,用于当所获得的横滚角偏差、俯仰角偏差和航向角偏差满足不同的预设条件时,以预设方式给予用户不同的拍摄辅助提示。
优选的,所述比较模块,具体用于:将当前姿态数据中的横滚角角度值与多个预设的横滚角参考值比较,记录比较结果中绝对值最小的差值作为横滚角偏差;将当前姿态数据中的俯仰角角度值与多个预设的俯仰角参考值比较,记录比较结果中绝对值最小的差值作为俯仰角偏差;将当前姿态数据中的俯仰角数据与多个预设的航向角参考值比较,记录比较结果中绝对值最小的差值作为航向角偏差。
优选的,所述比较模块用到的所述多个预设的横滚角参考值为:-90°、0°、90°,所述比较模块用到的所述多个预设的俯仰角参考值为:-180°、-90°、0°、90°、180°,所述比较模块用到的所述多个预设的航向角参考值为:0°、90°、180°、270°、360°。
优选的,所述提示模块,包括:
判断单元,用于判断横滚角偏差、俯仰角偏差和航向角偏差三个数据是否符合以下条件:横滚角偏差的绝对值小于第一预设定阈值、且俯仰角偏差的绝对值小于第二预设定阈值、且航向角偏差的绝对值小于第三预设定阈值;
提示单元,用于如果所述判断单元的判断结果为是,以文本、图像或声音三种信息中的至少一种,提示用户拍摄设备已处于理想拍摄姿态,如果判断结果为否,以文本、图像或声音三种信息中的至少一种,提示用户对拍摄设备的姿态进行调整。
优选的,所述提示单元,在判断结果为否时,向用户输出文本、图像或声音三种信息中的至少一种,提示用户对拍摄设备的姿态进行调整,所述信息中至少包含所记录的横滚角偏差、俯仰角偏差和航向角偏差。
优选的,所述装置还包括:用户拍摄模式获取模块、拍摄模块、文字识别模块和识别结果输出模块;所述用户拍摄模式获取模块,用于在所述姿态获取模块获取拍摄设备的当前姿态数据之前,获取用户设置的拍摄模式;
所述拍摄模块,用于在用户拍摄模式获取模块所获取的拍摄模式为文本拍摄模式时,响应用户拍摄指令进行拍摄,获得拍摄的图片;
所述文字识别模块,用于用文字识别工具对所拍摄的图片进行识别;
所述识别结果输出模块,用于向用户输出识别结果。
本发明实施例提供的这种拍摄辅助方法及装置,首先实时地从拍摄设备内置的姿态传感器获取拍摄设备的当前姿态数据,然后将所获取的所述当前姿态数据与预设的姿态角参考值比较,并基于比较结果,以预设方式给予用户拍摄辅助提示,相对于现有技术,能够辅助用户较快地将拍摄设备调至并保持在理想拍摄姿态,技术实现过程更加智能化。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供的这种拍摄辅助方法及装置,使得用户在拍摄时,能实时获得与拍摄设备当前姿态有关的信息提示,从而较快地将拍摄设备调至或保持在理想拍摄角度,技术体验更加智能化。
参见图1,图1所示为本发明实施例的一种拍摄辅助方法的一种流程示意图,包括以下步骤:
步骤S101,实时地从拍摄设备内置的姿态传感器获取拍摄设备的当前姿态数据;所述姿态数据包括横滚角角度值、俯仰角角度值和航向角角度值;
目前,市场上出售的很多拍摄设备,例如数码相机、数码摄像机、iPad以及智能手机等,大多都配置有各种姿态传感器,这些姿态传感器用于检测获得拍摄设备自身的姿态数据。
拍摄设备的姿态及其变化可以用一种三维运动姿态测量系统来描述。如图2所示,该姿态测量系统以横滚角(又叫横摇角,roll)、俯仰角(又叫纵摇角,pitch)和航向角(又叫偏航角,yaw)等参数描述立体空间中某物体的姿态,被广泛应用于航模无人机、机器人、人体运动分析等许多领域。上述航向角、横滚角和俯仰角可以合称为姿态角。在现有技术中,该三维运动姿态测量系统也应用于拍摄设备的姿态感知技术中。
在用户为了进行拍摄而对拍摄设备进行姿态调整的过程中,为了辅助用户将拍摄设备较快地调至并保持在理想拍摄角度,需要将实时获取的当前姿态数据与理想拍摄角度进行对比,再根据比较结果实时地给用户以合适的反馈,以辅助用户对拍摄设备的姿态进行正确的调整。
每个姿态数据都由三个姿态角组成。在一个三维姿态坐标系中,横滚角数据的取值范围为(-90°,90°],俯仰角数据的取值范围为(-180°,180°],航向角数据的取值范围为[0°,360°)。
步骤S102,将当前姿态数据中的横滚角角度值与预设的横滚角参考值比较,获得横滚角偏差;将当前姿态数据中的俯仰角角度值与预设的俯仰角参考值比较,获得俯仰角偏差;将当前姿态数据中的航向角角度值与预设的航向角参考值比较,获得航向角偏差;
预设的横滚角参考值、俯仰角参考值和航向角参考值可以是对于实现用户的拍摄目的来说任何的合理经验值。它们可以由系统默认设定,也可以由用户随时根据需要进行更改。
比如,如果希望对一个竖直墙面上的画像进行精细拍摄,用户可以将横滚角参考值设为0°,将俯仰角参考值设为90°,将航向角参考值设为0°。
但本发明实施例允许预先设置的多个横滚角参考值,同理,也允许多个俯仰角参考值或者多个航向角参考值。
比如,可以使多个预设的横滚角参考值为-90°、0°、90°,所述多个预设的俯仰角参考值为-180°、-90°、0°、90°、180°,所述多个预设的航向角参考值为0°、90°、180°、270°、360°。
这是因为在应用于某些目的的本发明实施例中,用户所希望的理想拍摄姿态也许不止一个。在这些应用中,所述将当前姿态数据中的横滚角角度值与预设的横滚角参考值比较,获得横滚角偏差的步骤,为:将当前姿态数据中的横滚角角度值与多个预设的横滚角参考值比较,记录比较结果中绝对值最小的差值作为横滚角偏差;
所述将当前姿态数据中的俯仰角角度值与预设的俯仰角参考值比较,获得俯仰角偏差的步骤,为:将当前姿态数据中的俯仰角角度值与多个预设的俯仰角参考值比较,记录比较结果中绝对值最小的差值作为俯仰角偏差;
所述将当前姿态数据中的航向角角度值与预设的航向角参考值比较,获得航向角偏差的步骤,为:将当前姿态数据中的俯仰角数据与多个预设的航向角参考值比较,记录比较结果中绝对值最小的差值作为航向角偏差。
这是因为当用户所希望的理想拍摄姿态不止一个时,本发明需要实时判断在某一时刻,用户所希望的理想拍摄姿态为多个理想拍摄姿态中的哪一个。对应于多个理想拍摄姿态,无论是横滚角、俯仰角还是航向角,其参考值也将是多个值而不是一个值。但在某一时刻,针对于特定的横滚角、俯仰角和航向角,最终被选择作为参考值的横滚角、俯仰角和航向角只有一个。这样做的物理意义在于:在某一时刻,当前拍摄设备一般只与某一个理想拍摄姿态最接近,本发明实施例将从多个理想拍摄姿态中选出这个最接近的理想拍摄姿态,将当前拍摄设备姿态与之进行对比,并依据该偏差给予用户提示,以辅助用户将拍摄设备调至或提醒用户拍摄设备已经基本处于某一理想拍摄姿态。
还以横滚角参考值为-90°、0°、90°之一,俯仰角参考值为-180°、-90°、0°、90°、180°之一,航向角参考值为0°、90°、180°、270°、360°之一为例:
如果在某一时刻所获取到的拍摄设备的当前姿态数据为(8°,4°,1°),即横滚角为8°,俯仰角为4°,航向角为1°,则在此时刻,本发明实施例选取0°作为横滚角参考值。因为将横滚角8°与-90°、0°、90°三个参考值相减:8°-(-90°)=98°,8°-0°=8°,8°-90°=-82°,在98°,8°,-82°三个差值中,差值8°的绝对值最小。而8°就是此时的所计算出的横滚角偏差。
同理,将俯仰角4°与-180°、-90°、0°、90°、180°五个参考值相减,因为4°与0°相减所获得的差值的绝对值最小,所以在此时刻,选取0°作为俯仰角参考值,而俯仰角偏差为4°;将航向角1°与0°、90°、180°、270°、360°五个参考值相减,其中与0°的差值的绝对值最小,所以在此时刻,选取0°作为航向角参考值,而航向角偏差为1°。
在此时刻,这些计算获得的偏差的物理意义为:拍摄设备横滚角需要减小8°,俯仰角需要减小4°,航向角需要减小1°,即可以达到用户所希望的理想拍摄姿态中的某一个。
步骤S103,当所获得的横滚角偏差、俯仰角偏差和航向角偏差满足不同的预设条件时,以预设方式给予用户不同的拍摄辅助提示。
在执行完步骤S102、获得横滚角偏差、俯仰角偏差和航向角偏差之后,分析判断这些偏差数据,并根据不同情况给出不同的用户提示。
判断横滚角偏差、俯仰角偏差和航向角偏差三个数据是否符合以下条件:横滚角偏差的绝对值小于第一预设定阈值、且俯仰角偏差的绝对值小于第二预设定阈值、且航向角偏差的绝对值小于第三预设定阈值;
如果判断结果为是,以文本、图像或声音三种信息中的至少一种,提示用户拍摄设备已处于理想拍摄姿态;在此情况下,本发明实施例所给予用户的提示可用于提醒用户进行拍摄,而且,在某些实施例中,也可用于辅助用户保持拍摄设备的当前姿态。
如果判断结果为否,以文本、图像或声音三种信息中的至少一种,提示用户对拍摄设备的姿态进行调整。
所述第一预设定阈值、第二预设定阈值和第三预设定阈值,可以相等,也可以不相等。三个阈值可以都设为0度,但一般来说,它们会被设置为三个很小的数值。这三个阈值的用途在于,拍摄设备只需要比较接近某一理想拍摄姿态,本发明实施例就会提醒用户用户拍摄设备已处于理想拍摄姿态。一般来说,依经验值,第一预设定阈值设定为3°,第二预设定阈值设定为3°,第三预设定阈值为设定5°。
横滚角偏差的绝对值小于第一预设定阈值、且俯仰角偏差的绝对值小于第二预设定阈值、且航向角偏差的绝对值小于第三预设定阈值这三个条件中只要有一个不被满足,则可以向用户输出文本、图像或声音三种信息中的至少一种,所述信息中至少包含所记录的横滚角偏差、俯仰角偏差和航向角偏差,以提示用户对拍摄设备的姿态进行调整。
还使用上文中的例子,即拍摄设备的姿态偏差为(8°,4°,1°),也就是说,拍摄设备横滚角需要减小8°,俯仰角需要减小4°,航向角需要减小1°。提示用户调整的方法有很多种,可以直接将姿态偏差数据输出到屏幕上,也可以以声音方式提示偏差数据,或者将偏差转化为用户易懂的模式,比如:“请左转8°,下俯4°,左偏1°”。
一种较好的实施例是利用文字和图像的结合,如图3所示。图3中,沿着拍摄设备的纵向中轴线画出了一条虚线,在虚线的右上角,给出了“请左转8°,下俯4°,左偏1°”这样的提示,同时在虚线上,分别绘制了三条箭头,以图形化的方式提示用户对拍摄设备进行姿态调整的方向,其中弯曲的箭头表示拍摄设备所需要的横滚调整,向下的直箭头表示俯仰角度的调整,向左的直箭头表示航向角度的调整。
也可以以仿真动画的方式进行用户提示。可以在拍摄设备的屏幕的一角,根据拍摄设备当前姿态绘制一个拍摄设备(或者其示意),再根据其当前对应的理想拍摄姿态绘制一个拍摄设备(或者其示意),并以动画的方式、反复向用户展示当前姿态应如何地向预定义标准姿态调整。当然,类似的合理提示方式有很多,本发明实施例在此不做限定。
本发明实施例的一个常用的应用场景为:辅助用户进行文本拍摄并将所拍摄到的文本用于文字识别目的。因此,执行步骤S101之前,本发明所公开的方法还包括步骤:获取用户设置的拍摄模式,当用户设置的拍摄模式为文本拍摄模式时,所述方法还包括:响应用户拍摄指令进行拍摄,获得拍摄的图片;用文字识别工具对所拍摄的图片进行识别;向用户输出识别结果。
为了最终的文字识别的目的,可以要求用户所将要进行的拍摄的拍摄模式为文本拍摄模式。如果经检测,用户已将拍摄模式设置为文本拍摄模式,则继续检测并响应用户的拍摄指令,然后进行拍摄。在获得拍摄图片之后,对图片进行文字识别,并将识别结果输出给用户。这时的输出可以为将拍摄结果直接输出到拍摄设备的屏幕,用户可以对识别结果进行放大、缩小、挪移、翻页等操作。如果用户觉得识别结果比较满意,就结束本次拍摄和识别;如果用户觉得识别结果不满意,本发明实施例可以通过一个指令按钮接收用户的指令并重新从步骤S101开始执行辅助拍摄的流程。
由图1所示实施例可见,本发明实施例实时地从拍摄设备内置的姿态传感器获取拍摄设备的当前姿态数据,将当前姿态数据中的姿态角角度值与预设的姿态角参考值比较,并根据比较结果,以预设方式在不同情况下给予用户不同的拍摄辅助提示。由于使用了姿态传感器获知拍摄设备的当前姿态并相应地给予用户提示,相对于人体感官的感知方式,本发明能够辅助用户较快地将拍摄设备调至并保持在某些理想拍摄姿态。
相应于上面的方法实施例,本发明还提供了一种拍摄辅助装置。
参见图4,图4所示为本发明实施例的一种拍摄辅助装置的结构示意图,与图1所示方法的一种流程示意图相对应,该装置包括:姿态获取模块401,比较模块402和提示模块403。其中:
姿态获取模块401,用于实时获取拍摄设备的当前姿态数据;所述姿态数据包括横滚角角度值、俯仰角角度值和航向角角度值;
比较模块402,用于将当前姿态数据中的横滚角角度值与预设的横滚角参考值比较,获得横滚角偏差;将当前姿态数据中的俯仰角角度值与预设的俯仰角参考值比较,获得俯仰角偏差;将当前姿态数据中的航向角角度值与预设的航向角参考值比较,获得航向角偏差;
在某些实施例中,横滚角参考值、俯仰角参考值和航向角参考值都可以为多个,此时,所述比较模块具体用于:
将当前姿态数据中的横滚角角度值与多个预设的横滚角参考值比较,记录比较结果中绝对值最小的差值作为横滚角偏差;将当前姿态数据中的俯仰角角度值与多个预设的俯仰角参考值比较,记录比较结果中绝对值最小的差值作为俯仰角偏差;将当前姿态数据中的俯仰角数据与多个预设的航向角参考值比较,记录比较结果中绝对值最小的差值作为航向角偏差。
具体地,比如,所述比较模块用到的所述多个预设的横滚角参考值为:-90°、0°、90°,所述比较模块用到的所述多个预设的俯仰角参考值为:-180°、-90°、0°、90°、180°,所述比较模块用到的所述多个预设的航向角参考值为:0°、90°、180°、270°、360°。
提示模块403,用于当所获得的横滚角偏差、俯仰角偏差和航向角偏差满足不同的预设条件时,以预设方式给予用户不同的拍摄辅助提示。
所述提示模块403,包括:
判断单元,用于判断横滚角偏差、俯仰角偏差和航向角偏差三个数据是否符合以下条件:横滚角偏差的绝对值小于第一预设定阈值、且俯仰角偏差的绝对值小于第二预设定阈值、且航向角偏差的绝对值小于第三预设定阈值;
提示单元,用于如果所述判断单元的判断结果为是,以文本、图像或声音三种信息中的至少一种,提示用户拍摄设备已处于理想拍摄姿态,如果判断结果为否,以文本、图像或声音三种信息中的至少一种,提示用户对拍摄设备的姿态进行调整。
其中,所述提示单元可以设置为在判断结果为否时,向用户输出文本、图像或声音三种信息中的至少一种,提示用户对拍摄设备的姿态进行调整,所述信息中至少包含所记录的横滚角偏差、俯仰角偏差和航向角偏差。
当本发明实施例用于文字识别的目的时,图4所示装置还可以包括:用户拍摄模式获取模块、拍摄模块、文字识别模块和识别结果输出模块;
所述用户拍摄模式获取模块,用于在所述姿态获取模块获取拍摄设备的当前姿态数据之前,获取用户设置的拍摄模式;
所述拍摄模块,用于在用户拍摄模式获取模块所获取的拍摄模式为文本拍摄模式时,响应用户拍摄指令进行拍摄,获得拍摄的图片;
所述文字识别模块,用于用文字识别工具对所拍摄的图片进行识别;
所述识别结果输出模块,用于向用户输出识别结果。
由图4所示的实施例可见,本发明实施例实时地从拍摄设备内置的姿态传感器获取拍摄设备的当前姿态数据,将当前姿态数据中的姿态角角度值与预设的姿态角参考值比较,并根据比较结果,以预设方式在不同情况下给予用户不同的拍摄辅助提示。由于使用了姿态传感器获知拍摄设备的当前姿态并相应地给予用户提示,相对于人体感官的感知方式,本发明能够辅助用户较快地将拍摄设备调至并保持在某些理想拍摄姿态。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程描述,因此,在本装置说明中,叙述较简,只对若干重点技术要点进行了描述。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本领域普通技术人员可以理解实现上述方法实施方式中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于计算机可读取存储介质中,这里所称得的存储介质,如:ROM/RAM、磁碟、光盘等。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。