本发明专利技术提供了一种摄像头条件下获取远程手势轨迹的方法,属于计算机人机交互界面领域。该方法包括:(1).通过摄像头获得n帧bmp图像,以及图像的宽度、高度、存放数据的指针;(2).依次对n帧图像进行处理,获得手势图像的质心坐标;(3).输出步骤(2)得到的n帧手势图像的n帧质心坐标,然后将n帧质心坐标经过三次B样条拟合得到三次B样条拟合函数;(4).通过三次B样条拟合函数,画出n帧图像的轨迹曲线。
【技术实现步骤摘要】
本专利技术属于计算机人机交互界面领域,具体涉及一种摄像头条件下获取远程手势 轨迹的方法。
技术介绍
在像平面上,每帧手势有一个重心位置,当手运动时,各帧手势重心位置形成一个 轨迹,该轨迹就是手势轨迹。目前获取手势轨迹主要方法是采用卡尔曼滤波器或粒子滤波 器等跟踪器跟踪每帧手势重心位置,进而得到手势轨迹。该方法存在的主要问题是:它们需 要逐帧处理,所以速度慢,延迟严重,影响手势轨迹的实用性。因此,人手在运动过程中,连 续的手势质心点形成手势运动轨迹曲线。现有算法主要是利用跟踪器逐帧跟踪手势质心得 到手势运动轨迹,算法速度慢,时间延迟。
技术实现思路
本专利技术的目的在于解决上述现有技术中存在的难题,提供一种摄像头条件下获取 远程手势轨迹的方法,利用摄像头捕获人手运动图像,获得平滑的手势运动轨迹曲线。 本专利技术是通过以下技术方案实现的: ,包括: (1).通过摄像头获得n帧bmp图像,以及图像的宽度、高度、存放数据的指针; (2).依次对n帧图像进行处理,获得手势图像的质心坐标; (3).输出步骤⑵得到的n帧手势图像的n帧质心坐标,然后将n帧质心坐标经 过三次B样条拟合得到三次B样条拟合函数; (5).通过三次B样条拟合函数,画出n帧图像的轨迹曲线。 所述步骤(2)是这样实现的: (21)获得图像的历史帧数n、n帧图像序列的首地址、图像的宽度和高度; (22)对图像进行处理,将手势图像从背景图像中分割出来; (23)对分割出的手势图像去噪处理; (24)对手势图像进行腐蚀、膨胀形态学处理; (25)获得手势图像的质心坐标并将质心坐标存放在数组CentroidCurve; (26)循环步骤(22)-(26),直到处理完n帧图像序列; (27)返回n帧图像的手势轨迹坐标CentroidCurve []。 所述步骤(22)是这样实现的: (A1)、获得图像的首地址和图像的高度、宽度及每行字节数; (A2)、遍历图像上每个像素点,求出像素点的b、g、r分量; (A3)、根据手势的肤色模型,判断图像中每个像素的r、g、b分量,若满足r>95&&g > 40&&b > 20&&abs(r-g) > 15&&r > g&&r > b条件,则判断为肤色,将像素点置为手势颜 色,否则判断为非肤色,将像素点置为背景色; (A4)循环步骤(A2)到(A3),直到处理完图像的全部像素点。 所述步骤(23)采用8邻域去噪处理方法实现去噪处理。 所述步骤(23)是这样实现的: (B1)获得图像的首地址和图像的高度、宽度及每行字节数; (B2)为防越界,不处理最左边、最右边、最上边和最下边四边的像素,从第2彳丁第2 列开始,遍历图像的像素点; (B3)求出像素点的b、g、r分量,判断像素点是背景色还是分割的手势颜色,如果 是手势颜色,则计算该像素点的上、下、左、右、左上、左下、右上、右下八个方向的像素点对 应的b、g、r分量; (B4)判断八个邻域中,如果有大于或等于4个点是白点,则认为此点是噪声点,并 将该点置为背景色; (B5)循环步骤(B3)~(B4),直到处理完原图的全部像素点。 所述步骤(24)中的腐蚀处理如下: (C1)获得图像的首地址和图像的高度、宽度及每行字节数; (C2)开辟一块内存缓冲区; (C3)定义一个一维数组B: B = {1,0,1, 0,0,0, 1,0,1} (C4)为防越界,不处理最左边、最右边、最上边和最下边四边的像素,从第2彳丁第2 列开始,将指向的目标图像的像素的值赋值给目标点像素点,检查这个像素点,利用结构元 素数组判断该像素点的前一点、后一点、上一点、下一点这四点中是否有背景点,有则将检 查的像素点的灰度值赋值为255,否则保持不变; (C5)循环步骤(C4),直到处理完原图的全部像素点; (C6)将结果暂存在内存缓冲区中; (C7)将结果从内存复制到原图的数据区。 所述步骤(24)中的膨胀处理是这样实现的:01)获得图像的首地址和图像的高度、宽度及每行字节数;02)开辟一块内存缓冲区; (D3)定义一个一维数组: B = {1,0,1, 0,0,0, 1,0,1} (D4)为防越界,不处理最左边、最右边、最上边和最下边四边的像素,从第2彳丁第2 列开始,将指向的目标图像的像素的值赋值给目标点像素点,检查这个像素点,利用结构元 素数组判断该像素点的前一点、后一点、上一点、下一点这四点中是否有相交点,有则将检 查的像素点的灰度值赋值为〇,否则保持不变; (D5)循环步骤(D4),直到处理完原图的全部像素点; (D6)将结果暂存在内存缓冲区中; (D7)将结果从内存复制到原图的数据区。 所述步骤(25)中获得手势图像的质心坐标是这样实现的: (E1)获得图像的首地址和图像的高度、宽度及每行字节数; (E2)遍历图像,求得所有手势点的x、y值之和并分别统计手势点的个数; (E3)将手势点x、y值的和,除以手势点个数得到质心坐标。 与现有技术相比,本专利技术的有益效果是:现有技术主要利用跟踪器逐帧跟踪手势 质心,根据手势质心序列形成手势轨迹。本专利技术在获得手势质心序列的基础上利用三次B 样条对手势质心序列进行拟合,得到平滑的手势运动轨迹。【附图说明】 图1本专利技术方法的步骤框图。【具体实施方式】 下面结合附图对本专利技术作进一步详细描述: 如图1所示,本专利技术方法包括: 1.通过摄像头获得n帧bmp图像,及图像的宽度、高度、存放数据的指针。 2.对n帧图像依次进行如下处理: { (1)利用肤色模型(即 r > 95&&g > 40&&b > 20&&abs(r-g) > 15&&r > g&&r > b),提取手势图像(某像素点满足肤色模型,则认为是手势,否则认为是背景),二值化处 理,即将肤色像素点置成一种颜色(如红色),背景像素点置成另一种颜色(如白色),颜色 改变是通过像素点对应的r、g和b分量来进行设置的; (2)对提取出的手势图像(手势图像是指从背景提取出的手势,手势区域置成红 色,背景区域置成白色)进行8邻域去噪处理得到去噪处理后的手势图像。 (3)对所述去噪处理后的手势图像进行腐蚀、膨胀形态学处理。[当前第1页1 2 本文档来自技高网...
【技术保护点】
一种摄像头条件下获取远程手势轨迹的方法,其特征在于:所述方法包括:(1).通过摄像头获得n帧bmp图像,以及图像的宽度、高度、存放数据的指针;(2).依次对n帧图像进行处理,获得手势图像的质心坐标;(3).输出步骤(2)得到的n帧手势图像的n帧质心坐标,然后将n帧质心坐标经过三次B样条拟合得到三次B样条拟合函数;(4).通过三次B样条拟合函数,画出n帧图像的轨迹曲线。
【技术特征摘要】
【专利技术属性】
技术研发人员:冯志全,冯仕昌,
申请(专利权)人:济南大学,
类型:发明
国别省市:山东;37
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。