-
18-09-2019 - |
题
我希望得到一些帮助2D目的检测。我会得到一个简短的概述环境,这将是实现的。
会有一个图像所采取的上限。天花板上会有标记放在它所取向的摄像机可以确定的。这些照片将始终采取面向直线上升。我的目标是检测一的这些标记在图像确定旋转。所以旋转和扩展(在较小的程度上)将两个主要因素所用的图像检测。我会写的软件无论在哪C#或matlab(不十分确定)。
例如,该标记可能是一个箭头是这样的:
拍摄的图像的天花板上将包括标记。该软件需要检测出单一标记并确定它已经转过170度。
我之前没有经验,图像分析。我知道图像处理是一个相当广泛的主题,并希望得到一些建议在这方向我应该采取哪些技术将是最适合我的应用程序。谢谢!
解决方案
我建议MATLAB或如果你在使用C#的意图, Emgu CV 是相当不错的。
霍夫变换是一个好主意。一旦检测到图像边缘,使用,说 Canny边缘检测,你会得到一个边缘图像(其为二值图像,只有1或0的值)。
然后,霍夫直线变换(实质上)纺出关于边缘图像中的每个白色像素线(行的分辨率取决于你),使用该线路的参数化函数,并且计算的白色总数(值在1)沿着每个纺线并将该信息存储在一个大的蓄压器,其存储由该行的参数索引的数据像素。
替代文字http://upload.wikimedia.org/wikipedia /en/a/af/Hough_space_plot_example.png
在上面的例子中,对于一个线的参数的形式是:
rho = x*cos(theta) + y*sin(theta)
其中RHO是距离和θ被 角度
因此,大家可以看到,如果你看看垃圾箱在特定的方向,你可以找出多少行,在这个角度取向。当然,你就必须做一些额外的工作来找出哪些线在那个角度取向,因为你必须每箭头5条线路,但应该不会太难。
其他提示
我不直接在这个领域,但我会告诉你,通过观察边缘检测专门启动。如果你有数学背景/工程的材料是很容易理解的:
这似乎引发一些想法: http://www.cfar.umd.edu/~fer/ cmsc426 /讲座/ edge1.ppt
一如既往在计算机视觉,您的第一个问题是图像的照明和采集。在继续之前,如何建立你的标记将在天花板上进行打印,其形式是什么,什么光,你会使用,看到他们,什么相机设置,你会选择看标记。
给出了良好的材料,有良好的光和良好的照相机,则可以没有任何问题都来处理图像。例如,您可以打印一个完整的箭头定向反光材料,比你们的榜样较长的尾巴,使用有颜色的光,并在相机上相应的过滤器。现在你有你的形象是箭......有获取图像,这将有助于你在那里的很多其他的方法。
,一旦你有普通箭头,一个简单的斑点分析(其由计算图像中的对象的统计矩)会给你很多的信息的:每个箭头应该具有的值几乎相等为7个Hu矩,它允许要有效地过滤对象,也是从中心矩计算的方向会给你的箭头的角度。斑点分析暂时只统计,这是非常快的。
已经开发了多种系统来稳健地检测标记及其方向:
反应视觉 (开源)使用这些类型的标签来查找位置和方向:
AR工具包 (开源)使用不同类型的标签来提取所有 6 个自由度:替代文本 http://www.schanes.net/docs/robot/marker.png
如果您的主要目标不是学习,而是让应用程序发挥作用,我建议您使用其中之一。对于初学者来说,稳健地检测图像中随机标记的位置和方向并不是一项简单的任务。
另一方面, 如果你对学习有兴趣, ,我还会引导您访问 ARToolKit 和 其出版物(及其参考文献) 解释了如何稳健地实现标记检测。
一个严格的方式来确定的下投影几何成像的获取的方位(最摄像机)正在使用的消失点和<强>消失线即可。给你一个好消息:您的标记可以用来查找此信息!更可喜的,你的图像可以是的整流下,所以图像的列(y轴)将对应于上下方向。你会发现更多关于这个东西在哈特利和Zisserman的书的多视图几何在计算机视觉的第8章。
还记得那可能是你需要的径向变形问题后,因照相机镜头畸变工作。其他的人是正确的左右箭头检测问题:你必须使用边缘检测,然后,在此之后, Hough变换或模板匹配即可。参阅Gonzalez和伍兹书数字图像处理的详细资料。