Python OpenCV 跟踪点
我在用Python和OpenCV处理实时摄像头输入的时候,遇到了一个问题。我想根据一个x和y坐标设置一个点,然后跟踪这个点的移动,但我不知道该怎么做。
2 个回答
2
有一些博客可以帮助你了解基础知识。你可以看看这个:在OpenCV和Python 2.6中进行物体追踪。
编辑:我觉得你不能随便追踪任意的点。要在两张图片中找到同一个点,你需要知道一些关于这个点的独特信息。通常我们会用一些“独特的”兴趣点,这样才能在不同的图片中进行比较。还有其他的方法是通过让这个点更容易被检测,比如使用投影方案。
4
下面是一个简单的例子,用来追踪一个黄色的物体。
https://github.com/abidrahmank/OpenCV-Python/blob/master/Other_Examples/track_yellow_draw_line.py
这里是追踪黄色的方法:
1) 从视频中提取第一帧。
2) 将这一帧转换成HSV颜色空间。取H通道,并为黄色设置一个阈值,这样你就能得到一张二值图像,黄色的物体显示为白色(也叫做“斑点”),其他部分则为黑色。
3) 现在找到这个斑点的中心点。你可以使用“矩”或者“轮廓”(特别是当你有多个斑点时)。在上面的例子中,使用了非常简单的逻辑。只需找到斑点最左、最右、最上和最下的点,然后在它周围画一个矩形。并把这些值存起来。
4) 提取下一帧,重复以上所有步骤来获取新的位置。将这两个位置连接起来,画一条线。
结束。