参考 ultralytics/solutions/distance_calculation.py
注
このファイルはhttps://github.com/ultralytics/ultralytics/blob/main/ ultralytics/solutions/distance_calculation .py にあります。もし問題を発見したら、Pull Request🛠️ を投稿して修正にご協力ください。ありがとうございました!
ultralytics.solutions.distance_calculation.DistanceCalculation
リアルタイムのビデオストリームにおいて、2つのオブジェクトの軌跡から距離を計算するクラス。
ソースコード ultralytics/solutions/distance_calculation.py
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 |
|
__init__()
距離計算クラスを初期化し、Visual、Image、Track、Distanceの各パラメータにデフォルト値を設定する。 パラメータを初期化します。
ソースコード ultralytics/solutions/distance_calculation.py
calculate_centroid(box)
バウンディングボックスの重心を計算する。
パラメーター
名称 | タイプ | 説明 | デフォルト |
---|---|---|---|
box |
list
|
バウンディング・ボックス・データ |
必須 |
calculate_distance(centroid1, centroid2)
2つのセントロイド間の距離を計算する。
パラメーター
名称 | タイプ | 説明 | デフォルト |
---|---|---|---|
centroid1 |
point
|
最初のバウンディング・ボックス・データ |
必須 |
centroid2 |
point
|
2つ目のバウンディング・ボックス・データ |
必須 |
ソースコード ultralytics/solutions/distance_calculation.py
display_frames()
ディスプレイフレーム。
ソースコード ultralytics/solutions/distance_calculation.py
extract_tracks(tracks)
提供されたデータから結果を抽出する。
パラメーター
名称 | タイプ | 説明 | デフォルト |
---|---|---|---|
tracks |
list
|
オブジェクト追跡プロセスで得られたトラックのリスト。 |
必須 |
ソースコード ultralytics/solutions/distance_calculation.py
mouse_event_for_distance(event, x, y, flags, param)
この関数は、リアルタイムのビデオストリームにおいて、マウスイベントによって領域を移動するように設計されている。
パラメーター
名称 | タイプ | 説明 | デフォルト |
---|---|---|---|
event |
int
|
マウスイベントの種類( cv2.EVENT_MOUSEMOVE や cv2.EVENT_LBUTTONDOWN など). |
必須 |
x |
int
|
マウスポインタのx座標。 |
必須 |
y |
int
|
マウスポインタのy座標。 |
必須 |
flags |
int
|
イベントに関連付けられたフラグ( cv2.EVENT_FLAG_CTRLKEY など). cv2.EVENT_FLAG_SHIFTKEY など). |
必須 |
param |
dict
|
関数に渡したい追加のパラメータ。 |
必須 |
ソースコード ultralytics/solutions/distance_calculation.py
set_args(names, pixels_per_meter=10, view_img=False, line_thickness=2, line_color=(255, 255, 0), centroid_color=(255, 0, 255))
距離計算と表示パラメーターを設定します。
パラメーター
名称 | タイプ | 説明 | デフォルト |
---|---|---|---|
names |
dict
|
オブジェクト検出クラス名 |
必須 |
pixels_per_meter |
int
|
メートルのピクセル数 |
10
|
view_img |
bool
|
フレーム表示を示すフラグ |
False
|
line_thickness |
int
|
バウンディングボックスの線の太さ。 |
2
|
line_color |
RGB
|
中心線の色 |
(255, 255, 0)
|
centroid_color |
RGB
|
bboxの中心の色 |
(255, 0, 255)
|
ソースコード ultralytics/solutions/distance_calculation.py
start_process(im0, tracks)
トラッキングデータに基づいて2つのバウンディングボックス間の距離を計算します。
パラメーター
名称 | タイプ | 説明 | デフォルト |
---|---|---|---|
im0 |
nd array
|
画像 |
必須 |
tracks |
list
|
オブジェクト追跡プロセスで得られたトラックのリスト。 |
必須 |