【具体实施方式】
在一个实施例中,如图1所示,一种多媒体播放控制方法,包括如下步骤:
步骤S10,通过包含标记区域的交互设备产生姿态。
本实施例中,标记区域是交互设备的一个区域或设置在交互设备上的标记,如反光材料等。
具体的,在一个实施例中,交互设备可以是手持装置,可将手持装置的一部分或全部设定为指定的颜色或形状,则该指定颜色或形状的部分即形成标记区域。另外,可在手持装置上设置指定颜色或形状的标记(如反光材料),则该指定颜色或形状的标记即形成标记区域。
在另一个实施例中,交互设备还可以是人体部位(例如人脸、手掌、手臂等),具有皮肤颜色的人体部位即形成标记区域。另外,可在人体部分上附带指定颜色或形状的标记(如反光材料),则该指定颜色或形状的标记即形成标记区域。
步骤S20,采集包含标记区域的图像。
步骤S30,识别标记区域的姿态。
所谓姿态,是指标记区域在图像中所形成的姿势状态。进一步的,在二维图像中,姿态为二维图像中的标记区域与预设位置之间的角度,即姿态角;在三维图像中,姿态为三维图像中的标记区域与预设位置之间的多个姿态角所组成的矢量,即姿态向量。本发明中说的“标记区域产生的姿态”,“标记区域的姿态”、“姿态”都是指所述姿态,也就是不同实施例的姿态角与姿态向量。
步骤S40,生成姿态对应的播放指令。
本实施例中,可预先设定标记区域的姿态与播放指令之间的映射关系,并将该映射关系存储在数据库中。在识别出标记区域的姿态后,可根据识别出的姿态从数据库中查找与姿态对应的播放指令。
步骤S50,根据播放指令控制多媒体的播放。
例如,根据播放指令控制多媒体播放开始、播放暂停、播放前进、播放后退、播放上一个、播放下一个、调低音量、调高音量等。
上述多媒体播放控制方法,根据采集到的包含标记区域的图像识别出标记区域所产生的姿态,并生成姿态对应的播放指令,进一步的根据播放指令控制多媒体的播放。这种方式不需要用户操作多个操控部件,只需要挥动交互设备产生姿态即可,减少了操作步骤,操作起来更为简单和灵活,另外还可以将人体部位本身作为交互设备产生姿态,操作起来更为方便和人性化,因而这种方式加强了用户的体验,提高了用户的操作便利性。
在一个实施例中,步骤S30可提取图像中的标记区域,进一步的获取标记区域中的像素坐标,并根据像素坐标产生标记区域姿态。
具体的,在一个实施例中,所采集到的包含标记区域的图像为二维图像,则如图2所示,步骤S30的具体过程包括:
步骤S302,提取图像中与预设颜色模型匹配的像素,对获取的像素进行连通域检测,提取检测得到的连通域中的标记区域。
具体的,可通过摄像机采集包含标记区域的图像,得到的图像为二维可见光图像。优选的,还可在摄像机的镜头前加入红外滤光片,用于滤去除红外波段的其他波段光线,则采集的图像为二维红外图像。由于可见光图像中,场景中的物体会对标记区域的识别形成干扰,而红外图像因滤除掉了可见光信息,干扰较少,因此二维红外图像更有利于提取标记区域。
本实施例中,可预先建立颜色模型。例如标记区域的色彩为红色,则可预先建立红色模型,该模型中像素的RGB值分量可在200到255之间,G、B分量可接近于零;获取采集的图像中满足该红色模型的RGB值的像素即为红色像素。另外,当采集的图像中由人体部位形成标记区域时,则可获取采集的图像中与预设肤色模型匹配的像素。对获取的像素进行连通域检测,得到多个连通域,连通域是若干个连续的像素组成的集合。
本实施例中,由于标记区域的大小和形状应大致是固定不变的,在对获取的像素进行连通域检测时,可计算得到获取的像素中的所有连通域的周长和/或面积。具体的,连通域的周长可为连通域边界像素的个数,连通域的面积可为连通域中的全部像素的个数。进一步的,可将获取的连通域的周长和/或面积与预设标记区域的周长和/或面积进行对比,获取满足预设标记区域的周长和/或面积的连通域即为标记区域。优选的,还可将周长的平方与面积的比值作为判断准则,连通域的该比值满足预设标记区域的该比值,则该连通域为标记区域。
步骤S304,获取标记区域中的像素坐标,根据像素坐标产生标记区域姿态。
具体的,在一个实施例中,如图3所示,交互设备包括手持部分和附着于手持部分的标记,其中,标记可为长条形状的反光材料,优选的,可以为椭圆或矩形形状。在其他实施例中,交互设备还可为人体部位,如脸、手掌、手臂等,则采集到的图像中的标记区域即为人体部位的区域。
本实施例中,标记区域为一个连续区域,则根据像素坐标产生标记区域的姿态的过程为:计算得到像素坐标的协方差矩阵,获取协方差矩阵最大特征值对应的特征向量,根据特征向量产生标记区域的姿态,该标记区域的姿态为一个姿态角。
具体的,如图4所示,构建二维图像坐标系,对于该坐标系上的两个点A(u1,v1)和B(u2,v2),当u1≠u2时,其形成的姿态角则为直线AB斜率的反正切,即arctan((v2-v1)/(u2-u1)),当u1=u2时,点A、B形成的姿态角为90度或-90度。具体的,本实施例中,计算提取的标记区域中的像素坐标的协方差矩阵,获取协方差矩阵最大特征值对应的特征向量,该特征向量的方向即为标记区域长轴所在直线的方向。如图4所示,标记区域长轴所在直线方向为A、B两点所在直线的方向,设特征向量为[dir_u,dir_v]T,其中,dir_u描述标记区域长轴的方向在u轴上的投影,其绝对值正比于从A指向B的向量在u坐标轴方向上的投影(即u2-u1);dir_v描述标记区域长轴的方向在v轴上的投影,其绝对值正比于从A指向B的向量在v坐标轴方向上的投影(即v2-v1)。若dir_u或dir_v小于0,则修正为[-dir_u,-dir_v]T,则当dir_u不等于0时,标记区域的姿态角为:arctan(dir_v/dir_u)。当dir_u=0时,标记区域的姿态角为90度或-90度。
在另一个实施例中,标记区域包括第一连续区域和第二连续区域,则根据像素坐标产生标记区域的姿态的具体过程包括:计算第一连续区域的重心和第二连续区域的重心,根据第一连续区域的重心的像素坐标和第二连续区域的重心的像素坐标产生标记区域的姿态。具体的,在一个实施例中,交互设备包括手持部分和附着在手持部分的两个标记。如图5所示,标记为两个,分别附着在手持部分前端,标记的形状可以为椭圆形或矩形。优选的,标记可以为位于手持部位前端的两个圆点。如图6所示,可将标记设置在手持部分的两端。在其他实施例中,还可将标记设置在人体部位上,例如设置在人脸、手掌或手臂上。应当说明的是,所设置的两个标记可以大小、形状、颜色等特征上不一致。
本实施例中,提取的标记区域包括两个连续区域,分别为第一连续区域和第二连续区域。进一步的,根据像素坐标计算这两个连续区域的重心。具体的,计算连续区域中的全部像素坐标的平均值,所得到的像素坐标即为连续区域的重心。如图4所示,计算得到的两个连续区域的重心分别为A(u1,v1)和B(u2,v2),当u1≠u2时,则标记区域的姿态角为斜率的反正切,即arctan((v2-v1)/(u2-u1)),若u1=u2,标记区域的姿态角为90度或-90度。
在另一个实施例中,所采集的图像可以为三维图像。具体的,可利用传统的立体视觉系统(由两台空间位置已知的摄像机及相关数据处理设备组成)、结构光系统(右一台摄像机、一台光源以及相关数据处理设备组成)或TOF(timeof flight,飞行时间)深度相机采集三维图像(即三维深度图像)。
本实施例中,如图7所示,步骤S30的具体过程包括:
步骤S310,对图像进行分割,提取图像中的连通域,计算连通域的属性值,将连通域的属性值与预设的标记区域属性值进行对比,符合预设的标记区域属性值的连通域即为标记区域。
具体的,当三维深度图像中两个相邻的像素深度相差小于预先设定的阈值时,例如5厘米,则认为两个像素连通,对整个图像进行连通域检测,可得到包含标记连通域的一系列连通域。
本实施例中,连通域的属性值包括连通域的尺寸和形状。具体的,计算连通域的尺寸/形状,与交互设备上的标记的尺寸/形状进行对比,得到符合标记的尺寸/形状的连通域即为标记区域的连通域(标记区域)。以矩形标记为例,即交互设备上的标记在采集的图像中为矩形,预先设定好标记的长度和宽度,计算连通域对应的物理区域的长度和宽度,该长度和宽度与标记的长度和宽度越接近,则连通域与标记区域越相似。
进一步的,计算连通域对应的物理区域的长度和宽度的过程如下:计算连通域像素的三维坐标的协方差矩阵,采用如下公式计算连通域对应的物理区域的长度和宽度:
其中,k为预先设定的系数,例如设为4,当λ为协方差矩阵最大特征值时,则l为连通域的长度,当λ为协方差矩阵第二大的特征值时,则l为连通域的宽度。
进一步的,还可预先设定矩形标记的长宽比,例如长宽比为2,则连通域对应的物理区域的长宽比越接近于预设设定的矩形标记的长宽比,则连通域与标记区域越相似,具体的,采用如下公式计算连通域对应的物理区域的长宽比:
其中,r为连通域的长宽比,λ
0为协方差矩阵的最大特征值,λ
1为协方差矩阵的第二大特征值。
步骤S320,获取标记区域中的像素坐标,根据该像素坐标产生标记区域的姿态。
具体的,本实施例中,标记区域的姿态为姿态向量。如图8所示,构建三维图像坐标系,该坐标系为右手坐标系。在该坐标系中,设空间向量OP,P在平面XOY的投影为p,则用极坐标表示向量OP的姿态向量为[α,θ]T,α为角XOp,即X轴到Op角,取值范围为0到360度,θ为角pOP,即OP与XOY平面的夹角,取值范围为-90度到90度。设该坐标系中的空间射线上的两点为A(x1,y1,z1)和B(x2,y2,z2),当 时,则这两点的姿态向量[α,θ]T可用如下公式唯一确定:
当 时,可设置θ=90°或-90°,α=0°。
本实施例中,提取标记区域后,计算得到标记区域中的像素坐标的协方差矩阵,获取协方差矩阵最大特征值对应的特征向量,并将该特征向量转换为姿态向量。具体的,设得到的姿态向量为[dir
x,dir
y,dir
z]
T,其中,dir
x表示两点在x轴方向上的距离,dir
y表示两点在y轴方向上的距离,dir
z表示两点在z轴方向上的距离。可认为该姿态向量描述的射线上有两个点,即(0,0,0)和
即射线从原点触发,指向(dir
x,dir
y,dir
z),则姿态角需满足上述公式(1)和(2),令上述公式(1)和(2)中的x1=0,y1=0,z1=0,x2=dir
x,y2=dir
y,z2=dir
z,即可得到姿态向量[α,θ]
T。
在一个实施例中,标记区域为一个连续区域,则根据像素坐标产生标记区域的姿态的过程为:计算得到像素坐标的协方差矩阵,获取协方差矩阵最大特征值对应的特征向量,根据特征向量产生标记区域的姿态。如上所述,该标记区域的姿态为一个姿态向量。
在另一个实施例中,标记区域包括第一连续区域和第二连续区域,则根据像素坐标产生标记区域的姿态的具体过程为:根据像素坐标计算第一连续区域的重心和第二连续区域的重心,根据第一连续区域的重心的像素坐标和第二连续区域的重心的像素坐标计算标记区域的姿态。如图8所示,本实施例中,标记区域中的像素坐标为三维坐标,具体的,可根据计算得到的两个连续区域的重心的像素坐标产生标记区域的姿态,该姿态为一个姿态向量。
在一个实施例中,在识别标记区域的姿态的步骤之前还可包括:判断采集的图像为二维图像还是三维图像的步骤。具体的,若采集的图像为二维图像,则执行上述步骤S302至步骤S304,若采集的图像为三维图像,则执行上述步骤S310至S320。
如图9所示,在一个实施例中,上述步骤S40的具体过程包括:
步骤S402,获取当前帧图像中的标记区域的姿态。
如上所述,步骤S402中获取的姿态可以是当前帧的二维图像中的标记区域的姿态(即姿态角),也可以是当前帧的三维深图像中的标记区域的姿态(即姿态向量)。该姿态也可称为绝对姿态。
步骤S404,根据预设的姿态与播放指令之间的映射关系生成与姿态对应的播放指令。
如图10所示,在一个实施例中,步骤S404包括:
步骤S414,根据预设的姿态与播放指令类型之间的映射关系获取姿态对应的播放指令类型。
播放指令类型包括开始、暂停、前进、后退、上一个、下一个、调高音量、调低音量等类型。
具体的,可预先设定当姿态角在(a,b)范围内时,则对应前进播放指令类型,当姿态角在(c,d)范围内时,则对应后退播放指令类型,等等。其中,a、b、c、d都为预先设定的角度,满足a<b,c<d,且集合[a,b]和集合[c,d]的交集为空。
步骤S424,根据预设的姿态与播放调整幅度之间的映射关系获取姿态对应的播放调整幅度。
具体的,可预先设定播放调整幅度与姿态角的映射关系。以二维图像为例,设姿态角在(m,n)范围内时,对应某一播放指令类型,则可设定该种类型播放指令的播放调整幅度与姿态角的映射关系为:y=k*(x-m)/(n-m),其中,y为播放调整幅度,x为姿态角,k为上限。例如,设姿态角在30度到60度范围内时,对应的播放指令类型为调高音量,则可设定播放调整幅度(即音量调高等级)与姿态角的映射关系为:y=20*(x-30)/(60-30),其中,y播放调整幅度,x为姿态角,20为最大音量等级,当姿态角为45度时,可计算得到播放调整幅度为10,即音量调高10个等级。优选的,当计算得到的播放调整幅度(即音量调高等级)为小数时,可进一步的将播放调整幅度(即音量调高等级)取整。优选的,若当前的音量等级与音量调高等级的和大于最大音量等级时,可将音量调高等级设置为最大音量调高等级与当前音量等级的差。
另外,在三维图像中,所识别出的姿态包含两个姿态角,可以使用其中的一个姿态角来获取播放调整幅度,也可以使用两个姿态角来获取播放调整幅度。使用其中一个姿态角的方法原理与二维图像类似,在此则不再赘述。使用两个姿态角时,可设置播放调整幅度为两个姿态角的二元函数。
步骤S434,根据姿态对应的播放指令类型和播放调整幅度生成相应的播放指令。
例如,播放指令类型为前进,播放调整幅度为10(分钟),则生成“将播放进度前进10分钟”的指令,等等。
在一个实施例中,可直接根据姿态对应的播放指令类型生成相应的播放指令。例如,当播放指令类型为开始、暂停、上一个、下一个时,不需要获取播放调整幅度,即可生成相应的播放指令“开始播放多媒体”、“暂停播放多媒体”、“播放上一个多媒体”、“播放下一个多媒体”。
如图11所示,在另一个实施例中,采集的包含标记区域的图像为图像序列,上述步骤S40的具体过程包括:
步骤S410,获取当前帧图像中的标记区域的姿态与前预设帧图像中的标记区域的姿态之间的相对姿态。
本实施例中,可实时采集由多个包含标记区域的图像组成的图像序列。如上所述,步骤S410中获取的姿态可以是当前帧图像和前预设帧图像中的标记区域的姿态角,也可以是当前帧图像和前预设帧图像中的标记区域的姿态向量。当前帧图像中的姿态与前预设帧图像中的姿态之间的相对姿态为两者的差值。
步骤S420,根据预设的相对姿态与播放指令之间的映射关系生成与相对姿态对应的播放指令。
如图12所示,在一个实施例中,步骤S420包括:
步骤S421,根据预设的相对姿态与播放指令类型之间的映射关系获取相对姿态对应的播放指令类型令。
具体的,可预先设定当相对姿态角在(a,b)范围内时,则对应前进播放指令类型,当相对姿态角在(c,d)范围内时,则对应后退播放指令类型,等等。其中,a、b、c、d都为预先设定的角度,满足a<b,c<d,且集合[a,b]和集合[c,d]的交集为空。
步骤S422,根据预设的相对姿态与播放调整幅度之间的映射关系获取相对姿态对应的播放调整幅度。
具体的,可预先设定播放调整幅度与相对姿态角的映射关系。以二维图像为例,设相对姿态角在(m,n)范围内时,对应某一播放指令类型,则可设定该种类型播放指令的播放调整幅度与相对姿态角的映射关系为:y=k*(x-m)/(n-m),其中,y为播放调整幅度,x为相对姿态角,k为上限。例如,设相对姿态角在30度到60度范围内时,对应的播放指令类型为调高音量,则可设定播放调整幅度(即音量调高等级)与相对姿态角的映射关系为:y=20*(x-30)/(60-30),其中,y播放调整幅度,x为相对姿态角,20为最大音量等级。当相对姿态角为45度时,可计算得到播放调整幅度为10,即音量调高10个等级。优选的,当计算得到的播放调整幅度(即音量调高等级)为小数时,可进一步的将播放调整幅度取整。优选的,若当前的音量等级与音量调高等级的和大于最大音量等级时,可将音量调高等级设置为最大音量调高等级与当前音量等级的差。
另外,在三维图像中,所识别出的姿态包含两个相对姿态角,可以使用其中的一个相对姿态角来获取播放调整幅度,也可以使用两个相对姿态角来获取播放调整幅度。使用其中一个相对姿态角的方法原理与二维图像类似,在此则不再赘述。使用两个相对姿态角时,可设置播放调整幅度为两个相对姿态角的二元函数。
步骤S423,根据相对姿态对应的播放指令类型和播放调整幅度生成相应的播放指令。
例如,播放指令类型为前进,播放调整幅度为10(分钟),则生成“将播放进度前进10分钟”的指令,等等。
在一个实施例中,可直接根据相对姿态对应的播放指令类型即可生成相应的播放指令。例如,当播放指令类型为开始、暂停、上一个、下一个时,不需要获取播放调整幅度,即可生成相应的播放指令“开始播放多媒体”、“暂停播放多媒体”、“播放上一个多媒体”、“播放下一个多媒体”。
上述多媒体播放控制方法,通过产生一个姿态即可生成相应的播放指令类型和播放调整幅度来控制多媒体的播放,几乎可做到一步到位,而不需要用户操作多个操控部件(如按键等),选择播放指令类型再逐步设置播放状态以控制多媒体播放,从而提高了用户的操作便利性。
在一个实施例中,如图13所示,一种多媒体播放控制系统,包括交互设备10、姿态识别器和多媒体播放设备50,姿态识别器包括图像采集模块20、姿态识别模块30、指令生成模块40,其中:
交互设备10用于通过标记区域产生姿态。
本实施例中,标记区域是交互设备10的一个区域或设置在交互设备10上的标记,如反光材料等。
具体的,在一个实施例中,交互设备10可以是手持装置,可将手持装置的一部分或全部设定为指定的颜色或形状,则该指定颜色或形状的部分即形成标记区域。另外,可在手持装置上设置指定颜色或形状的标记(如反光材料),则该指定颜色或形状的标记即形成标记区域。
在另一个实施例中,交互设备10还可以是人体部位(例如人脸、手掌、手臂等),具有皮肤颜色的人体部位即形成标记区域。另外,可在人体部分上附带指定颜色或形状的标记(如反光材料),则该指定颜色或形状的标记即形成标记区域。
图像采集模块20用于采集包含标记区域的图像。
姿态识别模块30用于识别标记区域的姿态。
所谓姿态,是指标记区域在图像中所形成的姿势状态。进一步的,在二维图像中,姿态为二维图像中的标记区域与预设位置之间的角度,即姿态角;在三维图像中,姿态为三维图像中的标记区域与预设位置之间的多个姿态角所组成的矢量,即姿态向量。本发明中说的“标记区域产生的姿态”,“标记区域的姿态”都是指所述姿态,也就是不同实施例的姿态角与姿态向量。
指令生成模块40用于生成姿态对应的播放指令。
本实施例中,预先设定标记区域的姿态与播放指令之间的映射关系,并将该映射关系存储在数据库中(图中未示出)。在识别出标记区域的姿态后,指令生成模块40可用于根据姿态识别模块30识别出的姿态从数据库中查找与姿态对应的播放指令。
多媒体播放设备50用于根据播放指令控制多媒体的播放。
例如,多媒体播放设备50可用于根据播放指令控制多媒体播放开始、播放暂停、播放前进、播放后退、播放上一个、播放下一个、调低音量、调高音量等
上述多媒体播放控制系统,根据采集到的包含标记区域的图像识别出标记区域所产生的姿态,并生成姿态对应的播放指令,进一步的根据播放指令控制多媒体的播放。这种方式不需要用户操作多个操控部件,只需要挥动交互设备产生姿态即可,减少了操作步骤,操作起来更为简单和灵活,而且还可以将人体部位本身作为交互设备产生姿态,操作起来更为方便和人性化,因而这种方式加强了用户的体验,提高了用户的操作便利性。
在一个实施例中,姿态识别模块30可用于提取图像中的标记区域,进一步的获取标记区域中的像素坐标,并根据像素坐标产生标记区域姿态。
在一个实施例中,图像采集模块20采集到的图像为二维图像,如图14所示,姿态识别模块30包括第一图像处理模块302和第一姿态产生模块304,其中:
第一图像处理模块302用于提取图像中与预设颜色模型匹配的像素,对获取的像素进行连通域检测,提取检测得到的连通域中的标记区域。
具体的,图像采集模块20可为摄像机,其采集得到的图像可为二维可见光图像。优选的,还可在摄像机的镜头前加入红外滤光片,用于滤去除红外波段的其他波段光线,则图像采集模块20采集的图像为二维红外图像。由于可见光图像中,场景中的物体会对标记区域的识别形成干扰,而红外图像因滤除掉了可见光信息,干扰较少,因此二维红外图像更有利于提取标记区域。
具体的,第一图像处理模块302用于预先建立颜色模型。例如标记区域的色彩为红色,则预先建立红色模型,该模型中像素的RGB值分量可在200到255之间,G、B分量可接近于零;第一图像处理模块302则用于获取帧图像中满足该红色模型的RGB值的像素即为红色像素。另外,当采集的图像中由人体部位形成标记区域时,第一图像处理模块302则用于获取图像中与预设肤色模型匹配的像素。第一图像处理模块302还用于对获取的像素进行连通域检测,得到多个连通域,连通域是若干个连续的像素组成的集合。
本实施例中,由于标记区域的大小和形状应大致是固定不变的,第一图像处理模块302在对获取的像素进行连通域检测时,可计算得到获取的像素中的所有连通域的周长和/或面积。具体的,连通域的周长可为连通域边界像素的个数,连通域的面积可为连通域中的全部像素的个数。进一步的,第一图像处理模块302可用于将获取的连通域的周长和/或面积与预设标记区域的周长和/或面积进行对比,获取满足预设标记区域的周长和/或面积的连通域即为标记区域。优选的,第一图像处理模块302还可用于将周长的平方与面积的比值作为判断准则,连通域的该比值满足预设标记区域的该比值,则该连通域为标记区域。
第一姿态产生模块304用于获取标记区域中的像素坐标,根据像素坐标产生标记区域的姿态。
本实施例中,标记区域产生的姿态为姿态角。在一个实施例中,标记区域为一个连续区域,则第一姿态产生模块304用于计算得到像素坐标的协方差矩阵,获取协方差矩阵最大特征值对应的特征向量,根据特征向量产生标记区域的姿态,该标记区域的姿态为一个姿态角。
在另一个实施例中,标记区域包括第一连续区域和第二连续区域,则第一姿态产生模块304还用于计算第一连续区域的重心和第二连续区域的重心,根据第一连续区域的重心的像素坐标和第二连续区域的重心的像素坐标产生标记区域的姿态。具体的,计算连续区域中的全部像素坐标的平均值,所得到的像素坐标即为连续区域的重心。
在另一个实施例中,图像采集模块20采集到的图像为三维图像。具体的,图像采集模块20可采用传统的立体视觉系统(由两台控制位置已知的摄像机及相关软件组成)、结构光系统(右一台摄像机、一台光源以及相关软件组成)或TOF(time of flight,飞行时间)深度相机实现采集三维图像(即三维深度图像)。
本实施例中,如图15所示,姿态识别模块30包括第二图像处理模块310和第二姿态产生模块320,其中:
第二图像处理模块310用于对图像进行分割,提取图像中的连通域,并计算连通域的属性值,将连通域的属性值与预设的标记区域属性值进行对比,符合预设的标记区域属性值的连通域即为标记区域。
具体的,第二图像处理模块310用于当三维图像中两个相邻的像素深度相差小于预先设定的阈值时,例如5厘米,则认为两个像素连通,对整个图像进行连通域检测,可得到包含标记连通域的一系列连通域。
本实施例中,连通域的属性值包括连通域的尺寸和形状。具体的,第二图像处理模块310用于计算连通域的尺寸/形状,与输入上的标记的尺寸/形状进行对比,得到符合标记的尺寸/形状的连通域即为标记区域的连通域(标记区域)。以矩形标记为例,即交互设备上的标记在采集的图像中为矩形,预先设定好标记的长度和宽度,第二图像处理模块310则用于计算连通域对应的物理区域的长度和宽度,该长度和宽度与标记的长度和宽度越接近,则连通域与标记区域越相似。
进一步的,第二图像处理模块310用于计算连通域对应的物理区域的长度和宽度的过程如下:计算连通域像素的三维坐标的协方差矩阵,采用如下公式计算连通域对应的物理区域的长度和宽度:
其中,k为预先设定的系数,例如设为4,当λ为协方差矩阵最大特征值时,则l为连通域的长度,当λ为协方差矩阵第二大的特征值时,则l为连通域的宽度。
进一步的,第二图像处理模块310还可用于预先设定矩形标记的长宽比,例如长宽比为2,则连通域对应的物理区域的长宽比越接近于预设设定的矩形标记的长宽比,则连通域与标记区域越相似,具体的,第二图像处理模块310用于采用如下公式计算连通域对应的物理区域的长宽比:
其中,r为连通域的长宽比,λ
0为协方差矩阵的最大特征值,λ
1为协方差矩阵的第二大特征值。
第二姿态产生模块320,用于获取标记区域中的像素坐标,根据像素坐标产生标记区域的姿态。
本实施例中,标记区域的姿态为姿态向量。在一个实施例中,标记区域为一个连续区域,则第二姿态产生模块320用于计算得到像素坐标的协方差矩阵,获取协方差矩阵最大特征值对应的特征向量,根据特征向量产生标记区域的姿态。如上所述,该标记区域的姿态为一个姿态向量。
在另一个实施例中,标记区域包括第一连续区域和第二连续区域,则第二姿态产生模块320用于计算第一连续区域的重心和第二连续区域的重心,根据第一连续区域的重心的像素坐标和第二连续区域的重心的像素坐标产生标记区域的姿态。本实施例中,标记区域中的像素坐标为三维坐标,具体的,可根据计算得到的两个连续区域的重心的像素坐标产生标记区域的姿态,该姿态为一个姿态向量。
在一个实施例中,姿态识别模块30还包括判断模块(图中未示出),用于判断采集的图像为二维图像还是三维图像。具体的,本实施例中,当判断模块判断到采集的图像为二维图像时,通知第一图像处理模块302提取二维图像中的标记区域,进而通过第一姿态产生模块304产生该标记区域的姿态。当判断模块判断到采集的图像为二维图像时,通知第二图像处理模块310提取三维图像中的标记区域,进而通过第二姿态产生模块320产生该标记区域的姿态。可以理解的,本实施例中,姿态识别模块30同时包括判断模块(图中未示出)、第一图像处理模块302、第一姿态产生模块304、第二图像处理模块310和第二姿态产生模块320。本实施例既可通过二维图像识别标记区域的姿态,又可通过二维图像识别标记区域的姿态。
如图16所示,在一个实施例中,指令生成模块40包括第一姿态获取模块402和第一指令查找模块404,其中:
第一姿态获取模块402,用于从姿态识别模块30中获取当前帧图像中的标记区域的姿态。
具体的,该姿态可以是当前帧的二维图像中的标记区域的姿态角,也可以是当前帧的三维深度图像中的标记区域的姿态向量。该姿态也可称为绝对姿态。
第一指令查找模块404,用于根据预设的姿态与播放指令之间的映射关系生成与姿态对应的播放指令。
如图17所示,本实施例中,第一指令查找模块404包括第一指令类型获取单元414、第一调整幅度获取单元424、第一指令生成单元434,其中:
第一指令类型获取单元414用于根据预设的姿态与播放指令类型之间的映射关系获取姿态对应的播放指令类型。
播放指令类型包括开始、暂停、前进、后退、上一个、下一个、调高音量、调低音量等类型。
具体的,可预先设定当姿态角在(a,b)范围内时,则对应前进播放指令类型,当姿态角在(c,d)范围内时,则对应后退播放指令类型,等等。其中,a、b、c、d都为预先设定的角度,满足a<b,c<d,且集合[a,b]和集合[c,d]的交集为空。
第一调整幅度获取单元424用于根据预设的姿态与播放调整幅度之间的映射关系获取姿态对应的播放调整幅度。
具体的,可预先设定播放调整幅度与姿态角的映射关系。以二维图像为例,设姿态角在(m,n)范围内时,对应某一播放指令类型,则可设定该种类型播放指令的播放调整幅度与姿态角的映射关系为:y=k*(x-m)/(n-m),其中,y为播放调整幅度,x为姿态角,k为上限。例如,设姿态角在30度到60度范围内时,对应的播放指令类型为调高音量,则可设定播放调整幅度(即音量调高等级)与姿态角的映射关系为:y=20*(x-30)/(60-30),其中,y播放调整幅度,x为姿态角,20为最大音量等级,当姿态角为45度时,第一调整幅度获取单元424可计算得到播放调整幅度为10,即音量调高10个等级。优选的,当计算得到的播放调整幅度(即音量调高等级)为小数时,第一调整幅度获取单元424可进一步的将播放调整幅度(即音量调高等级)取整。优选的,若当前的音量等级与音量调高等级的和大于最大音量等级时,第一调整幅度获取单元424可将音量调高等级设置为最大音量调高等级与当前音量等级的差。另外,在三维图像中,所识别出的姿态包含两个姿态角,可以使用其中的一个姿态角来获取播放调整幅度,也可以使用两个姿态角来获取播放调整幅度。使用其中一个姿态角的方法原理与二维图像类似,在此则不再赘述。使用两个姿态角时,可设置播放调整幅度为两个姿态角的二元函数。
第一指令生成单元434用于根据姿态对应的播放指令类型和播放调整幅度生成相应的播放指令。
例如,播放指令类型为前进,播放调整幅度为10(分钟),则第一指令生成单元434可生成“将播放进度前进10分钟”的指令,等等。
在一个实施例中,第一指令生成单元434可直接根据姿态对应的播放指令类型生成相应的播放指令。例如,当播放指令类型为开始、暂停、上一个、下一个时,不需要获取播放调整幅度,第一指令生成单元434即可生成相应的播放指令“开始播放多媒体”、“暂停播放多媒体”、“播放上一个多媒体”、“播放下一个多媒体”。
在另一个实施例中,图像采集模块20所采集的包含标记区域的图像是图像序列,如图18所示,指令生成模块40包括第二姿态获取模块410和第二指令查找模块420,其中:
第二姿态获取模块410,用于从姿态识别模块30中获取当前帧图像中的标记区域的姿态与前预设帧图像中的标记区域的姿态之间的相对姿态。
第二指令查找模块420用于根据预设的相对姿态与播放指令之间的映射关系生成与相对姿态对应的播放指令。
如图19所示,本实施例中,第二指令查找模块420包括第二指令类型获取单元421、第二调整幅度获取单元422、第二指令生成单元423,其中:
第二指令类型获取单元421用于根据预设的相对姿态与播放指令类型之间的映射关系获取相对姿态对应的播放指令类型。
第二调整幅度获取单元422用于根据预设的相对姿态与播放调整幅度之间的映射关系获取相对姿态对应的播放调整幅度。
第二指令生成单元423用于根据相对姿态对应的播放指令类型和播放调整幅度生成相应的播放指令。
上述多媒体播放控制系统,通过产生一个姿态即可生成相应的播放指令类型和播放调整幅度来控制多媒体的播放,几乎可做到一步到位,而不需要用户操作多个操控部件(如按键等),选择播放指令类型再逐步设置播放状态以控制多媒体播放,从而提高了用户的操作便利性。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。