์ฐธ์กฐ ultralytics/solutions/distance_calculation.py
์ฐธ๊ณ
์ด ํ์ผ์ https://github.com/ultralytics/ ultralytics/blob/main/ ultralytics/solutions/distance_calculation .py์์ ํ์ธํ ์ ์์ต๋๋ค. ๋ฌธ์ ๋ฅผ ๋ฐ๊ฒฌํ๋ฉด ํ ๋ฆฌํ์คํธ ๐ ๏ธ ์ ๊ธฐ์ฌํ์ฌ ๋ฌธ์ ํด๊ฒฐ์ ๋์์ฃผ์ธ์. ๊ฐ์ฌํฉ๋๋ค ๐!
ultralytics.solutions.distance_calculation.DistanceCalculation
ํธ๋์ ๊ธฐ๋ฐ์ผ๋ก ์ค์๊ฐ ๋น๋์ค ์คํธ๋ฆผ์์ ๋ ์ค๋ธ์ ํธ ์ฌ์ด์ ๊ฑฐ๋ฆฌ๋ฅผ ๊ณ์ฐํ๋ ํด๋์ค์ ๋๋ค.
์ ์์ค ์ฝ๋ 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__()
์๊ฐ, ์ด๋ฏธ์ง, ํธ๋ ๋ฐ ๊ฑฐ๋ฆฌ์ ๊ธฐ๋ณธ๊ฐ์ผ๋ก ๊ฑฐ๋ฆฌ ๊ณ์ฐ ํด๋์ค๋ฅผ ์ด๊ธฐํํฉ๋๋ค. ๋งค๊ฐ๋ณ์์ ๊ธฐ๋ณธ๊ฐ์ผ๋ก ์ด๊ธฐํํฉ๋๋ค.
์ ์์ค ์ฝ๋ ultralytics/solutions/distance_calculation.py
calculate_centroid(box)
๋ฐ์ด๋ฉ ๋ฐ์ค์ ์ค์ฌ์ ๊ณ์ฐํฉ๋๋ค.
๋งค๊ฐ๋ณ์:
์ด๋ฆ | ์ ํ | ์ค๋ช | ๊ธฐ๋ณธ๊ฐ |
---|---|---|---|
box |
list
|
๋ฐ์ด๋ฉ ๋ฐ์ค ๋ฐ์ดํฐ |
ํ์ |
calculate_distance(centroid1, centroid2)
๋ ๊ตฌ์ฌ์ ์ฌ์ด์ ๊ฑฐ๋ฆฌ๋ฅผ ๊ณ์ฐํฉ๋๋ค.
๋งค๊ฐ๋ณ์:
์ด๋ฆ | ์ ํ | ์ค๋ช | ๊ธฐ๋ณธ๊ฐ |
---|---|---|---|
centroid1 |
point
|
์ฒซ ๋ฒ์งธ ๋ฐ์ด๋ฉ ๋ฐ์ค ๋ฐ์ดํฐ |
ํ์ |
centroid2 |
point
|
๋ ๋ฒ์งธ ๋ฐ์ด๋ฉ ๋ฐ์ค ๋ฐ์ดํฐ |
ํ์ |
์ ์์ค ์ฝ๋ 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
|
B๋ฐ์ค ์ค์ฌ์ฒด์ ์์ |
(255, 0, 255)
|
์ ์์ค ์ฝ๋ ultralytics/solutions/distance_calculation.py
start_process(im0, tracks)
์ถ์ ๋ฐ์ดํฐ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๋ ๊ฒฝ๊ณ ์์ ์ฌ์ด์ ๊ฑฐ๋ฆฌ๋ฅผ ๊ณ์ฐํฉ๋๋ค.
๋งค๊ฐ๋ณ์:
์ด๋ฆ | ์ ํ | ์ค๋ช | ๊ธฐ๋ณธ๊ฐ |
---|---|---|---|
im0 |
nd array
|
์ด๋ฏธ์ง |
ํ์ |
tracks |
list
|
๊ฐ์ฒด ์ถ์ ํ๋ก์ธ์ค์์ ์ป์ ํธ๋ ๋ชฉ๋ก์ ๋๋ค. |
ํ์ |
์ ์์ค ์ฝ๋ ultralytics/solutions/distance_calculation.py
์์ฑ 2024-01-05, ์ ๋ฐ์ดํธ 2024-05-08
์์ฑ์: Burhan-Q (1), ์์ ์์์ (1), ๋ฆฌ์ฆ์๋ฌด๋์๋ฅด (1)