激光点检测方法及装置的制作方法

文档序号:6603226阅读:243来源:国知局
专利名称:激光点检测方法及装置的制作方法
技术领域
本发明总体地涉及计算机图像处理领域及人机交互领域,更具体地激光点检测方法及装置。
背景技术
在演讲或会议中,投影仪或大屏幕显示设备常常用来展示相关的材料内容。而激光笔在演讲或会议中用来在投影仪或大屏幕上指示所讲述内容。但这种激光笔无法与计算机进行交互。所以我们常常看到使用激光笔的人要额外利用白板来进行绘画讲解,或者要指示操纵计算机的人如何操作,或者自己去操作计算机,显然这给讲解人带来不便,也使得讲解过程不够流畅。为了能够使用激光笔与计算机进行交互,已经提出了激光点追踪装置来检测激光点的位置并用来操作计算机。文章Interaction with a ProjectionScreen Using a Camera-tracked Laser Pointer,,,Carsten Kirstein, Heinrich Muller,Proceedings of The International Conference on Multimedia Modeling(MMM' 98)IEEE Computer Society ft~eSS,1998描述了一个使用激光笔与投影屏幕进行交互的系统。屏幕上的激光点被一台视频摄像头所捕获,其位置通过图像处理技术进行识别。激光点的行为被转换为计算机信号通过鼠标输入接口输入计算机从而模拟鼠标动作。类似的,文章“Laser pointer interactionnDan R. Olsen Jr. , Travis Nielsen,Conference on Human Factors in Computing Systems, Proceedings of the SIGCHI conference on Human factors in computing systems, Seattle,Washington, United States,Pages :17-22,2001, ISBN 1-58113-327-8描述了一个使用激光点和摄像头实现的交互式系统,用于小组会议或其他非工作台环境。同时,为了能够使得通过激光笔与计算机交互更加容易,还有很多其他的技术。如美国专利申请公开20060284832A1中描述了,通过在摄像头前加装衍射透镜,将捕获图像中的激光点转换为容易识别的衍射图案,从而使得激光点的检测更加准确,并去除了噪声引起的干扰。美国专利 7193608B2 及文献"Laser Pointers as Collaborative Pointing Devices,,Ji-Young Oh,WolfgangStuerzlinger,Advances in Pervasive Computing,Eds. Ferscha, Hoertner, Kotsis, 0CG, ISBN 385403176-9,315-320,April 2004 中,发明了一种装置及相关的算法来解决通过激光笔与计算机交互系统中在同一时间只能由一个人操作的问题。通过其发明的装置,可以多个人同时操作计算机。在上述所引用的专利文献及其它文献中,激光笔用作交互式虚拟白板的重要输入设备。其中激光点检测的一般步骤是1.使用摄像头捕获图像;2.检测捕获图像中激光点位置;3.将激光点位置坐标由捕获图像中的坐标系转换为计算机屏幕坐标系;4.利用坐标信息绘图或控制计算机鼠标指针。但在实际的实现中,通过测试发现激光点并不能像鼠标一样灵活的使用。现象主要表现在激光点定位不够准确及使用激光点快速运动时计算机所绘线条不平滑等。
因此希望能进一步精确地定位激光点以及利用激光笔来平滑绘图。

发明内容
鉴于现有技术中的上述不足,提出了本发明。根据本发明的一个方面,提出了一种激光点检测方法,可以包括下述步骤检测输入图像中的激光区域;分割激光区域,基于分割得到的每个激光子区域,得到对应的激光点,以及确定激光点的位置。该输入图像可以是摄像头利用长曝光时间捕获的。该激光点检测方法,还可以包括基于由所述检测获得的激光区域的形状特征,确定该激光区域是否是激光点;在确定该激光区域不是激光点的情况下,执行分割所述激光区域、得到新激光点和确定新激光点位置的操作;在确定该激光区域是激光点的情况下,执行确定激光点的位置的操作。可以通过计算激光区域的长宽比来确定该激光区域是否是激光点。该分割激光区域的操作可以包括通过以激光区域的宽度的预定倍数作为每个激光子区域的长度来沿激光区域的长度方向分割该激光区域。该激光点检测方法还可以包括检测激光点运动轨迹方向,并根据激光点运动轨迹方向,确定所得到的该输入图像中的新激光点的顺序。可以基于连续多帧图像之间的激光点位置比较来计算激光点运动轨迹方向,并根据运动方向调整在一帧图像中检测到的激光点的顺序。可以把当前帧中已确定激光点顺序的最后一个激光点作为参考点,用于确定下一帧中的激光点的顺序。可以通过确定组成激光点的多个像素的中心位置的坐标来确定激光点的位置。根据本发明另一方面,提供了一种激光点检测装置,可以包括激光区域检测部件,用于检测输入图像中的激光区域;激光区域拟合部件,用于分割激光区域,基于分割得到的每个激光子区域,得到对应的激光点;以及激光点位置确定部件,用于确定激光点的位置。其中,上述所述输入图像可以是摄像头利用长曝光时间捕获的图像。由此从而可以在一帧图像中捕捉到更多的激光点运动轨迹,从而便于以更多的激光点来拟合激光点运动轨迹。另外,上述激光点检测装置还可以包括基于由所述检测获得的激光区域的形状特征,确定该激光区域是否是激光点的部件。在确定该激光区域不是激光点的情况下,由激光区域拟合部件执行分割所述激光区域、得到新激光点和由激光点位置确定部件确定新激光点位置的操作。在确定该激光区域是激光点的情况下,由激光点位置确定部件执行确定激光点的位置的操作。可以通过计算激光区域的长宽比来确定该激光区域是否是激光点。所述分割激光区域的操作可以包括通过以激光区域的宽度的预定倍数作为每个激光子区域的长度来沿激光区域的长度方向分割该激光区域。此外,上述激光点检测装置还可以包括用于检测激光点运动轨迹方向,并根据激光点运动轨迹方向,确定所得到的该输入图像中的新激光点的顺序的激光点顺序确定部件。由此,可以使得以正确的顺序输出激光点位置。该激光点顺序确定部件可以基于连续多帧图像之间的激光点位置比较来计算激光点运动轨迹方向,并根据运动方向调整在一帧图像中检测到的激光点的顺序。可以把当前帧中已确定激光点顺序的最后一个激光点作为参考点,用于确定下一帧中的激光点的顺序。上述激光点位置确定部件可以通过确定组成激光点的多个像素的中心位置的坐标来确定新激光点的位置。由此,可以将激光点位置的坐标精度提到到亚像素级,使得进一步提高激光点检测的分辨率。利用本发明激光点检测方法和激光点检测装置,可以通过处理一帧数据得到多个激光点位置坐标,能够使用普通摄像头提高激光点检测的分辨率及帧率。使用本发明的激光检测方法和装置,用户可以更平滑的使用激光笔绘图,而不需要昂贵的高质量摄像头。


图1是根据本发明一个实施例的激光点检测方法的整体流程图;图2是根据本发明另一实施例的激光点检测方法的流程图;图3是根据本发明再一实施例的激光点检测方法的流程图;图4A F示意性地图示了捕获到的带有激光点的图像;图5示意性地图示了激光点/线图像的放大图像,及其二值化轮廓;图6图示了对激光线进行分割的示意图;图7是根据本发明一个实施例的调整激光点顺序的流程图;图8是根据本发明一个实施例的激光点检测装置的示意性框图;以及图9是根据本发明一个实施例的可以实践本发明的示例性计算机系统。
具体实施例方式为了使本领域技术人员更好地理解本发明,下面结合附图和具体实施方式
对本发明作进一步详细说明。在具体描述本发明的具体实施例之前,为便于理解和整体把握本发明,这里首先阐述一下本发明的思想在背景技术部分,已经提到了现有技术中的激光点模拟鼠标通常存在定位不精确和绘图时存在线条不平滑的现象。发明人通过对系统的原理及上述现象的研究发现,引起激光点模拟鼠标的问题的主要原因是摄像头中光学传感器与光电鼠标中光学传感器的不同。在理论方面,存在至少两个参数来衡量光电鼠标的性能,分辨率与采样率。在现有技术的背景下,一般来讲,光电鼠标分辨率大于1600DPI(Dots per Inch,点每英寸),采样率 (指发送给计算机的频率)大于120FPS (Frame Per Second,帧每秒)。而对于一般摄像头而言,当其以30FPS的帧率采集640*480的图像时,对于激光点检测系统的分辨率约为40DPI, 采样率约为30FPS。从现象角度分析,就如前面所述,当用户使用激光笔在屏幕上画圆时,如果每画一个圆大约用时0. 2秒至0. 5秒。按照帧率30FPS计算,激光点检测系统大约能检测出圆上6 15个点。这就意味着通过激光点检测系统画出的图形更像一个多边形,而不是一个平滑的圆。虽然可以通过使用具有更高帧率(>60FPQ的工业级摄像头提高激光点检测系统的性能,但同时可能会大大增加系统的成本。一方面,高质量工业级摄像头成本远高于普通摄像头;另一方面,随着帧率的增加,更多的图像需要处理,这就需要更多的计算力。本发明的思想是对于一帧图像中的激光区域,不是如现有技术那样仅仅得到一个激光点,而是可以对其进行分割来得到多个激光子区域,从而基于多个激光子区域来获得多个对应的激光点,由此本发明对一帧图像的处理获得了相当于现有技术中对多帧图像进行处理的效果,因此可以提高激光点检测的帧率。图1是根据本发明一个实施例的激光点检测方法100的整体流程图。如图1所示,激光点检测方法100可以包括激光区域检测步骤110、激光区域多点拟合步骤120、激光点位置确定步骤130。下面对各步骤进行具体说明。在步骤110,检测输入图像中的激光区域。激光区域检测是从输入一帧图像中识别激光范围并确定其位置的过程。关于这里的输入图像,可以是在利用投影仪进行演讲现场对屏幕拍摄的图像,也可以是从可移动存储设备如闪存卡读取的图像,或者从远程利用有线或无线网传输的图像,总之图像的来源不构成对本发明的限制。不过,因为本发明希望通过检测一帧图像中激光点的轨迹的方法提高激光点的检测密度。因此,为了能够获得更好的检测结果,希望使一帧图像中激光点运动轨迹尽可能的长。捕获图像中激光点轨迹长度与激光点运动速度和捕获图像时相机的曝光时间有关。对于运动速度一定的激光点为了延长一帧图像中激光点轨迹,对摄像头拍摄时的曝光时间应适当延长。在本发明中,可以把摄像头曝光时间设定为l/5f秒 Ι/f秒,其中f为摄像头 1秒钟捕获的帧数。更优选地,可以把摄像头曝光时间设定为l/2f秒 Ι/f秒。图4A F 使出了用不同曝光时间捕获的图像。其中图像4A、4B、4C是使用较短曝光时间(1/500秒) 捕获的图像。图中激光点的影像仅为一个小光斑,并不能看出激光点的运动轨迹。而图4D、 4E、4F中捕获的曝光时间为1/30秒(摄像头1秒钟能够捕获30帧),从中可以明显的看出激光点运动留下的轨迹。具体的曝光时间可以根据摄像头帧率的不同、对激光点定位精确要求的不同、对激光绘图平滑度要求的不同而按需设置。输入图像的信号可以为多通道的图像信号,例如包括L通道,R通道,G通道与B通道。通道L、R、G、B分别与光线中的亮度、红色光、绿色光及蓝色光相关。L通道的信息可以通过对R通道,G通道及B通道的数据计算加权平均值获得。不过输入图像的信号的形式并不局限于此,例如还可以是本领域常用的HSV表达形式,YUV表达形式等。本发明的激光区域是指图像中存在激光的区域,其具有各种特征。例如,从亮度上,激光区域一般比背景区域亮;就颜色而言,在使用红色激光笔的情况下,激光区域一般比背景区域红;从形状上,激光区域可能表现为一般所谓的激光点状、线状或者其它形状。激光区域可以以光斑轮廓的形式来表征。光斑轮廓是一组光斑边缘点的集合。光斑轮廓的形状特征可以包括长度、宽度等。该步骤的激光区域检测可以使用任何现有的激光点/区域检测方法来实现。例如,可以使用一个最基本的激光区域检测算法,即通过判断图像中最亮区域检测激光区域。 其一般步骤如下1).将捕获图像转换为灰度图像。(如果捕获图像为灰度图像,此步骤可省略)
2).通过亮度阈值对图像二值化。亮度阈值应当根据拍摄图像所决定。一般情况下,由于激光区域亮度较高,在捕获图像中激光区域的亮度值高于其他区域,亮度阈值应设定为介于激光区域亮度与其他区域亮度之间。3).检测二值图像中白色区域(高亮区域)的轮廓。该白色区域的轮廓可以通过一组白色区域边缘上的点来描述。图5示意性地放大显示了原始图像和在对该图像进行二值化并检测后得到的轮廓。其中图5A1是图4D的原始图像经放大的图像,图5B1是图4A中的原始图像经放大的对象。通过对图5A1和图5B1所示图像进行二值化(例如亮度阈值为70),提取激光区域轮廓并可以计算轮廓的最小包围矩形。得到了图5A2和图5B2,并得出其各自激光区域的矩形轮廓特征,例如,图5A2中矩形轮廓长宽比约为8,而图5B2中矩形轮廓长宽比约为1. 7。需要说明的是,任何已知的激光区域检测算法都可以应用于本发明,如背景技术中提及的美国专利申请公开20060284832A1或美国专利7193608中描述的方法都可以应用于本发明。在步骤120,对于在步骤110中检测得到的激光区域进行分割,并基于分割得到的激光子区域,得到对应的激光点。该分割并得到对应的激光点的步骤可以视为用多个激光点来拟合激光区域的操作。一种简单的拟合方式可以是按固定间距将激光区域分割为激光子区域,并将每一激光子区域认定为一个激光点,由此拟合激光笔的运动轨迹。关于固定间距,可以根据所预想的激光点的特征来确定,例如如果把激光点视为一个正方形,则可以把激光区域的宽度作为该固定间距;如果认为把激光点视为长宽比为2 1的小矩形更为合适,则可以把激光区域的宽度的2倍作为该固定间距。当然可以根据需要采用宽度的3、4倍等来划分激光区域。上述拟合方式仅仅为示例,可以有很多替代方式。例如,如果激光区域的不同部分的宽度是不同的,则可以首先进行粗划分,把激光区域分割成第一多个子区域,每个子区域的宽度基本均勻,然后对于每个子区域采用该子区域的宽度的预定倍数来进行精细划分, 以如此经过精细划分后得到的最后的子区域作为激光点。再比如,如果认为以圆形来分割更加适当,则可以用固定半径的圆形或者可变半径的圆形来拟合该激光区域,然后将每个圆形子区域作为激光点。需要说明的是,在激光区域较小,本身即可以作为一个激光点的情况下,该步骤的分割和确定激光点的结果将以该激光区域本身作为激光点。例如,设一个激光区域长宽比为1,即为正方形的形状,则在以宽度或宽度的两倍来分割该激光区域时,显然分割后得到的是该激光区域本身。图6示意性地图示了通过对图5A2中的激光区域的矩形轮廓利用宽度2倍的长度来沿着该矩形轮廓的长度方向划分而得到的四个小矩形,分别标记为1、2、3、4。该每个小矩形中的激光轨迹(白色像素)即可以作为一个激光点。利用本发明的上述实施例,例如,对于图6所示的情况,从一帧图像中获得了 4个激光点,而现有技术中一般只从该图像得到一个激光点,例如一般把最亮的像素作为一个激光点。从而,相比于现有技术,本发明可以在使用设备不变(摄像头拍摄速率一定)的前提下,对激光点运动轨迹的捕获获得更大的点密度,从而对激光点运动轨迹的描述更加精确、平滑。在步骤130,确定激光点的位置。图像中被视为激光点的区域通常包括多个像素,每个像素具有在图像中的位置坐标。不能把多个像素的坐标直接作为激光点的位置,需要进一步确定表示激光点位置的坐标。存在很多确定激光点的位置的方法。例如现有技术中通常以亮度最大的像素的位置坐标作为激光点的位置坐标。根据本发明一个实施例,可以确定该多个像素的中心位置的坐标作为激光点的位置。该多个像素的中心位置的坐标(Xc,Yc)可以通过直接计算各个像素位置的平均值来获得。设一个激光点由η个像素P1, P2... Pn构成。对于像素点Pi其在图像中的位置坐标为(Xi,yi),则中心位置的坐标(Xc,Yc)可由下述公式(1)求得
权利要求
1.一种激光点检测方法,包括下述步骤 检测输入图像中的激光区域;分割激光区域,基于分割得到的每个激光子区域,得到对应的激光点,以及确定激光点的位置。
2.如权利要求1所述的激光点检测方法,其中,所述输入图像是摄像头利用长曝光时间捕获的。
3.如权利要求1所述的激光点检测方法,还包括基于由所述检测获得的激光区域的形状特征,确定该激光区域是否是激光点; 在确定该激光区域不是激光点的情况下,执行分割所述激光区域、得到激光点和确定激光点位置的操作;在确定该激光区域是激光点的情况下,执行确定激光点的位置的操作。
4.如权利要求3所述的激光点检测方法,其中,通过计算激光区域的长宽比来确定该激光区域是否是激光点。
5.如权利要求1所述的激光点检测方法,其中,所述分割激光区域的操作包括通过以激光区域的宽度的预定倍数作为每个激光子区域的长度来沿激光区域的长度方向分割该激光区域。
6.如权利要求1所述的激光点检测方法,还包括检测激光点运动轨迹方向,并根据激光点运动轨迹方向,确定所得到的该输入图像中的激光点的顺序
7.如权利要求6所述的激光点检测方法,其中基于连续多帧图像之间的激光点位置比较来计算激光点运动轨迹方向,并根据运动方向调整在一帧图像中检测到的激光点的顺序。
8.如权利要求7所述的激光点检测方法,还包括,把当前帧中已确定激光点顺序的最后一个激光点作为参考点,用于确定下一帧中的激光点的顺序。
9.如权利要求1所述的激光点检测方法,其中一个激光点由多个像素组成,通过确定多个像素的中心位置的坐标来确定激光点的位置。
10.一种激光点检测装置,包括激光区域检测部件,用于检测输入图像中的激光区域;激光区域拟合部件,用于分割激光区域,基于分割得到的每个激光子区域,得到对应的激光点;以及激光点位置确定部件,用于确定激光点的位置。
全文摘要
提供了激光检测方法及装置。该激光检测方法包括检测输入图像中的激光区域;分割激光区域,基于分割得到的每个激光子区域,得到对应的激光点,以及确定激光点的位置。利用本发明激光点检测方法和激光点检测装置,可以通过处理一帧数据得到多个激光点位置坐标,能够使用普通摄像头提高激光点检测的分辨率及帧率,用户可以更平滑的使用激光笔绘图,而不需要昂贵的高质量摄像头。
文档编号G06T7/00GK102262733SQ20101018598
公开日2011年11月30日 申请日期2010年5月28日 优先权日2010年5月28日
发明者于海华, 于海龙, 王炜 申请人:株式会社理光
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1