人眼视角检测方法、装置及计算机可读存储介质与流程

文档序号:16136453发布日期:2018-12-01 01:02阅读:246来源:国知局

本发明涉及虚拟现实技术领域,尤其涉及一种人眼视角检测方法、装置及计算机可读存储介质。

背景技术

随着计算机技术的迅速发展及广泛普及化,人机交互技术成为了新的研究领域。而在人机交互技术中,虚拟现实技术是其中的一个重要分支。虚拟现实技术是一种可以创建和体验虚拟世界的计算机仿真系统,它利用计算机生成一种模拟环境,用户可沉浸于三维动态视景和实体行为系统仿真中。通常操作者佩带数据手套、三维鼠标、3d眼镜、操作笔等交互装置做出人体行为动作,此时计算机可对上述人体行为动作相对应的数据进行处理,并做出实时响应,以达到使操作者真实的沉浸在虚拟场景中的目标。在此过程中,操作者佩戴3d眼镜,通过交互笔与交互设备内的虚拟世界进行交互,相机获取操作者的交互姿态,在显示设备中以增强现实的方式将虚拟世界叠加在现实世界中,进而呈现在操作者面前。

然而,传统的交互方式只能捕捉到操作者的动作,并根据动作的变化做出响应,而操作者的人眼视角是无法捕捉到的,因此立体显示器的内容不会随着操作者人眼视角的改变而改变,导致当操作者不处于立体显示器的正面时,无法获取到最佳的视觉观看体验。因此,有必要提出一种应用于虚拟现实场景中的人眼视角检测方法,实现对人眼视角的检测。

上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。



技术实现要素:

本发明的主要目的在于提供一种人眼视角检测方法、装置及计算机可读存储介质,旨在解决对人眼视角进行检测和追踪的技术问题。

为实现上述目的,本发明提供一种人眼视角检测方法,所述人眼视角检测包括以下步骤:

在立体显示器开始播放立体显示内容时,通过相机拍摄二维图像确定是否能检测到3d眼镜;

在确定能检测到3d眼镜时,根据所述3d眼镜上的预设特征点确定3d眼镜的位置;

基于所述3d眼镜的位置确定人眼视角。

优选地,所述在立体显示器开始播放立体显示内容时,通过相机拍摄二维图像确定是否能检测到3d眼镜的步骤之前,所述方法还包括:

在接收到基于位置分布信息的保存指令时,获取用户输入的位置分布信息,并保存关于预设特征点的所述位置分布信息。

优选地,所述在立体显示器开始播放立体显示内容时,通过相机拍摄二维图像确定是否能检测到3d眼镜的步骤包括:

在立体显示器开始播放立体显示内容时,对3d眼镜进行拍摄,获取所述3d眼镜的二维图像;

识别出所述二维图像中所有的特征点,确定是否所有特征点都属于预设特征点;

在确定所有特征点都属于预设特征点时,确定检测到3d眼镜。

优选地,所述确定是否所有特征点都属于预设特征点的步骤之后,所述方法还包括:

在确定不是所有特征点都属于预设特征点时,去除不属于预设特征点的特征点。

优选地,所述识别出所述二维图像中所有的特征点,确定是否所有特征点都属于预设特征点的步骤包括:

在获取到所述3d眼镜的二维图像时,对所述二维图像进行二值化处理,并计算所有特征点的图像坐标;

根据所述图像坐标和预设特征点的位置分布信息,确定是否所有特征点都属于预设特征点。

优选地,所述在获取到所述3d眼镜的二维图像时,对所述二维图像进行二值化处理,并计算所有特征点的图像坐标的步骤包括:

在获取到所述3d眼镜的二维图像时,将所述二维图像处理为灰度图像,并对所述灰度图像进行二值化处理,得到对应的二值化图像;

在所述二值化图像上利用轮廓提取算法提取所有特征点的光斑区域,并计算光斑区域的轮廓中心,确定为特征点的图像坐标。

优选地,所述根据所述图像坐标和预设特征点的位置分布信息,确定是否所有特征点都属于预设特征点的步骤包括:

在获取到所有特征点的图像坐标时,基于所述图像坐标直线确定每个特征点的三维坐标;

计算所有特征点的三维坐标之间的距离,结合预设特征点的位置分布信息,确定是否所有特征点都属于预设特征点。

优选地,所述基于所述3d眼镜的位置确定人眼视角的步骤之后,所述方法还包括:

在当前的人眼视角确定时,根据所述人眼视角改变显示器中显示内容的显示角度。

此外,为实现上述目的,本发明还提供一种人眼视角检测装置,其特征在于,所述人眼视角检测装置包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的人眼视角检测程序,所述人眼视角检测程序被所述处理器执行时实现如上述任一项所述的人眼视角检测方法的步骤。

此外,为实现上述目的,本发明还提供一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有人眼视角检测程序,所述人眼视角检测程序被处理器执行时实现如上述任一项所述的人眼视角检测方法的步骤。

本发明方案,通过在立体显示器开始播放立体显示内容时,通过相机拍摄二维图像确定是否能检测到3d眼镜;然后在确定能检测到3d眼镜时,根据所述3d眼镜上的预设特征点确定3d眼镜的位置;之后基于所述3d眼镜的位置确定人眼视角;本方法利用3d眼镜上的特征点姿态近似于人眼观看视角的特点,通过检测和追踪3d眼镜的空间位置,实现对人眼视角的追踪,为操作者提供了更好的三维沉浸效果。

附图说明

图1是本发明实施例方案涉及的硬件运行环境中人眼视角检测装置所属终端的结构示意图;

图2为本发明人眼视角检测方法第一实施例中的流程示意图;

图3为本发明人眼视角检测方法第二实施例中在立体显示器开始播放立体显示内容时,通过相机拍摄二维图像确定是否能检测到3d眼镜的步骤的细化流程示意图;

图4为本发明人眼视角检测方法第二实施例中双目相机测量特征点三维坐标示意图;

图5为本发明人眼视角检测方法第二实施例中3d眼镜预设特征点的位置示意图;

图6为本发明人眼视角检测方法第三实施例中识别出所述二维图像中所有的特征点,确定是否所有特征点都属于预设特征点的流程示意图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

如图1所示,图1是本发明实施例方案涉及的硬件运行环境的装置所属终端结构示意图。

本发明实施例终端可以是pc,也可以是智能手机、平板电脑、电子书阅读器、mp3(movingpictureexpertsgroupaudiolayeriii,动态影像专家压缩标准音频层面3)播放器、mp4(movingpictureexpertsgroupaudiolayeriv,动态影像专家压缩标准音频层面3)播放器、便携计算机等具有显示功能的可移动式终端设备。

如图1所示,该终端可以包括:处理器1001,例如cpu,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(display)、输入单元比如键盘(keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如wi-fi接口)。存储器1005可以是高速ram存储器,也可以是稳定的存储器(non-volatilememory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。

可选地,终端还可以包括摄像头、rf(radiofrequency,射频)电路,传感器、音频电路、wifi模块等等。其中,传感器比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示屏的亮度,接近传感器可在移动终端移动到耳边时,关闭显示屏和/或背光。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别移动终端姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;当然,移动终端还可配置陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。

本领域技术人员可以理解,图1中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及人眼视角检测程序。

在图1所示的终端中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接客户端(用户端),与客户端进行数据通信;而处理器1001可以用于调用存储器1005中存储的人眼视角检测程序。

在本实施例中,人眼视角检测装置包括:存储器1005、处理器1001及存储在所述存储器1005上并可在所述处理器1001上运行的人眼视角检测程序,其中,处理器1001调用存储器1005中存储的人眼视角检测程序时,并执行以下操作:

在立体显示器开始播放立体显示内容时,通过相机拍摄二维图像确定是否能检测到3d眼镜;

在确定能检测到3d眼镜时,根据所述3d眼镜上的预设特征点确定3d眼镜的位置;

基于所述3d眼镜的位置确定人眼视角。

进一步地,处理器1001可以调用存储器1005中存储的人眼视角检测程序,还执行以下操作:

在接收到基于位置分布信息的保存指令时,获取用户输入的位置分布信息,并保存关于预设特征点的所述位置分布信息。

进一步地,处理器1001可以调用存储器1005中存储的人眼视角检测程序,还执行以下操作:

在立体显示器开始播放立体显示内容时,对3d眼镜进行拍摄,获取所述3d眼镜的二维图像;

识别出所述二维图像中所有的特征点,确定是否所有特征点都属于预设特征点;

在确定所有特征点都属于预设特征点时,确定检测到3d眼镜。

进一步地,处理器1001可以调用存储器1005中存储的人眼视角检测程序,还执行以下操作:

在确定不是所有特征点都属于预设特征点时,去除不属于预设特征点的特征点。

进一步地,处理器1001可以调用存储器1005中存储的人眼视角检测程序,还执行以下操作:

在获取到所述3d眼镜的二维图像时,对所述二维图像进行二值化处理,并计算所有特征点的图像坐标;

根据所述图像坐标和预设特征点的位置分布信息,确定是否所有特征点都属于预设特征点。

进一步地,处理器1001可以调用存储器1005中存储的人眼视角检测程序,还执行以下操作:

在获取到所述3d眼镜的二维图像时,将所述二维图像处理为灰度图像,并对所述灰度图像进行二值化处理,得到对应的二值化图像;

在所述二值化图像上利用轮廓提取算法提取所有特征点的光斑区域,并计算光斑区域的轮廓中心,确定为特征点的图像坐标。

进一步地,处理器1001可以调用存储器1005中存储的人眼视角检测程序,还执行以下操作:

在获取到所有特征点的图像坐标时,基于所述图像坐标直线确定每个特征点的三维坐标;

计算所有特征点的三维坐标之间的距离,结合预设特征点的位置分布信息,确定是否所有特征点都属于预设特征点。

进一步地,处理器1001可以调用存储器1005中存储的人眼视角检测程序,还执行以下操作:

在当前的人眼视角确定时,根据所述人眼视角改变显示器中显示内容的显示角度。

本发明第一实施例提供一种人眼视角检测方法,参照图2,图2为本发明人眼视角检测方法第一实施例的流程示意图,所述人眼视角检测方法包括:

步骤s100,在立体显示器开始播放立体显示内容时,通过相机拍摄二维图像确定是否能检测到3d眼镜;

对3d眼镜进行拍摄,获取所述3d眼镜的二维图像;识别出所述二维图像中所有的特征点,确定是否所有特征点都属于预设特征点;在确定所有特征点都属于预设特征点时,确定检测到3d眼镜。

在虚拟现实技术创建的模拟环境中,操作者通常需要佩戴3d眼镜等交互装置。在本实施例中,本方法应用于桌面式空间交互系统,操作者在使用该系统时,需要佩戴3d眼镜,观看3d屏幕上的内容。为了使操作者有更好的观看体验,系统在3d屏幕上设置双目相机或多目相机,能够通过持续拍摄照片,检测3d眼镜在空间中的位置,从而确定人眼的视角。检测到操作者的视角后,就可以将整个立体显示器的立体显示内容按照人眼观看的视角进行呈现,从而为操作者提供了最佳的三维沉浸效果。系统在检测到人眼观看视角后,对应地将立体显示器的立体显示内容进行三维渲染,进一步提高操作者的用户体验。

在检测3d眼镜的位置时,利用多目相机或双目相机对特征点进行检测。特征点是指提前在3d眼镜上设置的具有明显区别特征的标记点。特征点的分布形态结构类似人的眼眶,由于特征点形成的姿态位置基本接近于操作人员的人眼观看视角。因此在本发明中通过对3d眼镜姿态进行追踪,进而相当于实现对人眼观看视角进行追踪。换句话说,只有检测到了预设特征点,才能确定检测到3d眼镜。具体的步骤,在后续实施例中详细叙述。

步骤s200,在确定能检测到3d眼镜时,根据所述3d眼镜上的预设特征点确定3d眼镜的位置;

根据步骤s100中的方法检测到3d眼镜时,进一步可以确定3d眼镜在空间中的位置和姿态。双目相机或多目相机中,一个相机拍摄得到的照片是二维的,在获取到包括完整的3d眼镜图像在内的二维图像时,首先将该图像转换为灰度图像。灰度图像是每个像素只有一个采样颜色的图像,这类图像通常显示为从最暗黑色到最亮的白色的灰度。灰度图像与黑白图像不同,在计算机图像领域中黑白图像只有黑色与白色两种颜色;但是,灰度图像在黑色与白色之间还有许多级的颜色深度。灰度图像经常是在单个电磁波频谱如可见光内测量每个像素的亮度得到的。

得到包括所有特征点在内的灰度图像后,对该灰度图像进行二值化处理,在二值化图像上利用轮廓提取算法提取特征点的光斑区域,计算光斑区域轮廓的中心作为特征点的图像坐标。然后对特征点的三维坐标进行测量。首先利用相机成像模型计算出每个特征点的图像坐标对应的直线,然后通过直线交点计算出特征点的三维立体坐标。计算出特征点的三维立体坐标后,对其进行跟踪。利用现有算法可以跟踪特征点在二维图像上的图像坐标,进而根据二维图像坐标计算对应的三维立体坐标。在得到所有预设特征点的三维立体坐标时,可以基于上述预设特征点还原出完整的3d眼镜的位置和结构,确定出眼镜所在的位置。

步骤s300,基于所述3d眼镜的位置确定人眼视角。

在本交互系统中,操作者需佩戴3d眼镜,在3d眼镜中安装若干特征点(mark点),特征点的分布形态结构类似人的眼眶,利用特征点形成的姿态位置基本接近于操作人员的观看视角的特点,本系统利用多目相机对特征点进行检测,进而实现对眼镜姿态的检测跟踪,最终相当于实现对人眼观察视角的跟踪。

进一步地,在一实施例中,在步骤s100之前,所述方法还包括:

在接收到基于位置分布信息的保存指令时,获取用户输入的位置分布信息,并保存关于预设特征点的所述位置分布信息。

预设特征点是预先设置的分布在3d眼镜上不同位置的特征点,这些特征点的位置是固定的,因此可以在预设特征点确定之后,提炼出上述预设特征点的位置分布信息,例如,每个特征点和其他特征点之间的关系,以及每个特征点到其他特征点之间的距离。

进一步地,在一实施例中,在步骤s300之后,所述方法还包括:

在当前的人眼视角确定时,根据所述人眼视角改变显示器的显示角度。

在桌面式空间交互系统中,欲使得操作人有更好的三维沉浸效果,需将整个立体显示器的立体现实内容按照人眼观看的视角进行呈现。因此,系统需要感知检测操作者的观察视角并对应进行三维渲染提高操作体验。

本实施例中提出的人眼视角检测方法,通过确定是否能检测到3d眼镜;然后在确定能检测到3d眼镜时,根据所述3d眼镜上的预设特征点确定3d眼镜的位置;之后基于所述3d眼镜的位置确定人眼视角;本方法利用3d眼镜上的特征点姿态近似于人眼观看视角的特点,通过检测和追踪3d眼镜的空间位置,实现对人眼视角的追踪,为操作者提供了更好的三维沉浸效果。

基于第一实施例,提出本发明人眼视角检测方法的第二实施例,参照图3,步骤s100包括:

步骤s110,在立体显示器开始播放立体显示内容时,对3d眼镜进行拍摄,获取所述3d眼镜的二维图像;

步骤s120,识别出所述二维图像中所有的特征点,确定是否所有特征点都属于预设特征点;

步骤s130,在确定所有特征点都属于预设特征点时,确定检测到3d眼镜。

在本实施例中,本方法应用于桌面式空间交互系统,操作者在使用该系统时,需要佩戴3d眼镜,观看3d屏幕上的内容。为了使操作者有更好的观看体验,系统在3d屏幕上设置双目相机或多目相机,能够通过持续拍摄照片,检测3d眼镜在空间中的位置,从而确定人眼的视角。检测到操作者的视角后,就可以将整个立体显示器的立体显示内容按照人眼观看的视角进行呈现,从而为操作者提供了最佳的三维沉浸效果。系统在检测到人眼观看视角后,对应地将立体显示器的立体显示内容进行三维渲染,进一步提高操作者的用户体验。如图4所示,是一个双目相机工作过程示意图。

在获取到所述3d眼镜的二维图像时,对所述二维图像进行二值化处理,并计算所有特征点的图像坐标;然后根据所述图像坐标和预设特征点的位置分布信息,确定是否所有特征点都属于预设特征点。

在检测3d眼镜的位置时,利用多目相机或双目相机对特征点进行检测。特征点是指提前在3d眼镜上设置的具有明显区别特征的标记点。特征点的分布形态结构类似人的眼眶,由于特征点形成的姿态位置基本接近于操作人员的人眼观看视角。因此在本发明中通过对3d眼镜姿态进行追踪,进而相当于实现对人眼观看视角进行追踪。换句话说,只有检测到了预设特征点,才能确定检测到3d眼镜。计算出特征点的三维坐标后,可以利用lk算法,也就是lukas-kanade光流法对二维图像坐标进行追踪,并根据二维坐标计算相应的三维空间坐标。

检测到3d眼镜时,进一步可以确定3d眼镜在空间中的位置和姿态。双目相机或多目相机中,一个相机拍摄得到的照片是二维的,在获取到包括完整的3d眼镜图像在内的二维图像时,首先将该图像转换为灰度图像。灰度图像(grayimage)是每个像素只有一个采样颜色的图像,这类图像通常显示为从最暗黑色到最亮的白色的灰度。灰度图像与黑白图像不同,在计算机图像领域中黑白图像只有黑色与白色两种颜色;但是,灰度图像在黑色与白色之间还有许多级的颜色深度。灰度图像经常是在单个电磁波频谱如可见光内测量每个像素的亮度得到的。

得到包括所有特征点在内的灰度图像后,对该灰度图像进行二值化处理,在二值化图像上利用轮廓提取算法提取特征点的光斑区域,计算光斑区域轮廓的中心作为特征点的图像坐标。然后对特征点的三维坐标进行测量。首先利用相机成像模型计算出每个特征点的图像坐标对应的直线,然后通过直线交点计算出特征点的三维立体坐标。如图4所示,根据双目相机的两直线交点确定待求特征点的三维立体坐标。计算出特征点的三维立体坐标后,对其进行跟踪。利用现有算法可以跟踪特征点在二维图像上的图像坐标,进而根据二维图像坐标计算对应的三维立体坐标。在得到所有预设特征点的三维立体坐标时,可以基于上述预设特征点还原出完整的3d眼镜的位置和结构,确定出眼镜所在的位置。

进一步地,在一实施例中,在步骤s120之后,所述方法还包括:

在确定不是所有特征点都属于预设特征点时,去除不属于预设特征点的特征点。

本方法根据已知的3d眼镜特征点分布结构,可以排除非预设特征点。例如,如图5所示,在获取到3d眼镜的二维灰度图后,根据灰度图可以确定出7个具有特征点特征的光斑区域,将这7个光斑区域暂时确定为特征点。之后获取预设特征点的位置分布信息,假设在位置分布信息中只包括5个预设特征点的位置分布信息,则计算所有特征点的三维立体坐标之间的距离,随后在7个特征点中确定一个特征点,该点的位置距离其他四个点满足预设距离,则该点为预设特征点中处于中间位置的1号点,之后根据上下左右关系可分别将2,3,4,5其他四个点确定出,从而在这7个特征点中确定出5个预设特征点。则不属于这5个预设特征点的点则被排除。

本实施例中提出的人眼视角检测方法,通过对3d眼镜进行拍摄,获取所述3d眼镜的二维图像;然后识别出所述二维图像中所有的特征点,确定是否所有特征点都属于预设特征点;之后在确定所有特征点都属于预设特征点时,确定检测到3d眼镜;本方法通过对3d眼镜上的特征点进行检测,从而实现对3d眼镜空间位置的跟踪。

基于第二实施例,提出本发明人眼视角检测方法的第三实施例,参照图5,步骤s120包括:

步骤s121,在获取到所述3d眼镜的二维图像时,对所述二维图像进行二值化处理,并计算所有特征点的图像坐标;

步骤s122,根据所述图像坐标和预设特征点的位置分布信息,确定是否所有特征点都属于预设特征点。

在获取到所述3d眼镜的二维图像时,将所述二维图像处理为灰度图像,并对所述灰度图像进行二值化处理,得到对应的二值化图像;然后在所述二值化图像上利用轮廓提取算法提取所有特征点的光斑区域,并计算光斑区域的轮廓中心,确定为特征点的图像坐标。

在获取到二维图像后要分别对图像进行灰度化处理和二值化处理。在图像处理中,用rgb三个分量,即红、绿、蓝三原色来表示真彩色,r分量,g分量,b分量的取值范围均为0~255,比如电脑屏幕上的一个红色的像素点的三个分量的值分别为:255,0,0。像素点是最小的图像单元,一张图片由好多的像素点构成。图像的灰度化就是让像素点矩阵中的每一个像素点都满足下面的关系:r=g=b,就是红色变量的值,绿色变量的值,和蓝色变量的值,这三个值相等,此时的这个值叫做灰度值。图像的二值化就是让图像的像素点矩阵中的每个像素点的灰度值为0(黑色)或者255(白色),也就是让整个图像呈现只有黑和白的效果。在灰度化的图像中灰度值的范围为0~255,在二值化后的图像中的灰度值范围是0或者255。如果某特定物体在内部有均匀一致的灰度值,并且其处在一个具有其他等级灰度值的均匀背景下,使用阀值法就可以得到比较的分割效果。如果物体同背景的差别表现不在灰度值上,比如纹理不同,可以将这个差别特征转换为灰度的差别,然后利用阀值选取技术来分割该图像。

在确定二值化图像的光斑区域时,需要采用轮廓提取算法,该算法的核心就是将图像目标的内部点消除,所谓内部点,我们要根据当前像素点的邻域来进行判断,假设邻域窗口为3*3窗口,如果当前像素p(x,y)的八个邻域像素满足如下条件,则该点即内部点:1,p(x,y)为目标像素,假设目标像素为黑色0,背景像素为白色255,那么p(x,y)=0;2,p(x,y)的八个邻域像素均为目标像素0。把满足条件的内部点删除,换为背景点255,即可得到图像轮廓。在得到图像的轮廓后利用轮廓提取算法提取所有特征点的光斑区域,并计算光斑区域的轮廓中心,确定为特征点的图像坐标。计算光斑区域轮廓中心时,可以借助于多种现有方式,例如,提取图像轮廓,根据目标物体具体的宽高比,面积等信息筛选轮廓,生成轮廓凸包,获得目标物体中心;或是遍历每个轮廓坐标,求轮廓坐标的均值点。也有一些软件提供轮廓中心的计算功能。

在获取到所有特征点的图像坐标时,基于所述图像坐标直线确定每个特征点的三维坐标;然后计算所有特征点的三维坐标之间的距离,结合预设特征点的位置分布信息,确定是否所有特征点都属于预设特征点。

根据下面的公式,可以在已知特征点二维图像坐标的情况下直接得到对应的三维空间坐标:

其中,(x,y,z)是特征点的3d空间坐标,(u,v)是特征点的图像坐标。在空间坐标或图像坐标中任意一个已知时,可以根据下面的公式得到另外一个坐标。左边的矩阵一般叫k矩阵,f是相机的焦距,cx、cy是相机的光心。右边是对应的一个投影方程,xyz就是3d点的空间坐标,t是相机的光心,xyz减t再乘以r就是3d点在图像坐标系下的坐标。

本方法根据已知的3d眼镜特征点分布结构,可以排除非预设特征点。例如,如图5所示,在获取到3d眼镜的二维灰度图后,根据灰度图可以确定出7个具有特征点特征的光斑区域,将这7个光斑区域暂时确定为特征点。之后获取预设特征点的位置分布信息,假设在位置分布信息中只包括5个预设特征点的位置分布信息,则计算所有特征点的三维立体坐标之间的距离,随后在7个特征点中确定一个特征点,该点的位置距离其他四个点满足预设距离,则该点为预设特征点中处于中间位置的1号点,之后根据上下左右关系可分别将2,3,4,5其他四个点确定出,从而在这7个特征点中确定出5个预设特征点。则不属于这5个预设特征点的点则被排除。需要注意的是,在实际使用时检测到边框4个点,或者遮住左边2个点或右边2个点时检测仍然能够有效判断人眼视角。这是因为,预先在交互系统中保存了预设特征点的位置分布信息,在检测到边框的4个点,或左边的2个点,或右边的2个点,或其他任意的非全部5个点的情况,除了只检测到一个点,都可以将已经检测到的特征点与预先保存的位置分布信息进行比对,还原出完整的3d眼镜的空间结构。

本实施例中提出的人眼视角检测方法,通过在获取到所述3d眼镜的二维图像时,对所述二维图像进行二值化处理,并计算所有特征点的图像坐标;然后根据所述图像坐标和预设特征点的位置分布信息,确定是否所有特征点都属于预设特征点;本方法实现了3d眼镜位置的确定和跟踪。

此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有人眼视角检测程序,所述人眼视角检测程序被处理器执行时实现如下操作:

在立体显示器开始播放立体显示内容时,通过相机拍摄二维图像确定是否能检测到3d眼镜;

在确定能检测到3d眼镜时,根据所述3d眼镜上的预设特征点确定3d眼镜的位置;

基于所述3d眼镜的位置确定人眼视角。

进一步地,所述人眼视角检测程序被处理器执行时还实现如下操作:

在接收到基于位置分布信息的保存指令时,获取用户输入的位置分布信息,并保存关于预设特征点的所述位置分布信息。

进一步地,所述人眼视角检测程序被处理器执行时还实现如下操作:

在立体显示器开始播放立体显示内容时,对3d眼镜进行拍摄,获取所述3d眼镜的二维图像;

识别出所述二维图像中所有的特征点,确定是否所有特征点都属于预设特征点;

在确定所有特征点都属于预设特征点时,确定检测到3d眼镜。

进一步地,所述人眼视角检测程序被处理器执行时还实现如下操作:

在确定不是所有特征点都属于预设特征点时,去除不属于预设特征点的特征点。

进一步地,所述人眼视角检测程序被处理器执行时还实现如下操作:

在获取到所述3d眼镜的二维图像时,对所述二维图像进行二值化处理,并计算所有特征点的图像坐标;

根据所述图像坐标和预设特征点的位置分布信息,确定是否所有特征点都属于预设特征点。

进一步地,所述人眼视角检测程序被处理器执行时还实现如下操作:

在获取到所述3d眼镜的二维图像时,将所述二维图像处理为灰度图像,并对所述灰度图像进行二值化处理,得到对应的二值化图像;

在所述二值化图像上利用轮廓提取算法提取所有特征点的光斑区域,并计算光斑区域的轮廓中心,确定为特征点的图像坐标。

进一步地,所述人眼视角检测程序被处理器执行时还实现如下操作:

在获取到所有特征点的图像坐标时,基于所述图像坐标直线确定每个特征点的三维坐标;

计算所有特征点的三维坐标之间的距离,结合预设特征点的位置分布信息,确定是否所有特征点都属于预设特征点。

进一步地,所述人眼视角检测程序被处理器执行时还实现如下操作:

在当前的人眼视角确定时,根据所述人眼视角改变显示器中显示内容的显示角度。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1