今opencvを使って線を表したいのですができません。言語はpython3です。
3重配列の要素を繋げたいのですがエラーはでないのに動画を再生すると
線が出て来ますせん。どこがいけないのでしょうか?
求めている結果はこんな感じです。
そして下がコードです。
def route(n_id): if(len(n_id) > 1): for i in range(1,len(n_id)): for a in range(0,len(n_id[i])): if(len(n_id[i][a]) > 2): cv2.line(frame,(n_id[i][a][0],n_id[i][a][1]),(n_id[i][a+1][0],n_id[i][a+1][1]),(0,20,255),2)
3重配列の各要素やコード上の各ループの説明、またできれば単純なデータ例を示すと回答得られやすいかと思います。
配列の各要素はまず、認識した物体の座標であり、同じ物体の座標を蓄積しています。そしてループは、蓄積された座標を一つ一つ処理するためのものです。最初の[0,0]は無視して結構です。
n_id[i][a][0]の[i],[a],[0]or[1]は何を表しているのか、また表示データも「どんな順番で何を出力」しているのかが不明です。
n_id [各物体] [物体の座標群] [座様(a,b)]こんな感じです。表示データは[ [[ ]], [[ ]], [[ ]] ] -> [[ ]]は一つの物体の座標群でしす。座標は順番ずつ入って行きます。表示データは配列の中身を見せるためにアップしました。

回答1件
あなたの回答
tips
プレビュー