画面上を移動するブロックの中心から、保存されたx、y座標のリストにアクセスする際に問題があります。私は正常に各フレームのブロックのxとyの座標を取得することができましたが、この情報を格納し、特定の段階でポイントにアクセスすることができないという問題があります。 私の目的は、ポイントを結びつけてトレイルを形成することです。 私は現在何があります。移動オブジェクトから取得したポイントのリスト
クラス定義:
class People:
def __init__(self):
self.x = 0
self.y = 0
は中心が検出された各ポイントで、CXとCYが正しく更新されていることを前提としています。
MultPeople=[]
次は、フレームごとにビデオを通じて
Person=People()
Person.x=cX
Person.y=cY
MultPeople.append(Person)
を行くが、私は、ドットに参加するために順次これらの点にアクセスする際に、今、私はそれらを得ることができていますループ内で収まります一度に1つしかできません。
for index,man in enumerate(MultPeople):
print (index,man.x,man.y)
xplot=man.x
yplot=man.y
cv2.circle(frame1, (xplot, yplot), 2, [50, 20, 255], 3)
これが正常に中心点で、元の画像の上に円を描くが、その答えは、インデックスの値を取得するために添加する必要があるもの、この
(0, 306, 379)
(0, 307, 377)
(0, 307, 384)
(0, 305, 396)
(0, 309, 409)
(0, 310, 431)
のように戻って与えています私は、これが特定のポイントにアクセスするために必要であると仮定しています。
私も、インデックスを印刷した後man.xを次の行を入力しman.y
print np.size(MultPeople)
、それが戻って1たびに印刷し、私は問題を考えていることはそれとしてアペンド機能がゆえであります毎回リストに新しい値を追加するのではありませんが、これをどのように修正すべきか分かりません。
は、whileループが問題を修正外の宣言を移動、ありがとうございます。謝罪、将来の質問で完全なコードを投稿する –