我正在使用Python 2.7.9上的OpenCV 3.0.0。我试图在静态背景下的视频中跟踪一个物体并估计它的一些属性。由于图像中可能会有多个移动的物体,因此我希望能够区分它们并在视频的其余帧中单独跟踪它们。
我想到的一种方法是将图像转换为二进制,获取斑点(在这种情况下是跟踪对象)的轮廓,并获取对象边界的坐标。然后,我可以在灰度图像中转到这些边界坐标,获取该边界周围的像素强度,并在其他帧中跟踪这种颜色梯度/像素强度。通过这种方式,我可以将两个对象分开,使它们不被认为是下一帧中的新对象。
我已经有了轮廓边界的坐标,但我不知道如何检索该边界内的像素强度。请问有人能帮助我吗?
谢谢!
我想到的一种方法是将图像转换为二进制,获取斑点(在这种情况下是跟踪对象)的轮廓,并获取对象边界的坐标。然后,我可以在灰度图像中转到这些边界坐标,获取该边界周围的像素强度,并在其他帧中跟踪这种颜色梯度/像素强度。通过这种方式,我可以将两个对象分开,使它们不被认为是下一帧中的新对象。
我已经有了轮廓边界的坐标,但我不知道如何检索该边界内的像素强度。请问有人能帮助我吗?
谢谢!
cv2.findContours
肯定能为您完成工作,并返回每个轮廓的(x,y)
坐标列表。然后,您可以使用这些坐标来索引图像并获取正确的强度值。但是,我不确定您想要如何存储这些强度值。您只想要一个单一的一维强度数组吗?您想将它们放入某种掩模中吗?您能详细说明一下您希望如何存储这些强度值吗? - rayryengcv2.findContours
找到了轮廓点,并将它们存储在一个数组中。我只想要该边界内所有像素的强度值的一维数组。此外,我不确定应该如何进行索引。您能否解释一下? - Kaya311for
循环来索引cv2.findContours
的输出。然后,我只是使用pxlVal = img[x, y]
来获取对象边界(轮廓)上的像素值。如何获取边界内的像素? - Kaya311