در این مطلب، ویدئو ردیابی اشیا با Opencv و Python با زیرنویس فارسی را برای دانلود قرار داده ام. شما میتوانید با پرداخت 15 هزار تومان ، این ویدیو به علاوه تمامی فیلم های سایت را دانلود کنید.اکثر فیلم های سایت به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
مدت زمان فیلم: 00:30:02
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
00:00:00,000 –> 00:00:04,000
و اکنون میتوانیم ببینیم که هر شیء
2
00:00:04,000 –> 00:00:07,600
هر جعبه دارای یک شماره مرتبط است
3
00:00:07,600 –> 00:00:10,080
و همان موتور یا همان وسیله نقلیه
4
00:00:10,080 –> 00:00:11,679
دارای همان شماره است
5
00:00:11,679 –> 00:00:16,239
در حالی که در حال حرکت
6
00:00:16,239 –> 00:00:19,439
هستم.
7
00:00:19,439 –> 00:00:22,080
8
00:00:22,080 –> 00:00:22,880
9
00:00:22,880 –> 00:00:25,760
10
00:00:25,760 –> 00:00:27,199
پروژه هایی که
11
00:00:27,199 –> 00:00:28,640
در این ویدیوی خاص امروز
12
00:00:28,640 –> 00:00:30,800
در مورد ردیابی اشیا صحبت
13
00:00:30,800 –> 00:00:32,558
می کنیم باید بدانید که یک تفاوت اساسی
14
00:00:32,558 –> 00:00:34,800
بین تشخیص صدا
15
00:00:34,800 –> 00:00:38,160
و ردیابی شی
16
00:00:38,160 –> 00:00:39,120
17
00:00:39,120 –> 00:00:41,920
18
00:00:41,920 –> 00:00:43,280
19
00:00:43,280 –> 00:00:46,000
وجود دارد. شناسایی فریم شی
20
00:00:46,000 –> 00:00:47,440
پس از فریم
21
00:00:47,440 –> 00:00:51,039
در حالی که ردیابی شی، ردیابی
22
00:00:51,039 –> 00:00:54,480
شیء شی
23
00:00:54,480 –> 00:00:55,120
شناسایی شده
24
00:00:55,120 –> 00:00:58,480
در طول تمام فریم ها است تا تاریخچه
25
00:00:58,480 –> 00:01:01,840
ای از جایی که آن شی در طول زمان بوده است داشته باشید و
26
00:01:01,840 –> 00:01:04,879
اگر می خواهید برنامه هایی مانند
27
00:01:04,879 –> 00:01:07,600
شمارش افراد وارد شده بر روی مشخصی ایجاد کنید.
28
00:01:07,600 –> 00:01:09,439
منطقه
29
00:01:09,439 –> 00:01:12,000
شمارش شی در حال عبور از تسمه
30
00:01:12,000 –> 00:01:14,560
نقاله یا شمارش اتومبیل
31
00:01:14,560 –> 00:01:17,280
هایی که در بزرگراه در حال عبور هستند یا
32
00:01:17,280 –> 00:01:18,240
ردیابی در حال
33
00:01:18,240 –> 00:01:20,640
لذت بردن از مسیر ory of an
34
00:01:20,640 –> 00:01:21,280
35
00:01:21,280 –> 00:01:24,400
ردیابی شی چیزی است که شما
36
00:01:24,400 –> 00:01:25,280
کاملاً
37
00:01:25,280 –> 00:01:27,280
به آن نیاز دارید و در این ویدیوی خاص ما
38
00:01:27,280 –> 00:01:28,960
در ابتدا بر روی تشخیص اشیا تمرکز می کنیم
39
00:01:28,960 –> 00:01:30,720
بنابراین قسمت اول
40
00:01:30,720 –> 00:01:32,240
در مورد تشخیص اشیاء خواهد بود شما یاد می گیرید که
41
00:01:32,240 –> 00:01:34,159
چگونه اشیا را تشخیص دهید
42
00:01:34,159 –> 00:01:37,119
و سپس در قسمت دوم
43
00:01:37,119 –> 00:01:37,920
این ویدیو
44
00:01:37,920 –> 00:01:40,240
شما یاد می گیرید که چگونه ردیابی اشیا
45
00:01:40,240 –> 00:01:40,960
46
00:01:40,960 –> 00:01:44,560
را در تشخیص اعمال کنید، بنابراین
47
00:01:44,560 –> 00:01:47,200
بیایید کار را با این پروژه شروع کنیم، ابتدا
48
00:01:47,200 –> 00:01:47,759
به
49
00:01:47,759 –> 00:01:50,000
سه فایل نیاز داریم البته ما به یک ویدیو نیاز داریم
50
00:01:50,000 –> 00:01:50,880
که در آن
51
00:01:50,880 –> 00:01:54,000
می خواهیم اشیاء را
52
00:01:54,000 –> 00:01:56,680
در این مورد ردیابی کنیم. ویدیویی که بزرگراه است.
53
00:01:56,680 –> 00:01:58,719
mp4
54
00:01:58,719 –> 00:02:00,880
در جایی که وجود دارد یک دوربین
55
00:02:00,880 –> 00:02:03,040
از بالای بزرگراه وجود دارد
56
00:02:03,040 –> 00:02:06,240
که می توانیم موتورها و اتومبیل های
57
00:02:06,240 –> 00:02:09,280
عبوری را ببینیم و با این ویدیو هدف ما
58
00:02:09,280 –> 00:02:09,840
59
00:02:09,840 –> 00:02:12,000
ردیابی اتومبیل ها و موتورهایی است که در
60
00:02:12,000 –> 00:02:13,120
حال حرکت هستند و
61
00:02:13,120 –> 00:02:16,879
بنابراین شمارش آنها را مشاهده کنید.
62
00:02:16,879 –> 00:02:19,200
و این اولین فایل است، فایل دوم
63
00:02:19,200 –> 00:02:21,200
یک ردیاب شی
64
00:02:21,200 –> 00:02:22,879
است، این فایلی است که من نوشته ام که
65
00:02:22,879 –> 00:02:24,640
ردیابی را انجام می دهد و
66
00:02:24,640 –> 00:02:26,640
بنابراین باید این یکی را
67
00:02:26,640 –> 00:02:27,840
از لینک زیر دانلود کنید
68
00:02:27,840 –> 00:02:30,480
زیرا ما از آن استفاده خواهیم کرد. این یک ویدیو
69
00:02:30,480 –> 00:02:32,480
به علاوه ردیاب و سپس یک فایل خالی
70
00:02:32,480 –> 00:02:34,840
که در حال حاضر به صورت
71
00:02:34,840 –> 00:02:37,760
زنده کدنویسی می کنیم که من آن را main.pi می نامم، می توانید
72
00:02:37,760 –> 00:02:38,080
آن
73
00:02:38,080 –> 00:02:40,319
را به دلخواه صدا بزنید و این فایلی است که
74
00:02:40,319 –> 00:02:41,120
اجرا می
75
00:02:41,120 –> 00:02:44,160
کنیم و ردیاب را وارد می کنیم
76
00:02:44,160 –> 00:02:47,200
و غیره با اضافه کردن هر چیز دیگری،
77
00:02:47,200 –> 00:02:52,000
اجازه دهید ابتدا با کدگذاری فایل main.pi شروع کنیم، ابتدا کتابخانه
78
00:02:52,000 –> 00:02:54,400
cv2 را وارد
79
00:02:54,400 –> 00:02:56,480
می کنم که opencv است که
80
00:02:56,480 –> 00:02:58,000
از آن برای
81
00:02:58,000 –> 00:03:00,000
شناسایی اشیاء در این مورد
82
00:03:00,000 –> 00:03:02,640
موتورها و اتومبیل ها استفاده می کنیم،
83
00:03:02,640 –> 00:03:05,599
سپس پس از ذخیره کردن. بنابراین ما همچنین
84
00:03:05,599 –> 00:03:06,400
می خواهیم
85
00:03:06,400 –> 00:03:09,519
یک آبجکت کپچر ایجاد کنیم تا
86
00:03:09,519 –> 00:03:13,360
فریم های ویدیو را بخواند بنابراین cv2.video
87
00:03:13,360 –> 00:03:16,080
capture و در اینجا باید
88
00:03:16,080 –> 00:03:18,599
مسیر فایل ویدیویی را قرار دهیم در این حالت این همان
89
00:03:18,599 –> 00:03:20,800
highway.mp4 است که من در همان
90
00:03:20,800 –> 00:03:22,080
پوشه دارم.
91
00:03:22,080 –> 00:03:24,720
فقط برای اینکه با من امتحان کنید، پیشنهاد می
92
00:03:24,720 –> 00:03:25,840
کنم
93
00:03:25,840 –> 00:03:27,599
فایل را دانلود کنید تا بتوانید همان
94
00:03:27,599 –> 00:03:30,080
ویدیو را داشته باشید تا این را امتحان کنید،
95
00:03:30,080 –> 00:03:33,040
سپس یک بار با شیء ضبط
96
00:03:33,040 –> 00:03:33,920
97
00:03:33,920 –> 00:03:36,640
باید یک حلقه در حالی که درست است شروع کنیم زیرا
98
00:03:36,640 –> 00:03:38,480
با توجه به اینکه یک ویدیو است، باید
99
00:03:38,480 –> 00:03:39,360
100
00:03:39,360 –> 00:03:42,239
فریم ها را استخراج کنیم. یکی پس از دیگری بنابراین در
101
00:03:42,239 –> 00:03:42,879
هر
102
00:03:42,879 –> 00:03:46,000
حلقه ما یک فریم
103
00:03:46,000 –> 00:03:49,440
را می گیریم تا قاب قرمز
104
00:03:49,440 –> 00:03:52,560
برابر با نقطه کلاه باشد.
105
00:03:52,560 –> 00:03:54,400
اکنون می خواهیم قاب را در
106
00:03:54,400 –> 00:03:55,760
زمان واقعی نقطه cv2 را در
107
00:03:55,760 –> 00:03:59,200
قاب نمایش نشان دهیم،
108
00:03:59,200 –> 00:04:03,439
سپس یک قاب در حال حاضر یک کلید رویداد کلید وزن
109
00:04:03,439 –> 00:04:06,959
برابر با cv2 است. کلید وزن،
110
00:04:06,959 –> 00:04:11,280
اگر کلید باشد، 30 27 نمیدانم
111
00:04:11,280 –> 00:04:13,280
خیلی چیزها هستند، بنابراین
112
00:04:13,280 –> 00:04:15,760
وقتی فریم را در زمان واقعی نشان میدهیم،
113
00:04:15,760 –> 00:04:18,079
به
114
00:04:18,079 –> 00:04:20,000
یک رویداد کلیدی نیز نیاز داریم تا اگر
115
00:04:20,000 –> 00:04:22,240
بخواهیم ویدیو را ببندیم، فقط میتوانیم یک کلید را فشار دهیم
116
00:04:22,240 –> 00:04:24,800
در این حالت میگوییم آیا کلید است. 27
117
00:04:24,800 –> 00:04:25,360
27 s
118
00:04:25,360 –> 00:04:29,199
روی صفحه کلید است که حلقه را می شکنیم
119
00:04:29,199 –> 00:04:32,960
و سپس درپوش نقطه را رها می کنیم و سپس
120
00:04:32,960 –> 00:04:36,639
cv two dot
121
00:04:36,639 –> 00:04:39,680
همه پنجره ها را از بین می بریم و حالا برای اطمینان
122
00:04:39,680 –> 00:04:41,600
از درست بودن همه چیز
123
00:04:41,600 –> 00:04:45,440
این کد را اجرا می کنم بنابراین این دقیقاً
124
00:04:45,440 –> 00:04:47,280
همان ویدیو است که قبلاً می دیدیم
125
00:04:47,280 –> 00:04:48,240
اما من
126
00:04:48,240 –> 00:04:51,840
از python و opencv استفاده می کنم
127
00:04:51,840 –> 00:04:55,759
اکنون هدف
128
00:04:55,759 –> 00:04:59,280
ما شناسایی موتورها است و چگونه
129
00:04:59,280 –> 00:05:02,960
موتورهای موجود در این ویدیوی خاص را به
130
00:05:02,960 –> 00:05:05,840
خوبی
131
00:05:05,840 –> 00:05:07,280
تشخیص دهیم،
132
00:05:07,280 –> 00:05:08,960
اگر می خواهید در مورد تشخیص اشیاء بیشتر بدانید روش های
133
00:05:08,960 –> 00:05:11,360
تشخیص اشیا بسیار زیادی وجود دارد. یک دوره ویدیویی کامل
134
00:05:11,360 –> 00:05:12,720
به نام اکشن شی با
135
00:05:12,720 –> 00:05:14,800
opencv a داشته باشید یادگیری عمیق که در آن شما می توانید
136
00:05:14,800 –> 00:05:16,080
یاد بگیرید که چگونه به
137
00:05:16,080 –> 00:05:19,360
طور موثر هر چیزی را در هر
138
00:05:19,360 –> 00:05:21,039
نوع محیطی تشخیص دهید،
139
00:05:21,039 –> 00:05:23,919
در این مورد ما از یک
140
00:05:23,919 –> 00:05:25,199
روش تشخیص صدا برای
141
00:05:25,199 –> 00:05:28,320
یک دوربین پایدار استفاده خواهیم کرد، یعنی ما
142
00:05:28,320 –> 00:05:28,639
143
00:05:28,639 –> 00:05:31,600
یک دوربین پایدار داریم به این معنی که
144
00:05:31,600 –> 00:05:32,479
پس
145
00:05:32,479 –> 00:05:35,600
زمینه همیشه یکسان است.
146
00:05:35,600 –> 00:05:38,880
پسزمینه بزرگراهی است که جاده
147
00:05:38,880 –> 00:05:42,560
با گذشت زمان تغییر نمیکند در حالی که
148
00:05:42,560 –> 00:05:44,880
فقط اشیایی وجود دارد که اشیایی هستند که
149
00:05:44,880 –> 00:05:47,039
در طول زمان تغییر میکنند،
150
00:05:47,039 –> 00:05:48,880
بنابراین با استفاده از روش تشخیص شی
151
00:05:48,880 –> 00:05:50,639
با یک دوربین پایدار میتوانیم
152
00:05:50,639 –> 00:05:51,520
153
00:05:51,520 –> 00:05:55,360
فقط اجسام متحرک را استخراج کنیم
154
00:05:55,520 –> 00:05:58,800
و به من اجازه دهید. در اینجا از
155
00:05:58,800 –> 00:06:02,080
تشخیص شیء از
156
00:06:02,080 –> 00:06:04,800
دوربین پایدار استفاده کنید که برای ایجاد
157
00:06:04,800 –> 00:06:05,600
آشکارسازهای
158
00:06:05,600 –> 00:06:09,199
آشکارساز شیء، آشکارساز شی
159
00:06:09,199 –> 00:06:14,240
برابر با cv2.create پسزمینه subtractor
160
00:06:14,240 –> 00:06:18,240
mod 2 خواهد بود و
161
00:06:18,240 –> 00:06:19,840
ما اطلاعات بیشتری در مورد
162
00:06:19,840 –> 00:06:21,360
این موضوع بعداً خواهیم دید تا زمانی که باید
163
00:06:21,360 –> 00:06:23,280
بدانید که این آشکارساز شی میخواهد
164
00:06:23,280 –> 00:06:25,120
165
00:06:25,120 –> 00:06:27,840
اجسام متحرک را از یک دوربین ثابت استخراج کند،
166
00:06:27,840 –> 00:06:30,240
167
00:06:30,880 –> 00:06:34,560
آه، چگونه میدانیم و چگونه
168
00:06:34,560 –> 00:06:34,960
آنها را به
169
00:06:34,960 –> 00:06:38,080
خوبی استخراج کنیم، باید این کار را در زمان واقعی انجام دهیم.
170
00:06:38,080 –> 00:06:40,080
e با ایجاد یک
171
00:06:40,080 –> 00:06:43,199
ماسک برابر است با
172
00:06:43,199 –> 00:06:47,039
نقطه اعمال آشکارساز شی
173
00:06:47,039 –> 00:06:49,599
و سپس در اینجا ما میخواهیم
174
00:06:49,599 –> 00:06:50,319
تشخیص را
175
00:06:50,319 –> 00:06:55,360
روی قاب دقیقاً در اینجا اعمال کنیم
176
00:06:55,360 –> 00:06:58,960
و اکنون اجازه دهید ماسک را
177
00:06:58,960 –> 00:07:00,800
نشان دهیم تا سرنخی از کاری که در زمان واقعی انجام میدهیم داشته باشیم
178
00:07:00,800 –> 00:07:03,680
آن را ذخیره کنیم. ماسک imshow
179
00:07:03,680 –> 00:07:08,720
و سپس ماسک و
180
00:07:08,720 –> 00:07:11,120
حالا ما یک ماسک می گیریم هدف ماسک این است
181
00:07:11,120 –> 00:07:11,919
که
182
00:07:11,919 –> 00:07:14,400
هر چیزی را که نیاز نداریم سیاه کند
183
00:07:14,400 –> 00:07:16,080
در حالی که اشیایی را که می
184
00:07:16,080 –> 00:07:19,599
خواهیم سفید تشخیص دهیم بنابراین در این حالت
185
00:07:19,599 –> 00:07:23,120
یک بزرگراه داریم و سپس می خواهیم
186
00:07:23,120 –> 00:07:23,759
برای حمله به
187
00:07:23,759 –> 00:07:26,639
وسایل نقلیه مانند موتورسیکلت ماشین و کامیون
188
00:07:26,639 –> 00:07:28,319
همه وسایل نقلیه باید
189
00:07:28,319 –> 00:07:31,440
سفید سفید باشند بقیه باید
190
00:07:31,440 –> 00:07:34,720
سیاه باشند در این مورد تشخیص این
191
00:07:34,720 –> 00:07:35,840
روش
192
00:07:35,840 –> 00:07:38,160
احتمالا یکی از بهترین ها نیست زیرا ما عناصر
193
00:07:38,160 –> 00:07:38,960
سفید زیادی داریم
194
00:07:38,960 –> 00:07:42,960
اما همچنان با توجه به اینکه
195
00:07:42,960 –> 00:07:45,120
همانطور که شما دارید میتوانیم موتورها و ماشینها را پهنتر ببینیم،
196
00:07:45,120 –> 00:07:47,199
197
00:07:47,199 –> 00:07:49,280
بنابراین از همه
198
00:07:49,280 –> 00:07:51,440
عناصر دیگر بزرگتر هستند، ما میتوانیم
199
00:07:51,440 –> 00:07:53,120
همه چیزهایی را که به آنها نیاز نداریم دور بیندازیم، بنابراین
200
00:07:53,120 –> 00:07:56,080
میتوانیم این را گام به گام ببینیم،
201
00:07:56,080 –> 00:07:59,280
برای انجام این کار بهترین راه در حال حاضر بدست
202
00:07:59,280 –> 00:08:01,120
آوردن مختصات است. از همه سفیدها
203
00:08:01,120 –> 00:08:02,639
عناصر را
204
00:08:02,639 –> 00:08:05,039
حذف کنید و سپس تمام عناصر واقعا کوچکی را
205
00:08:05,039 –> 00:08:07,120
که به آنها نیاز نداریم حذف کنید، به عنوان مثال
206
00:08:07,120 –> 00:08:10,240
اوه اینجا درختان را داریم که
207
00:08:10,240 –> 00:08:12,000
نقاط کوچک زیادی داریم در حالی که برای
208
00:08:12,000 –> 00:08:15,039
ماشین ها مانند
209
00:08:15,039 –> 00:08:18,639
اجسام بزرگ سفید بزرگ داریم که به سمت پایین حرکت می کنند،
210
00:08:18,639 –> 00:08:21,280
بنابراین این می تواند یک راه باشد. برای حل این
211
00:08:21,280 –> 00:08:22,720
مشکل،
212
00:08:22,720 –> 00:08:25,919
اگر کافی نیست، اگر
213
00:08:25,919 –> 00:08:27,840
کافی نباشد، مطمئناً راه حل دیگری پیدا خواهیم کرد،
214
00:08:27,840 –> 00:08:29,440
215
00:08:29,440 –> 00:08:31,199
بنابراین از ماسک در اینجا، با
216
00:08:31,199 –> 00:08:32,640
تشخیص
217
00:08:32,640 –> 00:08:36,159
شی تشخیص شی از ماسک شروع می
218
00:08:36,159 –> 00:08:38,719
کنیم، باید مختصات را استخراج کنیم تا
219
00:08:38,719 –> 00:08:39,839
برای این کار ما از
220
00:08:39,839 –> 00:08:44,000
یک تابع opencv استفاده می کنیم که عبارت است از cv2.find
221
00:08:44,000 –> 00:08:46,320
contours ما می خواهیم
222
00:08:46,320 –> 00:08:48,399
خطوط مرزی این اشیاء سفید را
223
00:08:48,399 –> 00:08:50,080
روی ماسک پیدا کنیم،
224
00:08:50,080 –> 00:08:53,360
سپس درخت mod cv2.red
225
00:08:53,360 –> 00:08:56,640
و روش c با زنجیره su dot
226
00:08:56,640 –> 00:08:58,800
تقریباً ساده است،
227
00:08:58,800 –> 00:09:01,519
اینها موارد فنی retro3 هستند.
228
00:09:01,519 –> 00:09:03,279
و زنجیره تقریباً ساده ای است که ما
229
00:09:03,279 –> 00:09:03,839
230
00:09:03,839 –> 00:09:07,279
واقعاً نیازی به ورود به
231
00:09:07,279 –> 00:09:09,120
آن نداریم این است که چگونه اطلاعات را استخراج می کنیم،
232
00:09:09,120 –> 00:09:11,680
اما چیزی بیشتر از این
233
00:09:11,680 –> 00:09:16,800
نیست تا زمانی که خطوط خطوط را به دست آوریم
234
00:09:16,800 –> 00:09:19,120
که خوب است بنابراین باید خطوط
235
00:09:19,120 –> 00:09:21,360
و سلسله مراتبی را بدست آوریم که به آن نیازی نداریم. بنابراین ما
236
00:09:21,360 –> 00:09:22,000
فقط به
237
00:09:22,000 –> 00:09:25,200
این نیاز داریم سپس میتوانیم برای
238
00:09:25,200 –> 00:09:28,800
cnt در کانتورها
239
00:09:28,800 –> 00:09:31,360
بگوییم و اکنون میتوانیم ببینیم این
240
00:09:31,360 –> 00:09:33,240
241
00:09:33,240 –> 00:09:36,800
کانتورها چیستند.
242
00:09:36,800 –> 00:09:38,800
243
00:09:38,800 –> 00:09:41,200
244
00:09:41,279 –> 00:09:44,880
245
00:09:44,880 –> 00:09:47,279
246
00:09:47,279 –> 00:09:48,320
ما می خواهیم
247
00:09:48,320 –> 00:09:50,800
همه آنها را بکشیم، سپس بیایید آن را سبز
248
00:09:50,800 –> 00:09:52,240
کنیم صفر 255
249
00:09:52,240 –> 00:09:55,600
صفر و ضخامت، بیایید این دو را درست کنیم،
250
00:09:55,600 –> 00:09:58,640
251
00:09:58,640 –> 00:10:02,000
همانطور که می بینید همه چیز سفید
252
00:10:02,000 –> 00:10:04,000
روی ماسک است که ما اینجا را با خطوط سبز احاطه کرده ایم،
253
00:10:04,000 –> 00:10:07,600
اما
254
00:10:07,600 –> 00:10:09,120
اینجا چیزهای زیادی داریم که انجام می دهیم.
255
00:10:09,120 –> 00:10:11,040
لازم است همانطور که قبلاً گفتم
256
00:10:11,040 –> 00:10:14,320
بیایید همه عناصر کوچک
257
00:10:14,320 –> 00:10:16,480
را حذف کنیم تا عناصر کوچک را حذف کنیم، ابتدا می توانیم
258
00:10:16,480 –> 00:10:19,760
مساحت را
259
00:10:19,760 –> 00:10:23,920
محاسبه کنیم
260
00:10:23,920 –> 00:10:27,279
و یک عنصر کوچک را حذف کنیم
261
00:10:27,279 –> 00:10:30,640
و سپس
262
00:10:30,640 –> 00:10:34,399
مساحت برابر با cv2 نقطه
263
00:10:34,399 –> 00:10:37,760
کانتور منطقه cnt است سپس
264
00:10:37,760 –> 00:10:40,959
می توانیم یک عدد قرار دهیم. اگر شرط
265
00:10:40,959 –> 00:10:45,200
باشد، میتوانیم بگوییم اگر مساحت کمتر
266
00:10:45,200 –> 00:10:47,200
از لحظهای است، اجازه دهید کمتر از 100 پیکسل را امتحان کنیم،
267
00:10:47,200 –> 00:10:48,720
268
00:10:48,720 –> 00:10:52,720
در این حالت
269
00:10:52,720 –> 00:10:54,240
ما نمیخواهیم کاری انجام دهیم، بنابراین
270
00:10:54,240 –> 00:10:56,399
فرض کنید اگر بزرگتر از 100 پیکسل است
271
00:10:56,399 –> 00:10:58,880
، کانتور را ترسیم میکنیم، در غیر این صورت این کار را انجام نمیدهیم.
272
00:10:58,880 –> 00:10:59,839
273
00:10:59,839 –> 00:11:04,959
آنها را بکشید و نگاهی بیندازید که چگونه نیست ce
274
00:11:04,959 –> 00:11:08,320
ما این نتیجه را در این لحظه به دست آوردیم،
275
00:11:08,320 –> 00:11:11,120
بنابراین در حال حاضر با قرار دادن کانتور بزرگتر از
276
00:11:11,120 –> 00:11:13,760
100 پیکسل، البته چیزهای زیادی
277
00:11:13,760 –> 00:11:15,440
داریم که به آنها نیازی نداریم، اما
278
00:11:15,440 –> 00:11:19,760
به نتیجه جالبی می رسیم،
279
00:11:19,760 –> 00:11:23,120
اوه من نمی خواهم این آموزش uh را
280
00:11:23,120 –> 00:11:23,519
کاملاً
281
00:11:23,519 –> 00:11:25,440
پیچیده کنم. اگر
282
00:11:25,440 –> 00:11:26,800
چیزهای پیشرفتهتری میخواهید، به شما پیشنهاد میکنم
283
00:11:26,800 –> 00:11:30,160
به لینک زیر بروید و
284
00:11:30,160 –> 00:11:32,560
دوره تشخیص اشیا را ببینید، در حالی که در
285
00:11:32,560 –> 00:11:33,760
این
286
00:11:33,760 –> 00:11:35,760
مورد ما میخواهیم منطقه
287
00:11:35,760 –> 00:11:37,040
مورد علاقه roi را
288
00:11:37,040 –> 00:11:40,959
انتخاب کنیم و فقط بر روی این
289
00:11:40,959 –> 00:11:43,760
بخش خاص از جاده تمرکز میکنیم و ما فقط بر
290
00:11:43,760 –> 00:11:45,519
روی وسایل نقلیه در این جاده تمرکز
291
00:11:45,519 –> 00:11:48,560
می کنیم تا بتوانیم آنها را به درستی ردیابی کنیم،
292
00:11:48,560 –> 00:11:51,440
بنابراین بیایید اکنون یک roi را تعریف کنیم که
293
00:11:51,440 –> 00:11:53,920
منطقه مورد علاقه خواهد بود،
294
00:11:53,920 –> 00:11:56,160
بنابراین ما باید بخشی
295
00:11:56,160 –> 00:11:57,279
از تصویر
296
00:11:57,279 –> 00:12:00,959
را استخراج کنیم، بنابراین یک منطقه مورد علاقه را استخراج کنیم که این منطقه
297
00:12:00,959 –> 00:12:04,880
مورد علاقه خواهد بود. یک
298
00:12:04,880 –> 00:12:06,639
آرایه را استخراج می کنیم که باید مشخص کنیم
299
00:12:06,639 –> 00:12:08,720
که از کدام موقعیت از تصویر می
300
00:12:08,720 –> 00:12:10,720
خواهیم
301
00:12:10,720 –> 00:12:14,160
آن چاه را استخراج کنیم، اول
302
00:12:14,160 –> 00:12:17,360
اینکه بدانیم از چه موقعیتی
303
00:12:17,360 –> 00:12:21,120
می خواهیم نشان دهیم که کل
304
00:12:21,120 –> 00:12:21,760
فریم
305
00:12:21,760 –> 00:12:25,760
306
00:12:25,760 –> 00:12:29,360
عرض ارتفاع و کانال هایی که نداریم چقدر است.
307
00:12:29,360 –> 00:12:31,120
ne بنابراین فقط ارتفاع و ما
308
00:12:31,120 –> 00:12:34,959
شکل نقطه قاب خواهیم داشت، بنابراین اگر
309
00:12:34,959 –> 00:12:39,200
ارتفاع و عرض را چاپ
310
00:12:39,200 –> 00:12:42,959
کنم 780 ارتفاع و
311
00:12:42,959 –> 00:12:46,480
120 عرض داریم این بدان معناست که اگر بخواهیم
312
00:12:46,480 –> 00:12:48,720
این منطقه که کم و بیش در
313
00:12:48,720 –> 00:12:51,040
وسط صفحه
314
00:12:51,040 –> 00:12:54,160
است x خواهد بود. موقعیت
315
00:12:54,160 –> 00:12:57,680
حدود 500 می توانم حدس بزنم
316
00:12:57,680 –> 00:13:02,480
از 500 تا 500
317
00:13:02,480 –> 00:13:05,680
می توانم فرض کنیم 700 من فقط
318
00:13:05,680 –> 00:13:08,959
حدس می زنم که برای
319
00:13:08,959 –> 00:13:10,720
یافتن بهترین مختصات وقت صرف نکنم در غیر
320
00:13:10,720 –> 00:13:12,639
این صورت درس را واقعا طولانی خواهم کرد
321
00:13:12,639 –> 00:13:17,200
بنابراین از
322
00:13:17,200 –> 00:13:22,000
500 تا 700 را فریم می کنم
323
00:13:22,000 –> 00:13:24,240
و حالا باید ارتفاع را
324
00:13:24,240 –> 00:13:25,279
هم نه تنها
325
00:13:25,279 –> 00:13:28,480
عرض را قرار دهیم، بنابراین ارتفاع را از
326
00:13:28,480 –> 00:13:28,880
ارتفاع نیز
327
00:13:28,880 –> 00:13:30,639
روی کم و بیش در وسط قرار دهیم، مثلاً
328
00:13:30,639 –> 00:13:35,360
از 340
329
00:13:35,360 –> 00:13:39,519
تا 600 و بیایید ببینیم چه چیزی به دست میآوریم
330
00:13:39,519 –> 00:13:42,000
که حالا roi را نشان میدهم.
331
00:13:42,000 –> 00:13:45,440
نمایش cv2.in می رسد
332
00:13:45,440 –> 00:13:51,199
و سپس ردیف می کنیم و بیایید ببینیم چه چیزی به دست می
333
00:13:51,600 –> 00:13:55,920
آوریم اوه، کم و بیش همان چیزی است که می
334
00:13:55,920 –> 00:13:58,000
خواستم دریافت کنم اما واقعاً کوچک است، بنابراین بیایید این را
335
00:13:58,000 –> 00:14:01,680
افزایش دهیم اجازه دهید
336
00:14:01,680 –> 00:14:02,079
از
337
00:14:02,079 –> 00:14:05,760
این طرف به این طرف و
338
00:14:05,760 –> 00:14:08,079
دقیقاً به پایین برسد. پنجره، بنابراین من می خواهم
339
00:14:08,079 –> 00:14:08,800
340
00:14:08,800 –> 00:14:12,399
هنوز حدود 80 100 پیکسل را به سمت راست افزایش دهم
341
00:14:12,399 –> 00:14:14,399
سمت
342
00:14:14,399 –> 00:14:18,000
و من می توانم این کار را درست در اینجا انجام دهم، بنابراین
343
00:14:18,000 –> 00:14:21,680
از 500 تا 800 و سپس از
344
00:14:21,680 –> 00:14:25,279
2040 به حداکثر ارتفاع،
345
00:14:25,279 –> 00:14:27,920
بنابراین در اینجا ما تعریف می
346
00:14:27,920 –> 00:14:30,079
کنیم که ارتفاعی که می خواهیم تا انتها برش دهیم از کجا شروع می شود،
347
00:14:30,079 –> 00:14:30,720
348
00:14:30,720 –> 00:14:36,000
سپس عرض از 500 شروع می شود. 800
349
00:14:36,240 –> 00:14:38,639
350
00:14:39,279 –> 00:14:40,959
و این بخش جالبی است
351
00:14:40,959 –> 00:14:43,360
که میتوانیم با آن کار کنیم، بنابراین
352
00:14:43,360 –> 00:14:44,720
353
00:14:44,720 –> 00:14:48,000
وسایل نقلیهای را که فقط در داخل
354
00:14:48,000 –> 00:14:50,160
این منطقه میآیند ردیابی میکنیم و این تشخیص ما را
355
00:14:50,160 –> 00:14:53,360
بسیار آسانتر میکند،
356
00:14:53,839 –> 00:14:57,360
بنابراین اکنون چه کار کنیم،