投影图像校正方法、校正装置及机器人
技术领域
本发明涉及投影技术领域,特别是涉及一种投影图像校正方法、校正装置及机器人。
背景技术
在目前常用的光学投影技术中,为了得到清晰而且对焦准确的投影图像,需要一面平整的墙或者幕作为投影面。而且根据投影的光学原理,如图1所示,投影光轴A应保持与投影面(墙或幕)的相互垂直的位置关系,否则会导致投影图像在投影面上出现畸变。
随着机器人技术的不断发展,小型化以及智能化等的要求,机器人(或其他类似的智能设备)越来越多的选择使用投影装置作为向用户展示图像或者内容的方式,光学投影装置的应用范围也越来越广泛。
在实现本发明的过程中,发明人发现相关技术存在以下问题:在投影装置的使用过程中,由于不同场景的限制,无法保持投影光轴A与投影面保持相互垂直的理想状态,例如,投影装置应用在机器人上时,由于用户的最佳视角为正对图像的中心区,机器人如果也要投影光轴垂直于墙面或投影幕,则很可能自己把用户挡在了后面。
而在投影过程中,若投影光轴与投影面之间的倾斜角度较大时,投影图像将出现非常明显的非等比例拉伸失真,用户观感体验极差。
发明内容
本发明实施方式主要目的是在投影光轴与投影面存在倾斜角度时,降低投影图像的拉伸和失真,提高投影图像的稳定性。
为解决上述技术问题,本发明实施方式采用的一个技术方案是:提供一种投影图像校正方法。所述方法包括:
获取投影光轴长度以及投影点与投影图像边缘点的距离;所述投影图像边缘点为:穿过投影光轴的光轴点的垂线与投影图像边缘的交点;根据视场角、所述投影光轴长度和投影点与投影图像边缘点的距离,计算投影图像在投影面上像素点的变形比例;以及根据所述变形比例,调整投影图像。
可选地,所述投影点与投影图像边缘点的距离包括:投影点与水平穿过光轴点的直线形成的投影图像边缘点之间的第一横向距离和第二横向距离,投影点与垂直穿过光轴点的直线形成的投影图像边缘点之间的第一纵向距离和第二纵向距离。
可选地,所述视场角包括:水平方向的宽度角和垂直方向的高度角;所述投影面与水平面垂直,所述投影光轴与水平面平行,
所述计算投影图像在投影面上像素点的变形比例具体包括:根据宽度角、所述投影光轴长度、第一横向距离和第二横向距离,计算投影图像在投影面上像素点的横向变形比例;根据所述高度角和横向变形比例,计算投影图像在投影面上像素点的纵向变形比例。
可选地,所述投影图像的横向方向具有m个像素点,纵向方向具有n个像素点,通过如下算式计算所述横向方向上的m个像素点对应的纵向变形比例:
b1=n×a1
b2=n×a1+a1×tanγ
b3=n×a1+(a1+a2)×tanγ
……
bm=n×a1+(a1+a2+…+am-1)×tanγ
其中,a1,a2,…,am为所述横向方向上的m个像素点对应的横向变形比例,γ为所述高度角,b1,b2,b3,…,bm为所述横向方向上的m个像素点对应的纵向变形比例。
可选地,所述视场角包括:水平方向的宽度角和垂直方向的高度角;所述计算投影图像在投影面上像素点的变形比例具体包括:根据高度角、所述投影光轴长度、第一纵向距离和第二纵向距离,计算投影图像在投影面上像素点的纵向变形比例;
根据所述宽度角和所述纵向变形比例,计算投影图像在投影面上像素点的横向变形比例。可选地,所述根据所述变形比例,调整投影图像,具体包括:
根据所述横向变形比例,将投影图像的每一行压缩或者拉伸为正常显示宽度;
根据所述纵向变形比例,将投影图像的每一列压缩或者拉伸为正常显示高度。
可选地,所述计算投影图像在投影面上像素点的横向变形比例,具体包括:
根据宽度角,计算像素点的光路角;
根据宽度角,投影光轴长度和投影图像边缘与投影点之间的距离,计算投影光轴与投影面之间的第一夹角;
根据所述光路角和第一夹角,计算获得像素点的横向变形比例。可选地,所述横向变形比例的光路角具体通过如下方法计算:
通过如下算式,计算像素点的标准宽度:
其中,为所述宽度角的一半;a为像素点的标准宽度,n为投影图像中每行包括的像素点数量,L为投影光轴长度;
通过如下算式,依次计算各个像素点相对应的光路角:
αn为第n个像素点对应的光路角。
可选地,所述横向变形比例的第一夹角具体通过如下方法计算:
通过如下算式,计算投影光轴的光轴点与投影图像边缘点之间的距离:
其中,DC为投影光轴在投影面上的光轴点与投影图像边缘点之间的的距离,L为投影光轴长度,L1为投影点与投影图像边缘点之间的距离,为所述宽度角的一半;
根据光轴点与投影图像边缘点之间的距离,通过如下算式,计算所述第一夹角:
其中,β为所述第一夹角。
可选地,所述横向变形比例通过如下算式计算:
其中,y为第n-1个像素点的宽度;z为第n个像素点的宽度;为所述横向变形比例,αn为第n个像素点的光路角。
可选地,所述根据所述变形比例,调整投影图像,具体包括:
根据所述变形比例,生成对应的校正曲线;
使用所述校正曲线,对应调整所述投影图像的形状尺寸;
将调整后的投影图像投影至所述投影面上。
为解决上述技术问题,本发明实施方式采用的又一个技术方案是提供一种投影图像校正装置。该装置包括:测距模块,用于获取投影光轴长度以及投影点与投影图像边缘点的距离;所述投影图像边缘点为:穿过投影光轴的光轴点的垂线与投影图像边缘的交点;
计算模块,用于根据视场角、所述投影光轴长度和投影点与投影图像边缘点的距离,计算投影图像在投影面上像素点的变形比例;
调整模块,用于根据所述变形比例,调整投影图像。
可选地,所述投影点与投影图像边缘点的距离包括:投影点与水平穿过光轴点的直线形成的投影图像边缘点之间的第一横向距离和第二横向距离,投影点与垂直穿过光轴点的直线形成的投影图像边缘点之间的第一纵向距离和第二纵向距离。
可选地,所述视场角包括:水平方向的宽度角和垂直方向的高度角;所述投影面与水平面垂直,所述投影光轴与水平面平行,
所述计算模块具体用于:根据宽度角、所述投影光轴长度、第一横向距离和第二横向距离,计算投影图像在投影面上像素点的横向变形比例。可选地,所述投影图像的横向方向具有m个像素点,纵向方向具有n个像素点,通过如下算式计算所述横向方向上的m个像素点对应的纵向变形比例;
所述计算模块具体用于,通过如下算式计算所述横向方向上的m个像素点对应的纵向变形比例:
b1=n×a1
b2=n×a1+a1×tanγ
b3=n×a1+(a1+a2)×tanγ
……
bm=n×a1+(a1+a2+…+am-1)×tanγ
其中,a1,a2,…,am为所述横向方向上的m个像素点对应的横向变形比例,γ为所述高度角,b1,b2,b3,…,bm为所述横向方向上的m个像素点对应的纵向变形比例。
可选地,所述视场角包括:水平方向的宽度角和垂直方向的高度角;
所述计算模块具体用于:根据高度角、所述投影光轴长度、第一纵向距离和第二纵向距离,计算投影图像在投影面上像素点的纵向变形比例;
根据所述宽度角和所述纵向变形比例,计算投影图像在投影面上像素点的横向变形比例。
可选地,所述调整模块具体用于:
根据所述横向变形比例,将投影图像的每一行压缩或者拉伸为正常显示宽度;
根据所述纵向变形比例,将投影图像的每一列压缩或者拉伸为正常显示高度。
可选地,所述计算模块具体用于:根据宽度角,计算像素点的光路角;根据宽度角,投影光轴长度和投影图像边缘与投影点之间的距离,计算投影光轴与投影面之间的第一夹角;根据所述光路角和第一夹角,计算获得像素点的横向变形比例。
可选地,所述计算模块具体用于:
通过如下算式,计算像素点的标准宽度:
其中,为所述宽度角的一半;a为像素点的标准宽度,n为投影图像中每行包括的像素点数量,L为投影光轴长度;
通过如下算式,依次计算各个像素点相对应的光路角:
αn为第n个像素点对应的光路角。
可选地,所述计算模块具体用于:
所述横向变形比例的第一夹角具体通过如下方法计算:
通过如下算式,计算投影光轴的光轴点与投影图像边缘点之间的距离:
其中,DC为投影光轴在投影面上的光轴点与投影图像边缘点之间的的距离,L为投影光轴长度,L1为投影点与投影图像边缘点之间的距离,为所述宽度角的一半;
根据光轴点与投影图像边缘点之间的距离,通过如下算式,计算所述第一夹角:
其中,β为所述第一夹角。
可选地,所述计算模块具体用于:通过如下算式计算所述变形比例:
其中,y为第n-1个像素点的宽度;z为第n个像素点的宽度;为所述横向变形比例,αn为第n个像素点的光路角。
可选地,所述调整模块还用于:根据所述变形比例,生成对应的校正曲线;使用所述校正曲线,对应调整所述投影图像的形状尺寸;将调整后的投影图像投影至所述投影面上。
为解决上述技术问题,本发明实施方式采用的又一个技术方案是提供包括至少一个投影装置、处理器以及测距单元;
所述测距单元用于获取投影光轴长度以及投影点与投影图像边缘点的距离;所述投影图像边缘点为:穿过投影光轴的光轴点的垂线与投影图像边缘的交点;所述处理器用于根据所述测距单元获取的投影光轴长度、投影点与投影图像边缘点的距离以及投影装置的视场角,计算投影图像在投影面上像素点的变形比例,以及根据所述变形比例,调整投影图像;所述投影装置用于将调整后的投影图像投影至投影面上。
可选地,所述机器人还包括动力装置;所述动力装置驱动所述机器人在投影装置的投影过程中移动;所述测距模块实时获取投影光轴长度以及投影点与投影图像边缘点的距离;所述处理器还用于根据所述投影光轴长度以及投影点与投影图像边缘点的距离的变化,相应的调整投影图像;所述投影装置用于将调整后的投影图像投影至投影面上。
为解决上述技术问题,本发明实施方式采用的又一个技术方案是提供一种包括软件代码部分的计算机程序产品。所述软件代码部分被配置用于当在计算机的存储器中运行时执行根据如上所述的方法步骤。
本发明实施例提供的投影图像校正方法,以几何数学的方式,通过距离参数以及投影装置自身的视场角等,计算投影图像的变形比例,并据此进行自动校正。通过该校正过程,令投影光轴与投影面之间在非理想状态下,仍然能够保持投影图像的正常显示,从而降低了投影过程中对于环境的要求,拓展了投影装置可正常使用的场景。
附图说明
图1为典型的光学投影装置在投影面的示意图;
图2为本发明实施例提供的执行投影图像校正方法的应用环境;
图3为典型的投影图像的像素点分布示意图;
图4为为本发明实施例提供的投影图像校正方法的方法流程图;
图5为本发明实施例提供的横向变形比例的计算方法示意图;
图6为本发明实施例提供的投影装置的使用场景示意图;
图7为本发明实施例提供的投影图像校正装置的功能框图;
图8为本发明实施例提供的电子设备的结构框图;
图9为本发明实施例提供的投影示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
光学投影装置是一种常用的,能够以较小的设备体积提供较大的显示图案的装置。如图1所示,在光学投影装置中,其具有固定的投影光轴AD以及供投影图像显示的投影面。投影光轴AD在投影面上的焦点D用于确定投影图像在投影面上的位置,焦点D位于投影图像的中央。光学投影装置根据输入的图像或者其它类型数据信号,在投影点A输出投影图像至投影面上,向用户展示。
图2为本发明实施例提供的执行投影图像校正方法的应用环境。如图2所示,该应用环境包括:用户10、投影装置20、投影面30、服务器40以及网络50。
用户10可以为具有任何数量的,具有相同或者相近操作行为的群体,例如家庭、工作组或者个人。用户10可以通过任何合适的类型的,一种或者多种用户交互设备与投影装置20交互,例如鼠标、键盘、遥控器、触摸屏、体感摄像头或者智能可穿戴设备,输入指令或者控制投影装置20执行一种或者多种操作,在投影面30上显示投影图像,向一个或者多个用户展示。
投影装置20可以为任何合适类型的光学投影装置。在一些实施例中,该投影装置20还可以作为其中一个功能模块,整合在具有一定逻辑运算能力,提供一个或者多个能够满足用户需求的功能的设备上。例如,智能机器人、手提电脑、扫地机器人、机器人助手等。
在一些实施例中,投影装置20还可以设置在具有移动能力的设备上,例如具有动力装置的机器人或者扫地机器人等。该设备可以根据用户的指令或者为满足特定的功能,按照一定的路线或者速度,移动投影装置20。在另一些实施例中,投影装置还可以设置在具有测距装置的设备上。该测距装置具体可以是任何合适的,用以获取与目标之间距离的测距装置,例如红外测距、激光测距装置等。
所述投影装置20还可以包括一个或者多个逻辑运算模块,单线程或者多线程并行执行任何合适类型的功能或者操作,例如执行特定的函数运算等。所述逻辑运算模块可以是任何合适类型的,能够执行逻辑运算操作的电子电路或者贴片式电子器件,例如单核心处理器、多核心处理器、图形处理器(GPU)。
所述设备上还可以设置有存储有供逻辑运算模块调用和执行的计算机可执行程序的存储介质,该程序在被所述逻辑运算模块执行用以实现对应的功能的一个或者多个步骤。
服务器30可以是任何合适的,用以执行账户管理的电子计算平台。用户10还可以通过任何合适的类型的,一种或者多种用户交互设备与服务器40交互,例如鼠标、键盘、遥控器、触摸屏、体感摄像头或者智能可穿戴设备,输入指令或者控制服务器40执行一种或者多种操作,例如输出投影图像数据至投影装置20中。
网络50可以是任何合适的,用以实现两个设备之间通信连接的有线或者无线网络,例如因特网、局域网或者有线线缆。服务器40可以通过网络50与一个或者多个不同的投影装置20建立通信连接,上传或者下发数据/指令。
在本应用环境中,本发明实施例提供的投影图像校正方法的计算步骤可以在任何合适的,具有逻辑运算能力的设备中执行,例如服务器、投影装置或者整合有投影装置的机器人。
应当说明的是,本发明实施例提供的投影图像校正方法还可以进一步的拓展至其它合适的,具有多账户管理需要的应用环境中,而不限于图2中所示的应用环境。虽然图2中仅显示了1个用户10,1个投影装置20,1个服务器40。但本领域技术人员可以理解的是,在实际应用过程中,该应用环境还可以包括更多或者更少的用户、投影装置以及服务器。
惯常的,如图3所示,投影图像可以以m列和n行的像素点组成的阵列表示。投影装置在非正对投影面的情况下,投影图像会存在横向方向x以及纵向方向y上的变形。投影装置可以分别计算投影图像中沿横向方向x或者纵向方向y上的变形比例,并根据变形比例对投影图像进行调整。
图4为本发明实施例提供的投影图像校正方法。该投影图像校正方法可以在图2所示的应用环境中执行,保证在投影装置在非正对投影面的情况下,投影图像的正常显示。
如图4所示,该方法包括如下步骤:
100:获取投影光轴长度以及投影点与投影图像边缘点的距离。其中,所述投影图像边缘点为穿过投影光轴的光轴点的垂线与投影图像边缘的交点。
如图9所示,投影光轴在投影面上对应的光轴点D。投影光轴长度和投影图像边缘点(如点B和点C)之间的距离可以通过相应的测距装置获得。实际可以使用任何合适类型的用以计算距离的传感器或者电子设备,例如红外测距装置。
200:根据视场角、所述投影光轴长度和投影点与投影图像边缘点的距离,计算投影图像在投影面上像素点的变形比例。
在正常的投影图像中,两两相邻的像素点之间的大小应该保持相等,例如图3所示的x1和x2应当相等。而在非理想的情况下,由于投影光轴的倾斜,会导致像素点大小比例出现变化,相邻的像素点大小不相等。在此,使用“变形比例”这样的词语描述上述像素点大小的比例变化。
该视场角是由投影装置的硬件装置决定的参数值,其与焦距等相关,可以通过查找投影装置内部的数据获得,该视场角能够表示投影图像的视野范围。如图9所示,视场角可以分为沿水平方向以及垂直方向的宽度角(角BAC)和高度角(角B1AC1)两个参数。
300:根据所述变形比例,调整投影图像。
由于光轴点D位于投影图像的中心。因此,可以将其作为基准点,调整输出前的投影图像避免投影图像的失真或者拉伸的出现。
对投影图像的调整为变形比例的反函数,例如,当计算变形比例为5时,则将投影图像中的对应行压缩为原来的五分之一,以保持投影图像的正常显示。
在一些实施例中,如图9所示,所述投影点与投影图像边缘点一共可以包括左右和上下两侧四个边缘点(即B点C点以及B1点和C1点)。相对应地,所述投影点A与投影图像边缘点的距离也可以包括投影点与水平穿过光轴点的直线形成的投影图像边缘点之间的第一横向距离AB和第二横向距离AC,投影点与垂直穿过光轴点的直线形成的投影图像边缘点之间的第一纵向距离AB1和第二纵向距离AC1。
如图3所示,该变形比例也可以总结两个相互垂直方向上的变形比例,即分别与高度角和宽度角对应的纵向变形比例和横向变形比例。
为了保证投影图像在整体上的正常显示,需要获得纵向变形比例和横向变形比例。在一些实施例中,根据宽度角、所述投影光轴长度、第一横向距离和第二横向距离,计算投影图像在投影面上像素点的横向变形比例,或者根据高度角、所述投影光轴长度、第一纵向距离和第二纵向距离,计算投影图像在投影面上像素点的纵向变形比例
假设所述投影面与水平面垂直,所述投影光轴与水平面平行时(即投影光轴与投影面之间只存在水平方向上的夹角),像素点的纵向变形比例也可以根据所述高度角和横向变形比例计算获得。
上述根据横向变形比例推导纵向变形比例的计算方式,能够在满足假设条件的情况下,减少纵向变形比例的计算量,提高运算的速度。
例如,假设所述投影面与水平面垂直,所述投影光轴与水平面平行,所述投影图像的横向方向具有m个像素点,纵向方向具有n个像素点:
由于各个像素点纵向上依然与水平面垂直,因此像素点之间可以认为是组成了多个相似梯形,纵向方向上的像素点大小相当。若以a1,a2,…,am表示所述横向方向上的m个像素点对应的横向变形比例。根据相似三角形原理,在对应的m个像素点的纵向变形比例b1,b2,…,bm应当为:
b1=n×a1
b2=n×a1+a1×tanγ,n×a1+(a1+a2)×tanγ
bm=n×a1+(a1+a2+…+am-1)×tanγ
其中,γ为高度角。
相对应地,在另一些实施例中,若投影光轴只存在垂直方向上与投影面之间的夹角时,还可以首先计算纵向变形比例,然后再通过相类似的计算方式,根据纵向变形比例计算横向变形比例。
在不符合上述假设的情况下(如投影面与水平面不垂直或者投影光轴与水平不平行,在水平方向和垂直方向上均存在夹角时),所述纵向变形比例则需要按照与横向变形比例相类似的方法计算,亦即需要根据高度角、所述投影光轴距离、第一纵向距离和第二纵向距离,计算投影图像在投影面上像素点的纵向变形比例。
在横向变形比例和纵向变形比例计算完毕后,可以分别根据所述横向变形比例,将投影图像的每一行压缩或者拉伸为正常显示宽度以及根据所述纵向变形比例,将投影图像的每一列压缩或者拉伸为正常显示高度。通过这样的校正方式,将待校正的投影图像进行相应的变形处理,使最终投影在投影面上的投影图像得以正常显示。
以下以图5所示的投影校正效果示意图为例,详细陈述上述投影图像的横向变形比例计算过程。本领域技术人员可以理解的是,在以下实施例中,只要将宽度角、第一横向距离和第二横向距离替换为相应的高度角、第一纵向距离和第二纵向距离即可用以计算纵向变形比例。
如图5所示,锐角BAC为投影装置的宽度角,假设横向方向上具有6个像素点,均匀的分布在理想投影面EF之间。
由于理想投影面EF与当前投影面之间形成一定的夹角。因此,投影图像DC会在横向方向上出现一定程度的拉伸变形,为计算拉伸形变的比例,需要进行如下的计算:
一方面,如图5所示,宽度角的角度α是已知量,α=2(α1+α2+α3),其中α1,α2,α3分别为像素点1、像素点2以及像素点3的光路角。
由图6中的几何关系可知:
L为投影光轴AD的长度,a为像素点的正常显示时的标准宽度。通过算式(1)可以计算获得a的值。
进一步地,根据算式(1)计算获得的像素点的标准宽度a,可以通过如下的算式依次求解光路角α1,α2,α3
另一方面,在三角形ADC中,根据余弦定理可知:
其中,AD为投影光轴长度,AC属于所述投影点与投影图像边缘点的距离。其分别可以通过测距模块测距获得,宽度角的角度α是已知量。因此,根据算式(2)可以获得DC。
根据正弦定理可知:
通过算式(2)计算获得的DC的值,可以求解获得投影光轴与投影面之间的倾斜角度β(即角ADC)。
在像素点1、像素点2以及像素点3与投影光轴AD围成的三角形中,根据正弦定理可知:
其中,x表示像素点1的宽度,y表示像素点2的宽度,z表示像素点3的宽度。
由于本发明实施例的目标在于计算变形比例。因此,可以联立算式(4-1)至(4-3),计算x与y的比值以及y与z的比值。
联立后:
根据以上的描述,可以看到,在联立算式(5-1)和(5-2)中,需要进行求解的未知量:各个像素点的光路角(α1,α2,α3)可以通过算式(1)的a值求解;投影光轴与投影面之间的倾斜角度β(即角ADC)则可以通过算式(2)和算式(3)求解。
因此,可以将算式(1),(2)和(3)求解的光路角和倾斜角度代入联立算式(5-1)和(5-2)中,求解像素点1,像素点2以及像素点3之间的变形比例。
根据以上实施例揭露的计算方法,本领域技术人员可以理解的是,在计算获得像素点相应的光路角以及投影光轴与投影面之间的倾斜角度β以后,即可计算任意像素点的变形比例(即x与y的比值以及y与z的比值)。同样地,应用相同原理的方法也可以拓展至具有n个像素点的情况中,计算n个像素点中任意像素点的变形比例。
在一些实施例中,基于几何数学的原理,在不同的已知量的前提下,还可以通过任何合适的方式计算获得像素点相应的光路角以及投影光轴与投影面之间的倾斜角度β,从而进一步的计算变形比例。
本领域技术人员可以理解的是,虽然,图5中显示的是横向方向为6个像素点的情况,但应用上述实施例揭露的思想和相同的几何数学原理,还可以进一步的推导至像素点为n个的情况。例如,在横向像素点数量为1080时,
在图5中,仅详细描述了在DC段,投影图像拉伸部分的校正过程。根据本发明实施例揭露的思想,投影图像中对应的压缩部分也可以采用相同的几何数学原理,计算获得其变形比例。
对于拉伸部分,其变形比例为大于1的正值。而对于压缩部分,其变形比例则为0-1之间的正值。
在一些实施例中,在计算获得投影图像的横向变形比例a1,a2,…,an以及纵向变形比例b1,b2,…,bm后,可以将其整合为相应的校正曲线,以便于计算机或者逻辑运算模块对投影图像进行调整。
整合获得的校正曲线可以存储在任何合适的存储介质中,投影装置应用该校正曲线对投影图像进行校正,并将校正后图像投影在投影面上。
应用本发明实施例提供的,执行有如上方法实施例中描述的投影图像校正方法的投影装置可以满足许多不同使用场景。例如,图6为其中的一种使用场景。
如图6所示,在该使用场景中,包括用户10,投影装置20以及投影面30。投影装置20设置在机器人上,沿轨迹z1以恒定的速度移动。机器人使用投影装置20,在投影面30上向用户10展示用于讲解的投影图像。
如图6所示,在沿轨迹z1的移动过程中,由于投影光轴的长度AD始终不变,因此,可以通过实时重复执行上述方法实施例提供的投影图像校正方法实现投影图像跟随机器人移动的实时调整。
请继续参阅图6,在另一些使用场景中,投影装置20还可以沿轨迹z2进行移动。在沿轨迹z2的移动过程中,投影光轴的长度AD会随时间发生变化。因此,投影装置20需要结合自身的变焦缩放保持投影图像的形状大小一致。
如上所述,根据光学投影原理,投影图像的高度和宽度均与投影光轴的长度AD成正比例关系。若假设在任意两个时刻的投影光轴的长度AD的长度变化比例为p,投影装置20可以将待校正的投影图像缩放为至原来的然后,再实时重复执行上述方法实施例提供的投影图像校正方法实现投影图像跟随机器人移动的实时调整。当然,还可以调整缩放和校正执行次序,即首先执行上述方法实施例提供的投影图像校正方法,然后再对投影图像进行缩放。
请继续参阅图6,在另一使用场景中,投影装置20也可以是位于固定位置z3处。在这样的使用场景中,投影装置20可以仅执行一次运算,获取对应的校正曲线,即可在投影过程中保持投影图像不被拉伸、变形或者其它的扭曲变形,保持用户10的观看体验。
在更多的使用场景中,投影装置20无论是否处于一个移动过程,其投影图像需要保持在一个稳定的位置中。亦即投影光轴AD的光轴点D的位置需要保持在稳定的位置上。具体令投影光轴保持指向光轴点D的方法为本领域技术人员所熟知,可以由机器人根据其运行轨迹以及其它合适的数据所调整和确定,在此不作赘述。
通过上述方法实施例提供的投影图像校正方法,可以使投影时光轴不必垂直于墙面或幕面也能保证图像不失真。进一步地,通过实时校正运算,还可以使投影设备在小范围移动的过程中也能够保证图像不移动不失真。
这极大的方便了装置有投影装置的机器人随时为主人在大屏幕上展示内容。一方面,其可以在图像侧方一边投影一边很方便的进行讲解自身不会挡住主人。另一方面,在环境条件不允许,不得不从侧面成一个角度进行投影,也不会造成图像失真。
该投影图像校正方法提供的实时校正还可以允许机器人在投影过程中进行小范围的移动,如更生动的讲解,或者移动去指示图中某项内容,或者在投影同时小范围移动去完成其他任务以提升效率等等,可以实现很多种新的场景,使用户体验极大的提升,满足用户的使用需求。
图7为本发明实施例提供的投影图像校正装置。该装置包括:测距模块100,计算模块200以及调整模块300。
其中,测距模块100用于获取投影光轴长度以及投影点与投影图像边缘点的距离;所述投影图像边缘点为:穿过投影光轴的光轴点的垂线与投影图像边缘的交点。计算模块200用于根据视场角、所述投影光轴长度和投影点与投影图像边缘点的距离,计算投影图像在投影面上像素点的变形比例。调整模块300用于根据所述变形比例,调整投影图像。
如图9所示,在投影装置,所述投影点与投影图像边缘点一共可以包括左右和上下两侧四个边缘点。
测距模块100获取到投影光轴长度以及投影点与投影图像边缘点的距离后,输出相应的数据至计算模块200中。计算模块200结合投影装置的一些固定参数,如视场角,计算投影图像在投影面上的变形比例,调整模块300获取计算模块200计算获得的变形比例,对投影图像进行校正后,再投影在投影面上。
例如,计算模块计算获得投影图像的某一行在投影面上的横向变形比例为2时,调整模块300将该行压缩为原来的二分之一,保持投影图像在投影面上的正常显示。
在一些实施例中,调整模块300还可以用于根据计算模块200计算获得的每个像素点相关的变形比例,生成对应的校正曲线,例如由横向方向上的变形比例组成的曲线和纵向方向上的变形比例组成的曲线。
在生成校正曲线后,调整模块300可以使用所述校正曲线,依次对投影图像进行校正,并将校正后投影图像投影至投影面上。
在另一些实施例中,所述计算模块300还可以应用如上方法实施例提供的计算方法,获取相应的数据,计算所述横向变形比例和/或纵向变形比例。
例如,在满足所述投影面与水平面垂直,所述投影光轴与水平面平行的假设条件下,根据宽度角、所述投影光轴长度、第一横向距离和第二横向距离,计算投影图像在投影面上像素点的横向变形比例;然后根据所述高度角和横向变形比例,计算投影图像在投影面上像素点的纵向变形比例,或者根据高度角、所述投影光轴长度、第一纵向距离和第二纵向距离,计算投影图像在投影面上像素点的纵向变形比例;然后根据所述宽度角和所述纵向变形比例,计算投影图像在投影面上像素点的横向变形比例。
图8是本发明实施例提供的电子设备的硬件结构示意图。该电子设备可以是任何合适的投影装置或者设置有投影装置的机器人。该机器人还可以具有一个或者多个动力装置,用以驱动机器人沿特定的轨迹移动。
如图8所示,该设备包括:一个或多个处理器810以及存储器820,图8中以一个处理器810为例。
处理器810、存储器820可以通过总线或者其他方式连接,图8中以通过总线连接为例。
存储器820作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本发明实施例中的投影图像校正方法对应的程序指令/模块(例如,图7所示的测距模块100,计算模块200以及调整模块300)。处理器810通过运行存储在存储器820中的非易失性软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例投影图像校正方法。
存储器820可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据投影图像校正装置的使用所创建的数据等。此外,存储器820可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器820可选包括相对于处理器820远程设置的存储器,这些远程存储器可以通过网络连接至投影图像校正装置。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
所述一个或者多个模块存储在所述存储器820中,当被所述一个或者多个处理器810执行时,执行上述任意方法实施例中的投影图像校正方法。
专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。所述的计算机软件可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体或随机存储记忆体等。
以上所述仅为本发明的实施方式,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。