CN102262733B - 激光点检测方法及装置 - Google Patents

激光点检测方法及装置 Download PDF

Info

Publication number
CN102262733B
CN102262733B CN201010185986.6A CN201010185986A CN102262733B CN 102262733 B CN102262733 B CN 102262733B CN 201010185986 A CN201010185986 A CN 201010185986A CN 102262733 B CN102262733 B CN 102262733B
Authority
CN
China
Prior art keywords
laser
laser spots
region
spots
detection method
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN201010185986.6A
Other languages
English (en)
Other versions
CN102262733A (zh
Inventor
于海龙
王炜
于海华
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to CN201010185986.6A priority Critical patent/CN102262733B/zh
Publication of CN102262733A publication Critical patent/CN102262733A/zh
Application granted granted Critical
Publication of CN102262733B publication Critical patent/CN102262733B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Image Analysis (AREA)

Abstract

提供了激光检测方法和装置。该激光检测方法包括检测输入图像中的激光区域;分割激光区域,基于分割得到的每个激光子区域,得到对应的激光点,以及确定激光点的位置。利用本发明激光点检测方法和激光点检测装置,可以通过处理一帧数据得到多个激光点位置坐标,能够使用普通摄像头提高激光点检测的分辨率及帧率,用户可以更平滑的使用激光笔绘图,而不需要昂贵的高质量摄像头。

Description

激光点检测方法及装置
技术领域
本发明总体地涉及计算机图像处理领域及人机交互领域,更具体地激光点检测方法及装置。
背景技术
在演讲或会议中,投影仪或大屏幕显示设备常常用来展示相关的材料内容。而激光笔在演讲或会议中用来在投影仪或大屏幕上指示所讲述内容。但这种激光笔无法与计算机进行交互。所以我们常常看到使用激光笔的人要额外利用白板来进行绘画讲解,或者要指示操纵计算机的人如何操作,或者自己去操作计算机,显然这给讲解人带来不便,也使得讲解过程不够流畅。
为了能够使用激光笔与计算机进行交互,已经提出了激光点追踪装置来检测激光点的位置并用来操作计算机。文章“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 Press,1998描述了一个使用激光笔与投影屏幕进行交互的系统。屏幕上的激光点被一台视频摄像头所捕获,其位置通过图像处理技术进行识别。激光点的行为被转换为计算机信号通过鼠标输入接口输入计算机从而模拟鼠标动作。类似的,文章“Laser pointer interaction”Dan 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,OCG,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个点。这就意味着通过激光点检测系统画出的图形更像一个多边形,而不是一个平滑的圆。虽然可以通过使用具有更高帧率(>60FPS)的工业级摄像头提高激光点检测系统的性能,但同时可能会大大增加系统的成本。一方面,高质量工业级摄像头成本远高于普通摄像头;另一方面,随着帧率的增加,更多的图像需要处理,这就需要更多的计算力。
本发明的思想是:对于一帧图像中的激光区域,不是如现有技术那样仅仅得到一个激光点,而是可以对其进行分割来得到多个激光子区域,从而基于多个激光子区域来获得多个对应的激光点,由此本发明对一帧图像的处理获得了相当于现有技术中对多帧图像进行处理的效果,因此可以提高激光点检测的帧率。
图1是根据本发明一个实施例的激光点检测方法100的整体流程图。
如图1所示,激光点检测方法100可以包括激光区域检测步骤110、激光区域多点拟合步骤120、激光点位置确定步骤130。下面对各步骤进行具体说明。
在步骤110,检测输入图像中的激光区域。
激光区域检测是从输入一帧图像中识别激光范围并确定其位置的过程。
关于这里的输入图像,可以是在利用投影仪进行演讲现场对屏幕拍摄的图像,也可以是从可移动存储设备如闪存卡读取的图像,或者从远程利用有线或无线网传输的图像,总之图像的来源不构成对本发明的限制。
不过,因为本发明希望通过检测一帧图像中激光点的轨迹的方法提高激光点的检测密度。因此,为了能够获得更好的检测结果,希望使一帧图像中激光点运动轨迹尽可能的长。捕获图像中激光点轨迹长度与激光点运动速度和捕获图像时相机的曝光时间有关。对于运动速度一定的激光点为了延长一帧图像中激光点轨迹,对摄像头拍摄时的曝光时间应适当延长。在本发明中,可以把摄像头曝光时间设定为1/5f秒~1/f秒,其中f为摄像头1秒钟捕获的帧数。更优选地,可以把摄像头曝光时间设定为1/2f秒~1/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)可以通过直接计算各个像素位置的平均值来获得。设一个激光点由n个像素P1,P2...Pn构成。对于像素点Pi其在图像中的位置坐标为(xi,yi),则中心位置的坐标(XC,YC)可由下述公式(1)求得
X C = Σ 1 n X i n Y C = Σ 1 n Y i n - - - ( 1 )
上面在计算多个像素的中心位置即激光点的位置时,对各个像素同等对待。作为替代,可以基于各个像素的亮度为各个像素赋予不同的权重,通过计算各个像素位置的加权平均来计算激光点的位置。例如,认为亮度大的像素更能代表激光点,因此为亮度大的像素赋予较大权重,比如,以每个像素的亮度占全体像素亮度和的比例作为权重。设一个激光点由n个像素P1,P2...Pn构成。对于像素点Pi其在图像中的位置坐标为(xi,yi),亮度为Vi,权重为Wi,则权重和中心位置坐标可以由计算公式(2)和(3)来计算:
W i = V i Σ 1 n V i - - - ( 2 )
X C = Σ 1 n ( X i × W i ) Y C = Σ 1 n ( Y i × W i ) - - - ( 3 )
本发明实施例的上述通过计算构成激光点的多个像素的中心位置作为激光点的位置的方法,将激光点检测的精度提高到亚像素级别,从而提高检测激光点的分辨率。
图2示出了根据本发明另一实施例的激光点检测方法200的流程图。
图2所示方法与图1所示方法不同在于多了判断步骤211。步骤210、220、230的操作与图1的步骤110、120、130的操作相同,在此对其不再赘述。
在步骤211,基于由所述检测获得的激光区域的形状特征,确定该激光区域是否是激光点。
对于步骤210检测获得的激光区域,如前文曾提及的,可以用光斑轮廓的形式来表示。
轮廓的形状特征可以包括轮廓的长度、宽度、面积等。根据本发明的一个实施例,通过计算激光点区域轮廓的最小包围矩形来近似得出激光区域的长度及宽度特征信息。而后根据其长度与宽度的比值来判断该激光区域是否是激光点。例如,当激光区域轮廓的长度与宽度的比值小于2时认为该区域为激光点,否则认为其不是激光点。
例如,仍然以图5为例,如前文所述,通过对图5A1和图5B1所示图像进行二值化(例如亮度阈值为70),提取激光区域轮廓并可以计算轮廓的最小包围矩形。得到了图5A2和图5B2,并得出其各自激光区域的矩形轮廓的长宽比,图5A2中矩形轮廓长宽比约为8,而图5B2中矩形轮廓长宽比约为1.7。在以长宽比是否大于2作为判别激光区域是否为激光点标准的情况下,图5A2中的激光区域被识别为不是激光点;而图像5B2中的激光区域被识别为激光点。
不过上述识别一个激光区域是否是激光点的方法仅仅是示例。还可以采用其它方法。例如,可以通过判断一个激光区域与圆形的近似程度来判断该激光区域是否适于认为是激光点。再比如,可以通过判断该激光区域的大小来判断该激光区域是否适于认为是激光点。
如果在步骤211中一个激光区域被判断为是激光点,则直接前进到步骤230,进行激光点位置的确定。
如果在步骤211中一个激光区域被判断为不是激光点,则前进到步骤220,进行激光区域的分割和新激光点的获得操作。
上面参考图1和图2描述的本发明实施例通过对一帧图像中的激光轨迹进行分割而可以用多个像素点拟合激光点轨迹,从而可以在使用设备不变(摄像头拍摄速率一定)的前提下,对激光点运动轨迹的捕获获得更大的点密度,从而对激光点运动轨迹的描述更加精确、平滑。本发明尤其适用于采用普通帧率或低帧率摄像头捕获的图像。
图3是根据本发明再一实施例的激光点检测方法300的流程图。
在有些情况下,例如在利用激光笔来模拟鼠标绘图的情况下,激光点的顺序可能是很重要的。对于每帧图像中检测得到一个激光点的情况,激光点的顺序可以简单的通过根据激光点所属的帧的顺序获得。但是,对于一帧图像中检测到的多个激光点往往无法知道其先后顺序。如前所述,图FIG.6中通过检测可以从一帧图像得到四个激光点(标记为1、2、3、4),但仅通过该图片无法确定四个激光点的先后顺序。
图3所示方法300与图2所示方法不同在于,在分割激光区域得到拟合激光区域的多个激光点的步骤320之后多了激光点顺序确定步骤321。当然,也可以在确定激光点位置的步骤330后,执行该激光点顺序确定步骤。
激光点顺序的确定既可以手动进行也可以自动进行。例如,如果预先在绘图之前,指示绘图的方向将为顺时针方向,那么可以容易地按照顺时针方向确定一帧图像中的多个激光点的顺序。
根据本发明的一个实施例,一种自动确定激光点的顺序的方法是根据多帧图像之间激光点的位置关系,检测激光点的运动轨迹方向,并根据该方向确定一帧图像中的多个激光点的顺序。下面参考图7来描述根据本发明一个实施例的激光点顺序确定方法的流程图。该方法可以用于实现图3所示的步骤321。
在图7所示的方法中,对每一帧检测到的激光点进行处理,通过比较相邻两帧图像中检测到的激光点位置来判断激光点运动轨迹方向。
如图7所示,在步骤751,接收一帧图像中检测到的激光点,一帧中所检测到的激光点的数目可以为一个或多个。
在步骤752,判断该输入的一个或多个激光点是否来自第一帧。判断是否是第一帧可以通过检测是否存在参考点以及点缓冲区中是否存在缓冲点进行。参考点被视为在先帧中激光点所处的最后位置,供确认其后帧中的激光点顺序之用,点缓冲区用于暂存一帧图像中当前无法判断顺序的激光点。如果不存在参考点且点缓冲区为空,则确定输入的激光点来自第一帧图像。在没有其它信息的情况下,对于第1帧图像无法判断激光点运动轨迹。
如果在步骤752中确定输入激光点所属的帧图像是第一帧,则前进到步骤759。
在步骤759,确定该帧图像中检测到的激光点是一个还是多个。如果确定是单个激光点,则可以将该激光点设为参考点,以供确定下一帧图像中激光点顺序之用。如果在步骤759确定是多个激光点,则这些激光点的顺序暂时无法确定,则在步骤760中将该多个激光点暂存于缓冲区72中。
如果在步骤752确定不是第一帧图像,则前进到步骤753。
在步骤753,计算激光点轨迹方向。例如,一种实现方法是计算当前帧图像中的各个激光点与前一帧图像中的一个或多个激光点之间的距离,距离最近的两点即分别为前一帧图像中的最后一点和当前帧中的起始激光点,由此确定了激光点运动轨迹方向为从前一帧图像中的最后一点到当前帧中的起始激光点的方向。另一种更简单的实现方式是:当存在参考点时,计算当前帧中的各激光点与参考点的距离,距参考点最近的激光点即为当前帧中的起始激光点(换句话说,当前帧中沿激光点轨迹方向的第一个激光点),激光点运动轨迹方向即为从参考点到该起始激光点的方向。当不存在参考点时,如存在缓冲区点,则可以分别计算缓冲区中的两端点与当前帧中多个激光点中两端点(例如,对于图6所示的情况,两端点即为激光点1和4)的距离,距离最近的两点分别为缓冲区中的末端点和当前帧中多个激光点的起始点,激光点运动方向即为从该缓冲区的末端点到当前帧中的起始点的方向。
在步骤753中确定了激光点轨迹方向后,前进到步骤754,判断是否存在缓冲点。
如果在步骤754中判断存在缓冲点(即存在尚未确定顺序的先前激光点),则前进到步骤755,其中合并缓存点和当前帧中的激光点。然后前进到步骤756,按照激光点运动轨迹方向,确定合并后的激光点的顺序。
如果在步骤754中确定不存在缓冲点,则前进到步骤756,按照激光点运动轨迹方向,确定当前帧中的激光点的顺序。
在步骤757中,将当前帧中沿运动轨迹方向上的最后激光点设为参考点,供下一帧中检测激光点轨迹方向使用。同时,如果点缓冲区72不为空则清空点缓冲区。
在步骤758,输出顺序已确定的激光点。
另外,如果激光点/线检测模块在一帧中没有检测到激光点/线(第n+1帧),则此时可以判断一段激光点运动轨迹的结束。此时需要清除参考点71和点缓冲区72中的点。
任何其它可检测出运动轨迹方向的方法都可以用于本发明,以便确定一帧图像中的多个激光点的顺序。例如,可以采用光流法(optical flow)。光流法是关于视域中的物体运动检测中的概念。光流法的基本思想是:在空间中,运动可以用运动场描述,而在一个图像平面上,物体的运动往往是通过图像序列中不同图像灰度分布的不同体现的,从而,空间中的运动场转移到图像上就表示为光流场。光流场反映了图像上每一点灰度的变化趋势,可看成是带有灰度的像素点在图像平面上运动而产生的瞬时速度场,也是一种对真实运动场的近似估计。在比较理想的情况下,其不需要预先知道场景的任何信息,即可精确地计算出运动物体的速度。光流表达了图像的变化,由于它包含了目标运动的信息,因此可被观察者用来确定目标的运动情况。在光流法中,通常运动用向量来表示,这个向量头或者尾指向图像序列中的像素。关于光流法的具体描述,可以参考文献:S.S.Beauchemin,J.L.Barron(1995).The computation of optical flow.ACM New York,USA.。
光流法可以检测到整帧图像中的运动向量,但计算量相对较大。
根据本发明实施例的图7所示的激光点轨迹方向检测方法相对运算量小,计算速度快。
图8示出了根据本发明一个实施例的激光点检测装置800的示意性框图。该激光点检测装置800可以包括:激光区域检测部件801,用于检测输入图像中的激光区域;激光区域拟合部件802,用于分割激光区域,基于分割得到的每个激光子区域,得到对应的新激光点;以及激光点位置确定部件803,用于确定激光点的位置。
其中,上述所述输入图像可以是摄像头利用长曝光时间捕获的图像。由此从而可以在一帧图像中捕捉到更多的激光点运动轨迹,从而便于以更多的激光点来拟合激光点运动轨迹。
另外,上述激光点检测装置还可以包括基于由所述检测获得的激光区域的形状特征,确定该激光区域是否是激光点的部件。在确定该激光区域不是激光点的情况下,由激光区域拟合部件执行分割所述激光区域、得到新激光点和由激光点位置确定部件确定新激光点位置的操作。在确定该激光区域是激光点的情况下,由激光点位置确定部件执行确定激光点的位置的操作。
可以通过计算激光区域的长宽比来确定该激光区域是否是激光点。
所述分割激光区域的操作可以包括:通过以激光区域的宽度的预定倍数作为每个激光子区域的长度来沿激光区域的长度方向分割该激光区域。
此外,上述激光点检测装置还可以包括用于检测激光点运动轨迹方向,并根据激光点运动轨迹方向,确定所得到的该输入图像中的新激光点的顺序的激光点顺序确定部件。由此,可以使得以正确的顺序输出激光点位置。
该激光点顺序确定部件可以基于连续多帧图像之间的激光点位置比较来计算激光点运动轨迹方向,并根据运动方向调整在一帧图像中检测到的激光点的顺序。可以把当前帧中已确定激光点顺序的最后一个激光点作为参考点,用于确定下一帧中的激光点的顺序。
上述激光点位置确定部件可以通过确定组成激光点的多个像素的中心位置的坐标来确定新激光点的位置。由此,可以将激光点位置的坐标精度提到到亚像素级,使得进一步提高激光点检测的分辨率。
以上示例性地描述了根据本发明实施例的激光点检测方法和激光点检测装置,利用该激光点检测方法和激光点检测装置,可以通过处理一帧数据得到多个激光点位置坐标,能够使用普通摄像头提高激光点检测的分辨率及帧率。使用本发明的激光检测方法和装置,用户可以更平滑的使用激光笔绘图,而不需要昂贵的高质量摄像头。
另外,通过确定组合激光点的多个像素的中心位置作为激光点的位置,检测激光点位置可以精确到亚像素级别。
需要说明的是,本发明前文描述了采用低帧率或普通帧率摄像头捕获图像情况下,本发明在提高激光点定位和/或以激光笔描绘平滑线条上具有很强的改进作用,不过这并不意味这本发明只能应用于采用低帧率或普通帧率摄像头捕获图像的情况,本发明当然可以应用于采用高帧率摄像头捕获图像,这可以进一步提高激光点定位的准确性和所绘线条的平滑度。
图9是根据本发明一个实施例的可以实践本发明的示例性计算机系统。
如图9所示,一个针对激光点检测的计算机系统10包括主机11,键盘16,监视器17,打印机18,软盘驱动器19,网络接入器20以及硬盘驱动器21。主机11包括数据总线12,随机存储器(RAM)13,只读存储器(ROM)14,中心处理器15以及外设总线23。
根据从随机存储器13中接到的指令,中心处理器15控制输入数据的接收和处理,以及输出到监视器17或者其他外设。在本实施例中,中心处理器15的一个功能是处理输入的图像,检测输入图像中的激光区域,分割激光区域,基于分割得到的激光子区域来得到激光点,确定激光点的位置。检测到的激光点位置可以供其他应用程序使用。
中心处理器15通过数据总线12来访问随机存储器13和只读存储器14。随机存储器13被中心处理器15用作一块可读写的内存,用来作为各个进程的工作区以及可变数据存储区,也可以用来存储输入图像如来自摄像头22的图像,检测的激光区域,激光点等。只读存储器14存储例如激光点检测程序,以及其他应用程序等。
外设总线23用于访问和计算机11相连的输入,输出以及存储等外围设备。在本实施例中,这些外围设备包括监视器17,打印机18,软盘驱动器19,网络接入器20、硬盘驱动器21、摄像设备22。监视器17通过外设总线23来显示中心处理器15输出的数据和图像。它可以是栅格式显示设备如CRT或者是LCD显示器。打印机18把中心处理器输入的数据和图像打印到纸张或者是和纸张相似的媒介。软盘驱动器19以及硬盘驱动器21用来存储输入图像如来自摄像头22的图像,检测的激光区域,激光点。通过软盘驱动器19,图像可以在不同计算机系统之间传递。硬盘驱动器21存储空间更大,而且访问速度更快。其他的存储设备,比如闪存,也可以用来图像供计算机系统10访问。摄像设备22可用于拍摄含有激光点的屏幕图像,以供中心处理器15处理,从而检测图像中的激光区域。计算机系统10通过网络接入器20在网络上发送数据和接收来自其他计算机系统的数据。用户通过键盘16输入指令给计算机系统10。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。

Claims (10)

1.一种激光点检测方法,包括下述步骤:
检测输入的由摄像机捕获的图像中的激光区域;
分割激光区域,基于分割得到的每个激光子区域,得到对应的激光点,由此以多个激光点拟合激光区域,以及
确定激光点的位置。
2.如权利要求1所述的激光点检测方法,其中,所述输入图像是摄像头利用长曝光时间捕获的。
3.如权利要求1所述的激光点检测方法,还包括:
基于由所述检测获得的激光区域的形状特征,确定该激光区域是否是激光点;
在确定该激光区域不是激光点的情况下,执行分割所述激光区域、得到激光点和确定激光点位置的操作;
在确定该激光区域是激光点的情况下,执行确定激光点的位置的操作。
4.如权利要求3所述的激光点检测方法,其中,通过计算激光区域的长宽比来确定该激光区域是否是激光点。
5.如权利要求1所述的激光点检测方法,其中,所述分割激光区域的操作包括:通过以激光区域的宽度的预定倍数作为每个激光子区域的长度来沿激光区域的长度方向分割该激光区域。
6.如权利要求1所述的激光点检测方法,还包括:
检测激光点运动轨迹方向,并根据激光点运动轨迹方向,确定所得到的该输入图像中的激光点的顺序。
7.如权利要求6所述的激光点检测方法,其中:基于连续多帧图像之间的激光点位置比较来计算激光点运动轨迹方向,并根据运动方向调整在一帧图像中检测到的激光点的顺序。
8.如权利要求7所述的激光点检测方法,还包括,把当前帧中已确定激光点顺序的最后一个激光点作为参考点,用于确定下一帧中的激光点的顺序。
9.如权利要求1所述的激光点检测方法,其中一个激光点由多个像素组成,通过确定多个像素的中心位置的坐标来确定激光点的位置。
10.一种激光点检测装置,包括:
激光区域检测部件,用于检测输入的由摄像机捕获的图像中的激光区域;
激光区域拟合部件,用于分割激光区域,基于分割得到的每个激光子区域,得到对应的激光点,由此以多个激光点拟合激光区域;以及
激光点位置确定部件,用于确定激光点的位置。
CN201010185986.6A 2010-05-28 2010-05-28 激光点检测方法及装置 Expired - Fee Related CN102262733B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201010185986.6A CN102262733B (zh) 2010-05-28 2010-05-28 激光点检测方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201010185986.6A CN102262733B (zh) 2010-05-28 2010-05-28 激光点检测方法及装置

Publications (2)

Publication Number Publication Date
CN102262733A CN102262733A (zh) 2011-11-30
CN102262733B true CN102262733B (zh) 2014-03-19

Family

ID=45009354

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201010185986.6A Expired - Fee Related CN102262733B (zh) 2010-05-28 2010-05-28 激光点检测方法及装置

Country Status (1)

Country Link
CN (1) CN102262733B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170046843A1 (en) * 2015-08-11 2017-02-16 Huawei Technologies Co., Ltd. Method, Apparatus and System for Detecting Location of Laser Point on Screen

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104202521B (zh) * 2014-08-28 2016-05-25 努比亚技术有限公司 拍摄方法及拍摄装置
CN111368819B (zh) * 2017-03-21 2023-05-30 北京中安未来科技有限公司 光斑检测方法和装置
CN110231597B (zh) * 2018-03-05 2022-07-12 理光软件研究所(北京)有限公司 自动化设备的定位系统和方法
CN109696240A (zh) * 2018-12-26 2019-04-30 信利光电股份有限公司 半导体激光器全局均匀度的检测方法、装置及可读存储介质
CN111091598B (zh) * 2019-12-20 2023-08-25 武汉华工激光工程有限责任公司 多光斑同步测量分析方法及装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1289086A (zh) * 1999-09-21 2001-03-28 精工爱普生株式会社 交互显示系统
CN1534544A (zh) * 2003-04-01 2004-10-06 中国科学院电子学研究所 大屏幕非接触式控制方式
CN1687886A (zh) * 2005-04-08 2005-10-26 清华大学 一种计算机的远距离无线控制装置
CN101025656A (zh) * 2007-01-19 2007-08-29 清华大学 嵌入式屏幕光点定位装置
CN101523439A (zh) * 2006-10-30 2009-09-02 电子地图有限公司 用于从基于陆地的移动测绘数据检测对象的方法和设备
CN201435164Y (zh) * 2009-06-18 2010-03-31 王一雄 大屏幕无线演示辅助系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1289086A (zh) * 1999-09-21 2001-03-28 精工爱普生株式会社 交互显示系统
CN1534544A (zh) * 2003-04-01 2004-10-06 中国科学院电子学研究所 大屏幕非接触式控制方式
CN1687886A (zh) * 2005-04-08 2005-10-26 清华大学 一种计算机的远距离无线控制装置
CN101523439A (zh) * 2006-10-30 2009-09-02 电子地图有限公司 用于从基于陆地的移动测绘数据检测对象的方法和设备
CN101025656A (zh) * 2007-01-19 2007-08-29 清华大学 嵌入式屏幕光点定位装置
CN201435164Y (zh) * 2009-06-18 2010-03-31 王一雄 大屏幕无线演示辅助系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
姚霄飞等.数据墙显示系统的构建技术.《测绘科学技术学报》.2008,第25卷(第04期),310~312.
数据墙显示系统的构建技术;姚霄飞等;《测绘科学技术学报》;20080815;第25卷(第04期);310~312 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170046843A1 (en) * 2015-08-11 2017-02-16 Huawei Technologies Co., Ltd. Method, Apparatus and System for Detecting Location of Laser Point on Screen

Also Published As

Publication number Publication date
CN102262733A (zh) 2011-11-30

Similar Documents

Publication Publication Date Title
CN102262733B (zh) 激光点检测方法及装置
US7342572B2 (en) System and method for transforming an ordinary computer monitor into a touch screen
US10999519B2 (en) Target tracking method and device, movable platform, and storage medium
CN103383731B (zh) 一种基于指尖定位的投影交互方法、系统及计算设备
US6205242B1 (en) Image monitor apparatus and a method
US20150302239A1 (en) Information processor and information processing method
KR101261409B1 (ko) 영상 내 노면표시 인식시스템
CN111462503B (zh) 车辆测速方法、装置及计算机可读存储介质
US20080317332A1 (en) System and Method for Determining Geometries of Scenes
JP2000357055A (ja) 投写画像の校正方法及びその装置、並びに機械可読媒体
JP2011505610A (ja) 画像センサデータに距離センサデータをマッピングする方法及び装置
CN111970454B (zh) 一种拍摄画面的展示方法、装置、设备及储存介质
CN110472539B (zh) 一种文本检测方法、装置及计算机存储介质
US11838674B2 (en) Image processing system, image processing method and storage medium
JP2007072628A (ja) 顔向き判別装置
EP2282224B1 (en) Image processing apparatus, image processing method, and computer program
CN114332004A (zh) 一种瓷砖表面缺陷检测方法、装置、电子设备及存储介质
JP2007272292A (ja) 影認識方法及び影境界抽出方法
JP2011165170A (ja) 対象物検出装置及びプログラム
JP2020160840A (ja) 路面標示不具合検出装置、路面標示不具合検出方法及び路面標示不具合検出プログラム
JPWO2005096129A1 (ja) 撮像装置の指示位置検出方法および装置、撮像装置の指示位置検出用プログラム
JP2007033931A (ja) 衛星画像等を用いた地図作成のための道路認識システム
JP2829934B2 (ja) 移動車の環境認識装置
JP4872610B2 (ja) カメラポインタ装置、ラベリング方法及びプログラム
CN109903308B (zh) 用于获取信息的方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20140319

Termination date: 20170528