uv run ./detection/create_mmap.py
create_mmap.py内にて、カメラからの画像を受け取る間隔の秒数(CAMERA_CAPTURE_INTERVAL)、座標を保存する mmap(POSITION_MMAP_PATH)、杖の先端部の色を保存する mmap(COLOR_MMAP_PATH)それぞれのパスを指定する変数があります。実行する環境に合わせて、そこを変更してください。カメラは,プログラム実行時に標準入力から選択します.- mmap に保存される座標の座標系は、python の座標系です。
.envを root に配置する必要があります。slack から、.envの情報を確認してください。
COLOR_MMAP_PATHから、杖の先端の色を取得します。もしファイルがなかった場合は、(0, 0, 255)を杖の先端部の色として採用します。CAMERA_CAPTURE_INTERVAL秒ごとにカメラから与えられた画像に対して、yolov8 を用いて、red_ball の bbox の候補を全て取得します。ここでいう候補とは、conf_thresholdで指定された基準を上回る bbox をさします。- bbox の中心座標を取得します。中心座標には、bbox の重心を利用します。
get_top3_centers_by_color()に、入力画像(img)、中心座標の候補リスト(result)と先端部の色(target_bgr)を入れ、中心座標の候補リストの中から、先端部の色に近い上位 3 件の座標をリスト形式で取得します。save_top3_to_mmap()を実行し、取得した上位 3 件の座標リストをPOSITION_MMAP_PATHに保存します。
処理部分には適宜コメントを GPT に書いてもらいました。 もし上記の説明でわからない部分があれば、そこで補足をしてもらえると助かります。