发明内容
有鉴于此,本申请提供一种投影仪空间位置信息的采集方法、装置和计算机可读存储介质,以解决或者至少部分解决上述存在的问题。
为解决以上技术问题,本发明提供的技术方案是一种投影仪空间位置信息的采集方法,应用于投影仪,所述方法包括:
向投影面投射出标记图;其中,所述标记图上设置有中心标记点、左上标记点,左下标记点,右上标记点和右下标记点,所述左上标记点与所述右下标记点相对于所述中心标记点对称,所述左下标记点与所述右上标记点相对于所述中心标记点对称,所述中心标记点设置在所述标记图的中心位置;
拍摄所述投影面上的标记图生成标记图图像;
在所述标记图图像中提取出标记点区域;其中,标记点区域包括中心标记点区域、左上标记点区域、左下标记点区域、右上标记点区域和右下标记点区域;
计算中心标记点区域中的中心标记点坐标,根据中心标记点坐标计算出投影仪与投影面的距离;
计算左上标记点区域亮度值、左下标记点区域亮度值、右上标记点区域亮度值和右下标记点区域亮度值,根据左上标记点区域亮度值、左下标记点区域亮度值、右上标记点区域亮度值和右下标记点区域亮度值计算出投影仪相对于投影面的左右偏转方向、左右偏转度、上下俯仰方向和上下俯仰度。
进一步的,所述在所述标记图图像中提取出标记点区域的方法,包括:
在所述标记图图像中设置感兴趣区域,所述标记点区域位于所述感兴趣区域中;
对感兴趣区域进行滤波去躁处理;
计算感兴趣区域阈值T=(max*theta-mean*(1-theta))*beta,其中,max是感兴趣区域最大像素值,mean是像素值均值,theta,beta是可供调整的权重参数;
根据感兴趣区域阈值提取出标记点区域。
进一步的,所述根据中心标记点坐标计算出投影仪与投影面的距离的方法,包括:
获取中心标记点坐标与投影距离对应曲线函数;
将所述中心标记点的坐标代入所述中心标记点坐标与投影距离对应曲线函数中,获得投影仪与投影面的距离。
进一步的,所述获取中心标记点坐标与投影距离对应曲线函数的方法,包括:
在投影仪距离投影面不同距离时正投射出标记图,拍摄投影面上的标记图获取一系列标记图图像;
在所述一系列标记图图像中,提取各标记图图像中的中心标记点区域,计算各中心标记点坐标;
对计算出的所述各中心标记点坐标进行拟合,得到中心标记点坐标与投影距离对应曲线函数。
进一步的,所述根据左上标记点区域亮度值、左下标记点区域亮度值、右上标记点区域亮度值和右下标记点区域亮度值计算出投影仪相对于投影面的左右偏转方向、左右偏转度、上下俯仰方向和上下俯仰度的方法,包括:
将所述左上标记点区域亮度值与所述左下标记点区域亮度值求和,获得左侧标记点亮度值;
将所述右上标记点区域亮度值与所述右下标记点区域亮度值求和,获得右侧标记点亮度值;
根据所述左侧标记点亮度值和所述右侧标记点亮度值,获得投影仪相对于投影面的左右偏转方向和左右偏转度;
将所述左上标记点区域亮度值与所述右上标记点区域亮度值求和,获得上侧标记点亮度值;
将所述左下标记点区域亮度值与所述右下标记点区域亮度值求和,获得下侧标记点亮度值;
根据所述上侧标记点亮度值和所述下侧标记点亮度值,获得投影仪相对于投影面的上下俯仰方向和上下俯仰度。
进一步的,所述根据所述左侧标记点亮度值和所述右侧标记点亮度值,获得投影仪相对于投影面的左右偏转方向和左右偏转度的方法,包括:
判断所述左侧标记点亮度值是否等于所述右侧标记点亮度值,若是,则确定投影仪左右未偏转;
若否,则判断所述左侧标记点亮度值是否大于所述右侧标记点亮度值,若是,则确定投影仪相对于投影面向右偏转,并计算右偏转度,所述右偏转度计算公式为(左侧标记点亮度值-右侧标记点亮度值)/左侧标记点亮度值*预设右偏转度参数;若否,则确定投影仪相对于投影面向左偏转,并计算左偏转度,所述左偏转度计算公式为(右侧标记点亮度值-左侧标记点亮度值)/右侧标记点亮度值*预设左偏转度参数。
进一步的,所述根据所述上侧标记点亮度值和所述下侧标记点亮度值,获得投影仪相对于投影面的上下俯仰方向和上下俯仰度的方法,包括:
判断所述上侧标记点亮度值是否等于所述下侧标记点亮度值,若是,则确定投影仪上下未偏转;
若否,则判断所述上侧标记点亮度值是否大于所述下侧标记点亮度值,若是,则确定投影仪相对于投影面向下偏转,并计算下偏转度,所述下偏转度计算公式为(上侧标记点亮度值-下侧标记点亮度值)/上侧标记点亮度值*预设下偏转度参数;若否,则确定投影仪相对于投影面向上偏转,并计算上偏转度,所述上偏转度计算公式为(下侧标记点亮度值-上侧标记点亮度值)/下侧标记点亮度值*预设上偏转度参数。
本发明还提供一种投影仪空间位置信息的采集装置,应用于投影仪,所述装置包括:
投影模块,用于向投影面投射出标记图;其中,所述标记图上设置有中心标记点、左上标记点,左下标记点,右上标记点和右下标记点,所述左上标记点与所述右下标记点相对于所述中心标记点对称,所述左下标记点与所述右上标记点相对于所述中心标记点对称,所述中心标记点设置在所述标记图的中心位置;
拍摄模块,用于拍摄所述投影面上的标记图生成标记图图像;
区域提取模块,用于在所述标记图图像中提取出标记点区域;其中,标记点区域包括中心标记点区域、左上标记点区域、左下标记点区域、右上标记点区域和右下标记点区域;
距离计算模块,用于获取中心标记点区域的中心标记点坐标,根据中心标记点坐标计算出投影仪与投影面的距离;
角度计算模块,用于获取左上标记点区域亮度值、左下标记点区域亮度值、右上标记点区域亮度值和右下标记点区域亮度值,根据左上标记点区域亮度值、左下标记点区域亮度值、右上标记点区域亮度值和右下标记点区域亮度值计算出投影仪相对于投影面的左右偏转方向、左右偏转度、上下俯仰方向和上下俯仰度。
进一步的,所述区域提取模块包括:
区域设置单元,用于在所述标记图图像中设置感兴趣区域,所述标记点区域位于所述感兴趣区域中;
区域处理单元,用于对感兴趣区域进行滤波去躁处理;
区域计算单元,用于计算感兴趣区域阈值T=(max*theta-mean*(1-theta))*beta,其中,max是感兴趣区域最大像素值,mean是像素值均值,theta,beta是可供调整的权重参数;
区域提取单元,用于根据感兴趣区域阈值提取出标记点区域。
进一步的,所述距离计算模块包括:
函数获取单元,用于获取中心标记点坐标与投影距离对应曲线函数;
距离计算单元,用于将所述中心标记点的坐标代入所述中心标记点坐标与投影距离对应曲线函数中,获得投影仪与投影面的距离。
进一步的,所述角度计算模块包括:
左侧求和单元,用于将所述左上标记点区域亮度值与所述左下标记点区域亮度值求和,获得左侧标记点亮度值;
右侧求和单元,用于将所述右上标记点区域亮度值与所述右下标记点区域亮度值求和,获得右侧标记点亮度值;
左右偏转计算单元,用于根据所述左侧标记点亮度值和所述右侧标记点亮度值,获得投影仪相对于投影面的左右偏转方向和左右偏转度;
上侧求和单元,用于将所述左上标记点区域亮度值与所述右上标记点区域亮度值求和,获得上侧标记点亮度值;
下侧求和单元,用于将所述左下标记点区域亮度值与所述右下标记点区域亮度值求和,获得下侧标记点亮度值;
上下偏转计算单元,用于根据所述上侧标记点亮度值和所述下侧标记点亮度值,获得投影仪相对于投影面的上下俯仰方向和上下俯仰度。
本发明还提供一种投影仪空间位置信息的采集装置,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序以实现上述投影仪空间位置信息的采集方法的步骤。
本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述投影仪空间位置信息的采集方法的步骤。
本申请与现有技术相比,其有益效果详细说明如下:本申请提供的投影仪空间位置信息的采集方法通过向投影面投射出标记图,拍摄投影面上的标记图生成标记图图像,在标记图图像中提取出标记点区域,根据中心标记点坐标计算出投影仪与投影面的距离,根据左上标记点区域亮度值、左下标记点区域亮度值、右上标记点区域亮度值和右下标记点区域亮度值计算出投影仪相对于投影面的左右偏转方向、左右偏转度、上下俯仰方向和上下俯仰度的方法,能够准确快速的获取投影仪空间位置信息数据,该数据能够用于了解和分析客户使用喜好,为研发改进投影仪提供参考数据。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本发明保护范围。
为了使本领域的技术人员更好地理解本发明的技术方案,下面结合附图和具体实施例对本发明作进一步的详细说明。
如图1所示,本发明实施例一提供一种投影仪空间位置信息的采集方法,应用于投影仪,该方法包括步骤:
S1:向投影面投射出标记图;其中,该标记图上设置有中心标记点、左上标记点,左下标记点,右上标记点和右下标记点,左上标记点与右下标记点相对于中心标记点对称,左下标记点与右上标记点相对于中心标记点对称,中心标记点设置在标记图的中心位置;
S2:拍摄投影面上的标记图生成标记图图像;
S3:在标记图图像中提取出标记点区域;其中,标记点区域包括中心标记点区域、左上标记点区域、左下标记点区域、右上标记点区域和右下标记点区域;
S4:计算中心标记点区域中的中心标记点坐标,根据中心标记点坐标计算出投影仪与投影面的距离;
S5:计算左上标记点区域亮度值、左下标记点区域亮度值、右上标记点区域亮度值和右下标记点区域亮度值,根据左上标记点区域亮度值、左下标记点区域亮度值、右上标记点区域亮度值和右下标记点区域亮度值计算出投影仪相对于投影面的左右偏转方向、左右偏转度、上下俯仰方向和上下俯仰度。
需要说明的是,投影仪的空间位置信息包括投影仪距离投影面的距离,投影仪的偏转角和俯仰角,本申请方案利用单目测距的原理,利用固定标记点在不同的距离下,在摄像头拍摄的成像位置有变化的原理进行采集。
如图2所示,这里采用了在标记图的5个位置设置标记点,分别位于中心、左上、左下、右上和右下位置,可以在每个位置设置1个标记点,也可以在每个位置设置超过1个标记点,共采用超过5个标记的其他类似标记。标记图可以为矩形,也可以为其他形状,5个标记点的分布满足左上标记点与右下标记点相对于中心标记点对称,左下标记点与右上标记点相对于中心标记点对称,中心标记点设置在标记图的中心位置。
如图3所示,在步骤S3中在标记图图像中提取出标记点区域的方法,包括:
S31:在标记图图像中设置感兴趣区域,标记点区域位于感兴趣区域中;
S32:对感兴趣区域进行滤波去躁处理;
S33:计算感兴趣区域阈值T=(max*theta-mean*(1-theta))*beta,其中,max是感兴趣区域最大像素值,mean是像素值均值,theta,beta是可供调整的权重参数;
S34:根据感兴趣区域阈值提取出标记点区域。
需要说明的是,提取出标记点区域的方法包括:1)预设一个感兴趣区域,使得在任意情况,标记点都会在这个感兴趣区域中;2)对感兴趣区域图像进行滤波去躁,如高斯滤波,均值滤波等;3)计算感兴趣区域阈值T=(max*theta–mean*(1-theta))*beta,Max是感兴趣区域最大像素值,mean是均值,theta,beta是可供调整的权重参数,4)根据感兴趣区域阈值提取到标记点区域。
具体的,步骤S4中根据中心标记点坐标计算出投影仪与投影面的距离的方法,包括:获取中心标记点坐标与投影距离对应曲线函数,将所述中心标记点的坐标代入所述中心标记点坐标与投影距离对应曲线函数中,获得投影仪与投影面的距离。
其中,获取中心标记点坐标与投影距离对应曲线函数的方法,包括:
S41:在投影仪距离投影面不同距离时正投射出标记图,拍摄投影面上的标记图获取一系列标记图图像;
S42:在一系列标记图图像中,提取各标记图图像中的中心标记点区域,计算各中心标记点坐标;
S43:对计算出的所述各中心标记点坐标进行拟合,得到中心标记点坐标与投影距离对应曲线函数。
需要说明的是,获取中心标记点坐标与投影距离对应曲线函数的方法具体包括:
(1)设计一张含有5个标记点呈对称分布的标记图;
(2)用投影设备投射出标记图,在距离投影面不同距离下,分别拍摄到一系列标记图图像;
(3)提取(2)中得到的一系列标记图图片,提取标记图图像中的中心标记点坐标;具体方法包括:
1)预设一个感兴趣区域,使得在任意情况,中心标记点都会在这个感兴趣区域中;
2)对感兴趣区域图像进行滤波去躁,如高斯滤波,均值滤波等;
3)计算感兴趣区域阈值T=(max*theta–mean*(1-theta))*beta,Max是感兴趣区域最大像素值,mean是均值,theta,beta是可供调整的权重参数;
4)根据感兴趣区域阈值提取到中心标记点区域,中心标记点区域的中心坐标作为最终的中心标记点坐标;
5)对每一张标记图图像通过(1)-(4)的处理都可以得到一组中心标记点坐标数据;
(4)对提取的中心标记点坐标数据做拟合,得到中间标记点坐标的变化曲线,该曲线是符合二次曲线变化;
(5)在实际定位投影距离时,把获取的中心标记点坐标带入到二次曲线中,计算得到投影离投影面的距离。
(6)根据(3)的1-4步骤分别提取其他4个标记点区域,统计四个标记点区域的亮度。
因为有投影角度时,左边与右边点到投影仪的距离会不一样,上边和下边到投影仪距离会不一样,lum1表示左上角区域亮度值,lum2表示右上角区域亮度值,lum3表示左下角区域亮度值,lum4表示右下角区域亮度值,如果lum1+lum3>lum2+lum4,则投影往右边偏,偏移的角度根据两者的差值计算,同理,其他的角度偏移也是用这种方法统计。
在投影仪对正投影面投影时,在不同距离下,采集的各个标记点的亮度信息和拍摄到各个标记点的坐标做统计分析,得到模型。计算出中心标记点的位置信息,根据上述得到的模型,可以计算投影仪距离投影面的距离。
其中,计算标记点坐标的方法可以为提取到标记点区域后,根据标记点区域的像素值大小,计算重心,计算重心采用普遍共识的计算公式,标记点区域的重心即为标记点坐标。
其中,对提取的中心标记点坐标数据做拟合的方法可以采用最小二乘法来做拟合。theta,beta是可供调整的权重参数,是根据不同机器的光机亮度来配置的,是权重参数,可调整的。
具体的,步骤S5中根据左上标记点区域亮度值、左下标记点区域亮度值、右上标记点区域亮度值和右下标记点区域亮度值计算出投影仪相对于投影面的左右偏转方向、左右偏转度、上下俯仰方向和上下俯仰度的方法,包括:
S51:将左上标记点区域亮度值与左下标记点区域亮度值求和,获得左侧标记点亮度值;
S52:将右上标记点区域亮度值与右下标记点区域亮度值求和,获得右侧标记点亮度值;
S53:根据左侧标记点亮度值和右侧标记点亮度值,获得投影仪相对于投影面的左右偏转方向和左右偏转度;
S54:将左上标记点区域亮度值与右上标记点区域亮度值求和,获得上侧标记点亮度值;
S55:将左下标记点区域亮度值与右下标记点区域亮度值求和,获得下侧标记点亮度值;
S56:根据上侧标记点亮度值和下侧标记点亮度值,获得投影仪相对于投影面的上下俯仰方向和上下俯仰度。
具体的,步骤S53中根据左侧标记点亮度值和右侧标记点亮度值,获得投影仪相对于投影面的左右偏转方向和左右偏转度的方法,包括:
判断左侧标记点亮度值是否等于右侧标记点亮度值,若是,则确定投影仪左右未偏转;
若否,则判断左侧标记点亮度值是否大于右侧标记点亮度值,若是,则确定投影仪相对于投影面向右偏转,并计算右偏转度,所述右偏转度计算公式为(左侧标记点亮度值-右侧标记点亮度值)/左侧标记点亮度值*预设右偏转度参数;若否,则确定投影仪相对于投影面向左偏转,并计算左偏转度,所述左偏转度计算公式为(右侧标记点亮度值-左侧标记点亮度值)/右侧标记点亮度值*预设左偏转度参数。
具体的,步骤S56中根据上侧标记点亮度值和下侧标记点亮度值,获得投影仪相对于投影面的上下俯仰方向和上下俯仰度的方法,包括:
判断上侧标记点亮度值是否等于下侧标记点亮度值,若是,则确定投影仪上下未偏转;
若否,则判断上侧标记点亮度值是否大于下侧标记点亮度值,若是,则确定投影仪相对于投影面向下偏转,并计算下偏转度,所述下偏转度计算公式为(上侧标记点亮度值-下侧标记点亮度值)/上侧标记点亮度值*预设下偏转度参数;若否,则确定投影仪相对于投影面向上偏转,并计算上偏转度,上偏转度计算公式为(下侧标记点亮度值-上侧标记点亮度值)/下侧标记点亮度值*预设上偏转度参数。
需要说明的是,通过摄像头拍摄到标记点,分析上下左右标记点的亮度信息确定投影机偏转的方向,当左边的标记点亮度低于右边亮度,投影机偏向左边;当右边的标记点亮度低于左边边亮,投影机偏向右边;当右边的标记点亮度等于左边边亮,投影机左右不偏;当上边的标记点亮度低于下边亮度,投影机偏向上边;当下边的标记点亮度低于上边边亮,投影机偏向下边;当下边的标记点亮度等于上边边亮,投影机上下不偏。
其中,标记点区域亮度值可以为该标记点区域所有像素值累计求和,其中预设左偏转度参数、预设右偏转度参数、预设上偏转度参数和预设下偏转度参数,是依据在实验室大量测试得出来的一个经验值。由于摄像头和投影光机是左右摆放,结构上的差异,会导致预设左偏转度参数和预设右偏转度参数不一致,预设左偏转度参数和预设右偏转度参数、预设上偏转度参数和预设下偏转度参数都是依据在实验室大量测试得出来的一个经验值。
其中,感兴趣区域为算法的目标处理区域,即为包含标记点的目标处理区域。
如图4所示,本发明实施例二提供一种投影仪空间位置信息的采集装置,应用于投影仪,该装置包括:
投影模块,用于向投影面投射出标记图;其中,标记图上设置有中心标记点、左上标记点,左下标记点,右上标记点和右下标记点,左上标记点与右下标记点相对于中心标记点对称,左下标记点与右上标记点相对于中心标记点对称,中心标记点设置在标记图的中心位置;
拍摄模块,用于拍摄投影面上的标记图生成标记图图像;
区域提取模块,用于在标记图图像中提取出标记点区域;其中,标记点区域包括中心标记点区域、左上标记点区域、左下标记点区域、右上标记点区域和右下标记点区域;
距离计算模块,用于获取中心标记点区域的中心标记点坐标,根据中心标记点坐标计算出投影仪与投影面的距离;
角度计算模块,用于获取左上标记点区域亮度值、左下标记点区域亮度值、右上标记点区域亮度值和右下标记点区域亮度值,根据左上标记点区域亮度值、左下标记点区域亮度值、右上标记点区域亮度值和右下标记点区域亮度值计算出投影仪相对于投影面的左右偏转方向、左右偏转度、上下俯仰方向和上下俯仰度。
具体的,区域提取模块包括:
区域设置单元,用于在所述标记图图像中设置感兴趣区域,所述标记点区域位于所述感兴趣区域中;
区域处理单元,用于对感兴趣区域进行滤波去躁处理;
区域计算单元,用于计算感兴趣区域阈值T=(max*theta-mean*(1-theta))*beta,其中,max是感兴趣区域最大像素值,mean是像素值均值,theta,beta是可供调整的权重参数;
区域提取单元,用于根据感兴趣区域阈值提取出标记点区域。
具体的,距离计算模块包括:
函数获取单元,用于获取中心标记点坐标与投影距离对应曲线函数;
距离计算单元,用于将所述中心标记点的坐标代入所述中心标记点坐标与投影距离对应曲线函数中,获得投影仪与投影面的距离。
具体的,角度计算模块包括:
左侧求和单元,用于将所述左上标记点区域亮度值与所述左下标记点区域亮度值求和,获得左侧标记点亮度值;
右侧求和单元,用于将所述右上标记点区域亮度值与所述右下标记点区域亮度值求和,获得右侧标记点亮度值;
左右偏转计算单元,用于根据所述左侧标记点亮度值和所述右侧标记点亮度值,获得投影仪相对于投影面的左右偏转方向和左右偏转度;
上侧求和单元,用于将所述左上标记点区域亮度值与所述右上标记点区域亮度值求和,获得上侧标记点亮度值;
下侧求和单元,用于将所述左下标记点区域亮度值与所述右下标记点区域亮度值求和,获得下侧标记点亮度值;
上下偏转计算单元,用于根据所述上侧标记点亮度值和所述下侧标记点亮度值,获得投影仪相对于投影面的上下俯仰方向和上下俯仰度。
本发明实施例三还提供一种投影仪空间位置信息的采集装置,包括:存储器,用于存储计算机程序;处理器,用于执行所述计算机程序以实现上述投影仪空间位置信息的采集方法的步骤。
本发明实施例四还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述投影仪空间位置信息的采集方法的步骤。
图4所对应实施例中特征的说明可以参见图1-图3所对应实施例的相关说明,这里不再一一赘述。
以上对本发明实施例所提供的一种投影仪空间位置信息的采集方法、装置和计算机可读存储介质进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。