我是计算机视觉领域的新手。这就是我需要做的。给定图像,在图像中包含对象A的所有位置周围挑选并绘制一个圆圈。换句话说,在射击板上有3个飞镖,我想返回它们的位置。我如何使用OpenCV做到这一点?我必须使用的技术的名称是什么。我想知道库的哪些部分需要熟悉才能实现这个功能。
答案 0 :(得分:3)
所以this tutorial似乎涵盖了一些基本主题。你应该寻找模式识别,边缘检测......我不知道你是否会使用静态图像或视频。可以组合多种技术,方法的稳健性取决于您处理给定图像/帧所花费的时间。
要在图像上绘制内容非常简单,例如圆圈是一个带有一些参数的简单function call。
我不是这方面的专家,但我可以从静态图像开始并绘制一些圆圈,然后寻找一种方法来检测您的模式(例如,提取您可以查看的图像属性{{ 3}})
此外,如果您有权访问Matlab
,则可以执行一些图像处理。
答案 1 :(得分:2)
如果你有静态相机,从同一个地方拍摄,你可以事先拍摄,不用飞镖。只是在没有飞镖和它们的图像之间做差异。在有飞镖的地方会有明显的区别。
差异图像上的一些形态学操作应该处理噪声。
答案 2 :(得分:1)
您应该查看相应的文献以获得问题字段的背景,在这种情况下可能是对象识别和检测。
一个很好的参考是Szeliski's简历或您的讲师可以推荐给您的任何其他材料。在Szeliski的书中见第14章。
整个主题当然不是微不足道的,如果不了解理论背景,只是跳进OpenCV对你来说不会太有帮助。在任何情况下,interesting example都使用SURF。