در این مطلب، ویدئو بازی کامپیوتر ویژن با استفاده از OpenCV Python | تخته دارت Velcro با زیرنویس فارسی را برای دانلود قرار داده ام. شما میتوانید با پرداخت 15 هزار تومان ، این ویدیو به علاوه تمامی فیلم های سایت را دانلود کنید.اکثر فیلم های سایت به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
مدت زمان فیلم: 1:50:01
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
00:00:00,480 –> 00:00:02,560
سلام همه به کانال من خوش آمدید در
2
00:00:02,560 –> 00:00:04,720
این ویدیو ما قصد داریم یک
3
00:00:04,720 –> 00:00:07,759
بازی بینایی کامپیوتری با استفاده از opencv در
4
00:00:07,759 –> 00:00:10,160
پایتون بسازیم ما یاد می گیریم که چگونه توپ ها را شناسایی کنیم و بفهمیم که به
5
00:00:10,160 –> 00:00:13,040
کدام منطقه
6
00:00:13,040 –> 00:00:14,480
برخورد کرده است
7
00:00:14,480 –> 00:00:16,960
ما قدم به قدم پیش خواهیم رفت تا
8
00:00:16,960 –> 00:00:18,080
9
00:00:18,080 –> 00:00:19,439
اگر میخواهید مهارتهای بینایی رایانهتان را بالا ببرید،
10
00:00:19,439 –> 00:00:21,600
11
00:00:21,600 –> 00:00:23,039
دورههای برتر ما را
12
00:00:23,039 –> 00:00:25,039
بررسی کنید، پیوند در توضیحات موجود است،
13
00:00:25,039 –> 00:00:29,359
بنابراین بدون هیچ مقدمهای بیایید شروع کنیم،
14
00:00:29,359 –> 00:00:31,679
بنابراین در اینجا ما در پروژه pycharm خود هستیم
15
00:00:31,679 –> 00:00:33,680
و میتوانید ببینید که ما آن را نامگذاری کردهایم.
16
00:00:33,680 –> 00:00:35,600
بازی velcro darth
17
00:00:35,600 –> 00:00:38,640
و ما قبلاً پوشه ویدیوها
18
00:00:38,640 –> 00:00:40,800
و یک نقطه png را داریم
19
00:00:40,800 –> 00:00:43,200
این تصویری است که ما استفاده خواهیم کرد،
20
00:00:43,200 –> 00:00:45,200
اما چرا
21
00:00:45,200 –> 00:00:48,239
اینها را داریم دلیل آن این است که برخی از شما ممکن است
22
00:00:48,239 –> 00:00:50,160
نخواهید تخته دارت واقعی را خریداری کنید،
23
00:00:50,160 –> 00:00:53,120
بنابراین اگر می خواهید
24
00:00:53,120 –> 00:00:55,039
برای یادگیری این تکنیک
25
00:00:55,039 –> 00:00:57,920
کافی است که این پروژه را دنبال کنید و
26
00:00:57,920 –> 00:01:00,079
اصول بینایی کامپیوتر را در پشت این
27
00:01:00,079 –> 00:01:01,039
پروژه یاد بگیرید،
28
00:01:01,039 –> 00:01:03,280
بنابراین ما چند ویدیو خواهیم داشت که می توانید
29
00:01:03,280 –> 00:01:05,600
ببینید سه ویدیو در اینجا دارید و سپس
30
00:01:05,600 –> 00:01:07,520
ما یک نقطه png داریم
31
00:01:07,520 –> 00:01:10,799
که این d است. تابلوی هنری و پشت
32
00:01:10,799 –> 00:01:12,720
آن نیز
33
00:01:12,720 –> 00:01:14,560
یک تابلو در پشت آن وصل
34
00:01:14,560 –> 00:01:15,680
کرده ام،
35
00:01:15,680 –> 00:01:18,400
بنابراین کاری که ما انجام خواهیم داد این است که به جای
36
00:01:18,400 –> 00:01:20,880
استفاده از وب کم واقعی که
37
00:01:20,880 –> 00:01:22,240
قبلاً در
38
00:01:22,240 –> 00:01:24,320
کنار خود نصب کرده ام، از
39
00:01:24,320 –> 00:01:26,560
ویدیوها استفاده کنیم تا کسانی که
40
00:01:26,560 –> 00:01:28,640
در خانه هستند و تجهیزاتی
41
00:01:28,640 –> 00:01:31,200
ندارند که می توانند دنبال کنند، بنابراین این
42
00:01:31,200 –> 00:01:33,040
تصویر و این فیلم ها
43
00:01:33,040 –> 00:01:35,119
برای دانلود از
44
00:01:35,119 –> 00:01:36,640
وب سایت در دسترس خواهند بود، لینک در توضیحات
45
00:01:36,640 –> 00:01:38,799
زیر خواهد بود و تنها کاری که باید انجام دهید این است
46
00:01:38,799 –> 00:01:41,280
که وارد شوید و سپس میتوانید
47
00:01:41,280 –> 00:01:42,880
این
48
00:01:42,880 –> 00:01:45,520
فایلها را دانلود کنید، بنابراین ایده اصلی پشت این
49
00:01:45,520 –> 00:01:48,640
پروژه این است که ما میخواهیم
50
00:01:48,640 –> 00:01:51,280
ضربههای توپ را شناسایی کنیم و میخواهیم ببینیم
51
00:01:51,280 –> 00:01:53,600
که در کجا فرود آمده است و بر اساس
52
00:01:53,600 –> 00:01:55,680
موقعیت آن میخواهیم به
53
00:01:55,680 –> 00:01:58,399
آن اطمینان دهیم. نقاطی که با آن تخصیص داده شده است
54
00:01:58,399 –> 00:02:00,560
، به عنوان مثال اگر اینجا ضربه می زند
55
00:02:00,560 –> 00:02:02,479
، می گوییم پنج اگر در اینجا ضربه
56
00:02:02,479 –> 00:02:04,560
می زند، می گوییم 60.
57
00:02:04,560 –> 00:02:08,318
اما مسئله این است که این ها
58
00:02:08,318 –> 00:02:11,120
شکل مربع نیستند یا دایره ای
59
00:02:11,120 –> 00:02:13,520
شکل نیستند، بنابراین هر کدام یکی از اینها
60
00:02:13,520 –> 00:02:15,200
شکل متفاوتی دارد بنابراین
61
00:02:15,200 –> 00:02:18,239
برای به عنوان مثال می توانید اینجا را ببینید که
62
00:02:18,239 –> 00:02:19,760
این یک چند ضلعی
63
00:02:19,760 –> 00:02:23,360
با چهار نقطه است و دوباره ما
64
00:02:23,360 –> 00:02:25,760
اکثر آنها چهار نقطه هستند، اما آنها مکان های
65
00:02:25,760 –> 00:02:28,560
متفاوتی دارند که شما آنها را مکان می نامید و
66
00:02:28,560 –> 00:02:30,720
واقعاً در یک شکل مستطیل قرار نمی گیرند،
67
00:02:30,720 –> 00:02:33,120
بنابراین کاری که باید انجام دهیم این است که ما باید
68
00:02:33,120 –> 00:02:35,599
برای هر کدام از اینها بررسی کنیم که
69
00:02:35,599 –> 00:02:38,720
آیا توپ در این فضا برخورد کرده است یا خیر و اگر
70
00:02:38,720 –> 00:02:41,200
مثلاً در این فضا برخورد کرده است،
71
00:02:41,200 –> 00:02:44,000
میخواهیم بگوییم که اگر
72
00:02:44,000 –> 00:02:46,239
مثلاً در این نقطه برخورد کرد، به آن 60 امتیاز
73
00:02:46,239 –> 00:02:49,840
بدهید، میگوییم پنج به آن بدهید. نقاط و غیره بنابراین ما
74
00:02:49,840 –> 00:02:51,920
باید همه مکان های این ها را پیدا کنیم
75
00:02:51,920 –> 00:02:54,000
و سپس آنها را ذخیره می کنیم و سپس
76
00:02:54,000 –> 00:02:56,560
بررسی می کنیم که توپ به کجا
77
00:02:56,560 –> 00:02:59,599
برخورد کرده است.
78
00:02:59,599 –> 00:03:00,800
79
00:03:00,800 –> 00:03:03,840
80
00:03:03,840 –> 00:03:06,480
بنابراین می توانید بهتر ببینید،
81
00:03:06,480 –> 00:03:10,080
به عنوان مثال، اگر دوربین را می بینید،
82
00:03:10,080 –> 00:03:12,480
این تخته دارت در کناره است
83
00:03:12,480 –> 00:03:15,360
و سپس دوربین زیر
84
00:03:15,360 –> 00:03:18,319
تخته دارت است و رو به بالا است، بنابراین این
85
00:03:18,319 –> 00:03:19,680
86
00:03:19,680 –> 00:03:21,760
زاویه زاویه دید دوربین است، بنابراین ما
87
00:03:21,760 –> 00:03:23,680
از طرف به دنبال هستند
88
00:03:23,680 –> 00:03:26,400
بنابراین تصویر Tha قرار بود t
89
00:03:26,400 –> 00:03:28,000
90
00:03:28,000 –> 00:03:31,120
یک مستطیل باشد، اکنون چیزی شبیه
91
00:03:31,120 –> 00:03:34,640
به این خواهد بود، بنابراین در پایین کمی بزرگتر خواهد بود،
92
00:03:34,640 –> 00:03:37,680
بنابراین در اینجا می توانید ببینید که این
93
00:03:37,680 –> 00:03:41,120
خط بزرگتر از این خط خواهد بود،
94
00:03:41,120 –> 00:03:43,599
بنابراین من در اینجا کمی اغراق می کنم
95
00:03:43,599 –> 00:03:45,360
تا بتوانید ببینید
96
00:03:45,360 –> 00:03:47,040
چه اتفاقی میافتد، بنابراین بهجای یک
97
00:03:47,040 –> 00:03:49,200
دایره کامل مانند این،
98
00:03:49,200 –> 00:03:51,360
چیزی شبیه
99
00:03:51,360 –> 00:03:52,959
به این به دست میآوریم، پس این چیزی است که به دست میآوریم، پس کاری
100
00:03:52,959 –> 00:03:55,439
که انجام میدهیم این است که
101
00:03:55,439 –> 00:03:57,599
این امتیازها را جمع آوری کنیم، این چهار امتیاز را جمع
102
00:03:57,599 –> 00:03:58,720
103
00:03:58,720 –> 00:04:00,879
میکنیم و میرویم برای کار کردن آن
104
00:04:00,879 –> 00:04:03,920
به این شکل، آن را
105
00:04:03,920 –> 00:04:05,040
به
106
00:04:05,040 –> 00:04:08,480
یک مستطیل تبدیل می کنیم و سپس از آنجا می
107
00:04:08,480 –> 00:04:11,599
خواهیم تمام مکان
108
00:04:11,599 –> 00:04:13,840
های نقاط مختلف خود را پیدا کنیم
109
00:04:13,840 –> 00:04:16,478
و بر اساس این چند ضلعی
110
00:04:16,478 –> 00:04:19,440
ها خواهیم دید که توپ به کجا برخورد
111
00:04:19,440 –> 00:04:22,160
کرده است. این یک پروژه بسیار طولانی است، بنابراین
112
00:04:22,160 –> 00:04:24,639
ممکن است مدتی طول بکشد تا واقعاً تکمیل شود،
113
00:04:24,639 –> 00:04:26,960
من مطمئن نیستم چقدر طول می کشد، بنابراین
114
00:04:26,960 –> 00:04:29,520
بیایید جلو برویم و مستقیماً وارد آن شویم
115
00:04:29,520 –> 00:04:31,759
و ببینیم که اکنون چگونه پیش می رود،
116
00:04:31,759 –> 00:04:34,320
چیزی که ما فقط به یک مورد نیاز داریم
117
00:04:34,320 –> 00:04:36,639
آیا شما یک بسته تماس بگیرید تا ما برویم
118
00:04:36,639 –> 00:04:39,280
به تنظیمات فایل می رویم و ما به
119
00:04:39,280 –> 00:04:42,080
پروژه ها و مفسر پایتون می رویم و
120
00:04:42,080 –> 00:04:45,680
من از پایتون 3.7 استفاده می کنم، می توانید از
121
00:04:45,680 –> 00:04:48,320
هر نسخه دیگری که دارید استفاده کنید، اما
122
00:04:48,320 –> 00:04:50,080
اگر کار نکرد، همیشه بهتر
123
00:04:50,080 –> 00:04:52,800
است به استیبل بازگردید. نسخه
124
00:04:52,800 –> 00:04:56,080
برای من 3.7.6 است،
125
00:04:56,080 –> 00:04:57,680
بنابراین اگر می خواهید امتحان کنید، می توانید
126
00:04:57,680 –> 00:04:59,040
آن را امتحان کنید،
127
00:04:59,040 –> 00:05:01,600
بنابراین بیایید کتابخانه خود را اضافه
128
00:05:01,600 –> 00:05:03,520
کنیم تا منطقه cv را اضافه کنیم و این
129
00:05:03,520 –> 00:05:05,919
تنها بسته ای است که به آن نیاز داریم
130
00:05:05,919 –> 00:05:09,039
زیرا نصب می شود
131
00:05:09,039 –> 00:05:12,320
بسته opencv و uh numpy که
132
00:05:12,320 –> 00:05:14,479
در قسمت پشتی مورد نیاز
133
00:05:14,479 –> 00:05:17,120
است و منطقه cv محاسباتی واقعی را انجام می دهد، فقط یک
134
00:05:17,120 –> 00:05:19,840
بسته بندی است که باعث می شود کمی
135
00:05:19,840 –> 00:05:21,919
عملکرد بیشتر به این
136
00:05:21,919 –> 00:05:23,600
کتابخانه ها اضافه شود،
137
00:05:23,600 –> 00:05:25,840
بنابراین اکنون می توانید ببینید که python
138
00:05:25,840 –> 00:05:28,240
opencv نصب شده است. python و numpy
139
00:05:28,240 –> 00:05:29,919
نیز نصب شدهاند،
140
00:05:29,919 –> 00:05:32,639
بنابراین خوب است که
141
00:05:32,639 –> 00:05:36,160
اکنون میخواهیم یک فایل اصلی ایجاد کنیم،
142
00:05:36,160 –> 00:05:39,759
بنابراین اجازه دهید آن را main
143
00:05:39,759 –> 00:05:41,120
main
144
00:05:41,120 –> 00:05:42,639
dot pi بنامیم
145
00:05:42,639 –> 00:05:44,880
و اولین کاری که انجام میدهیم این است
146
00:05:44,880 –> 00:05:46,240
147
00:05:46,240 –> 00:05:49,120
که کتابخانه بینایی کامپیوتر را وارد کنیم cv2 cv
148
00:05:49,120 –> 00:05:50,880
مخفف computer vision
149
00:05:50,880 –> 00:05:54,080
سپس ما قصد داریم cv را وارد کنیم منطقه و
150
00:05:54,080 –> 00:05:57,840
سپس numpy را بهعنوان np وارد میکنیم،
151
00:05:57,840 –> 00:06:00,400
حالا بعداً به شما میگویم که چرا به همه اینها نیاز داریم
152
00:06:00,400 –> 00:06:02,240
153
00:06:02,240 –> 00:06:05,360
و سپس از
154
00:06:05,360 –> 00:06:06,800
155
00:06:06,800 –> 00:06:09,600
ماژول رنگ نقطه نقطههای منطقه cv وارد میکنیم، میخواهیم
156
00:06:09,600 –> 00:06:12,319
رنگ یاب را وارد کنیم، بنابراین وقتی
157
00:06:12,319 –> 00:06:14,319
توپ را شناسایی میکنیم، می خواهید رنگ آن را تشخیص دهید،
158
00:06:14,319 –> 00:06:15,199
159
00:06:15,199 –> 00:06:16,800
بنابراین می توانید
160
00:06:16,800 –> 00:06:18,880
از روش های دیگری نیز استفاده کنید، حتی می توانید
161
00:06:18,880 –> 00:06:21,360
از یک مدل یادگیری ماشینی استفاده کنید که می
162
00:06:21,360 –> 00:06:23,280
توانید برای تشخیص این توپ های مختلف آموزش دهید
163
00:06:23,280 –> 00:06:25,199
و سپس می توانید آن را از آن تشخیص دهید
164
00:06:25,199 –> 00:06:26,800
و
165
00:06:26,800 –> 00:06:29,199
سپس بقیه پروژه یکسان خواهد بود.
166
00:06:29,199 –> 00:06:31,360
کاری که ما انجام می دهیم، اما در اینجا از
167
00:06:31,360 –> 00:06:33,199
روش رنگ استفاده می کنیم، اما اگر از
168
00:06:33,199 –> 00:06:35,360
روش رنگ استفاده می کنید، باید مطمئن
169
00:06:35,360 –> 00:06:37,759
شوید که آن رنگ را در تابلوی تاریک ندارید،
170
00:06:37,759 –> 00:06:41,199
به عنوان مثال ما از نقاط سبز استفاده می کنیم
171
00:06:41,199 –> 00:06:44,000
تا رنگ سبز نباشند.
172
00:06:44,000 –> 00:06:46,319
در این تابلوی تیره وجود ندارد، بنابراین می توانیم این کار را انجام
173
00:06:46,319 –> 00:06:48,639
دهیم اگر رنگ یکسانی دارید،
174
00:06:48,639 –> 00:06:50,560
ممکن است متضاد باشد و مشکل ایجاد
175
00:06:50,560 –> 00:06:52,000
کند،
176
00:06:52,000 –> 00:06:54,319
بنابراین ممکن است بخواهید
177
00:06:54,319 –> 00:06:57,520
به روش contours مراجعه کنید تا در
178
00:06:57,520 –> 00:07:00,080
واقع لبه ها یا دایره را بدست آورید یا ممکن است
179
00:07:00,080 –> 00:07:02,319
می خواهید از نیم ترانسفورماتور استفاده کنید m برای پیدا کردن
180
00:07:02,319 –> 00:07:03,759
دایره و راه های زیادی وجود دارد که
181
00:07:03,759 –> 00:07:05,599
می توانید این کار را انجام دهید، اما برای این کار
182
00:07:05,599 –> 00:07:07,280
برای این پروژه ما می خواهیم
183
00:07:07,280 –> 00:07:09,840
رنگ یاب را انجام دهیم و ایده پشت این
184
00:07:09,840 –> 00:07:11,919
پروژه این نیست که دقیقاً همان
185
00:07:11,919 –> 00:07:14,319
کاری را که من انجام داده ام کپی کنید.
186
00:07:14,319 –> 00:07:17,039
که شما اصول اولیه را میدانید و از
187
00:07:17,039 –> 00:07:19,120
آنجا میتوانید پروژه خود را ایجاد کنید
188
00:07:19,120 –> 00:07:20,800
، مطمئنم که شما
189
00:07:20,800 –> 00:07:23,840
خلاقتر از من هستید، بنابراین میتوانید این
190
00:07:23,840 –> 00:07:26,960
را در پروژههای خود قرار دهید و پروژههای بسیار بهتری ایجاد کنید،
191
00:07:26,960 –> 00:07:29,039
192
00:07:29,039 –> 00:07:30,880
بنابراین امیدوارم که این به شما کمک کند بنابراین
193
00:07:30,880 –> 00:07:33,039
ما حالا ترشی را هم وارد خواهد کرد
194
00:07:33,039 –> 00:07:35,599
چرا به ترشی خوب نیاز داریم این
195
00:07:35,599 –> 00:07:38,240
است که همه
196
00:07:38,240 –> 00:07:39,680
این نقاط
197
00:07:39,680 –> 00:07:41,919
و همه این چند ضلعی ها
198
00:07:41,919 –> 00:07:44,639
و مناطق آنها را تعریف می کنیم و نقاط آنها را نیز تعریف می کنیم
199
00:07:44,639 –> 00:07:45,599
200
00:07:45,599 –> 00:07:47,840
بنابراین برای انجام این کار می خواهیم یک
201
00:07:47,840 –> 00:07:50,720
اسکریپت جدید که در آن ما فقط به
202
00:07:50,720 –> 00:07:54,000
این تابلوی دارت برچسب می زنیم، بنابراین برای برچسب گذاری
203
00:07:54,000 –> 00:07:56,400
یک اسکریپت جدید ایجاد می کنیم و
204
00:07:56,400 –> 00:07:59,039
یک فایل را از آن اسکریپت ذخیره می
205
00:07:59,039 –> 00:08:01,440
کنیم و می خواهیم آن را برای آن اطلاعات در اینجا وارد کنیم،
206
00:08:01,440 –> 00:08:03,520
اکنون ممکن است کمی به نظر برسد.
207
00:08:03,520 –> 00:08:05,360
گیج کننده g در این مرحله، اما
208
00:08:05,360 –> 00:08:07,199
نگران نباشید، من توضیح خواهم داد که وقتی به آن نقطه رسیدیم،
209
00:08:07,199 –> 00:08:09,039
210
00:08:09,039 –> 00:08:11,440
خوب، بنابراین اکنون اولین چیز این است که ما
211
00:08:11,440 –> 00:08:13,280
از وب کم استفاده نمی کنیم، اما هنوز
212
00:08:13,280 –> 00:08:15,199
باید ویدیو را وارد کنیم، بنابراین
213
00:08:15,199 –> 00:08:17,840
ما اینجا cap.cv2
214
00:08:17,840 –> 00:08:20,240
و وبکم و
215
00:08:20,240 –> 00:08:23,120
ویدیو تقریباً یکسان
216
00:08:23,120 –> 00:08:24,840
هستند
217
00:08:24,840 –> 00:08:28,720
، بنابراین اگر از
218
00:08:28,720 –> 00:08:29,840
219
00:08:29,840 –> 00:08:32,559
یک وبکم استفاده میکنید، فقط صفر یا یک را بنویسید
220
00:08:32,559 –> 00:08:34,559
تا
221
00:08:34,559 –> 00:08:36,479
بتوانید از آن استفاده کنید، اما در این مورد
222
00:08:36,479 –> 00:08:38,640
ما از یک ویدیو استفاده میکنیم.
223
00:08:38,640 –> 00:08:41,599
آن را از پوشه ویدیوها دریافت کنید و این
224
00:08:41,599 –> 00:08:44,240
ویدیو شماره یک خواهد بود،
225
00:08:44,240 –> 00:08:44,959
بنابراین
226
00:08:44,959 –> 00:08:46,560
بله، ما باید
227
00:08:46,560 –> 00:08:50,080
پسوند را نیز
228
00:08:50,080 –> 00:08:53,519
229
00:08:53,519 –> 00:08:55,360
230
00:08:55,360 –> 00:08:57,040
231
00:08:57,040 –> 00:08:58,480
232
00:08:58,480 –> 00:09:01,200
233
00:09:01,200 –> 00:09:03,519
بنویسیم. هر فریم را بخوانید و ما
234
00:09:03,519 –> 00:09:06,640
کلید وزن کلید را با وزن نقطه cb2 می نویسیم
235
00:09:06,640 –> 00:09:10,640
و می خواهیم بنویسیم اوه
236
00:09:10,640 –> 00:09:13,440
نه صفر، یک می نویسیم و
237
00:09:13,440 –> 00:09:14,399
238
00:09:14,399 –> 00:09:18,399
همچنین i am show cb2 dot im show را انجام می
239
00:09:18,399 –> 00:09:21,839
دهیم و می خواهیم اینجا
240
00:09:21,839 –> 00:09:25,120
تصویر و img
241
00:09:25,120 –> 00:09:28,800
img را بنویسیم.
242
00:09:28,880 –> 00:09:30,320
به نظر می رسد که هیچ پیکربندی در اینجا وجود ندارد،
243
00:09:30,320 –> 00:09:32,080
244
00:09:32,080 –> 00:09:33,680
بنابراین wh در شما می توانید این کار را انجام دهید این است که به سادگی می توانید
245
00:09:33,680 –> 00:09:35,839
اینجا کلیک راست کرده و main را اجرا کنید و این
246
00:09:35,839 –> 00:09:37,519
به طور خودکار
247
00:09:37,519 –> 00:09:39,279
این مشکل را برای شما حل می کند،
248
00:09:39,279 –> 00:09:43,360
پس حالا ما در حال دریافت ویدیوی خود هستیم، بنابراین
249
00:09:43,360 –> 00:09:45,440
این در واقع یک ویدیوی ثابت است که می توانید
250
00:09:45,440 –> 00:09:47,360
بگویید دوربین وب کم است. هنوز و
251
00:09:47,360 –> 00:09:49,200
هیچ چیز در آن نشان داده نمی شود
252
00:09:49,200 –> 00:09:52,160
ویدئوی شماره دو در واقع
253
00:09:52,160 –> 00:09:54,000
با ضربه زدن توپ است،
254
00:09:54,000 –> 00:09:56,160
بنابراین در اینجا من یکی را از دست دادم و سپس
255
00:09:56,160 –> 00:09:58,160
دو و سه وجود دارد، بنابراین آنها واقعا سریع حرکت می کنند،
256
00:09:58,160 –> 00:09:59,120
257
00:09:59,120 –> 00:10:01,200
بنابراین ما باید
258
00:10:01,200 –> 00:10:04,000
سرعت آنها را نیز کم کنیم تا بتوانیم این کار را انجام دهیم.
259
00:10:04,000 –> 00:10:07,440
مطمئن باشید که آنها 30 فریم در ثانیه هستند،
260
00:10:07,440 –> 00:10:09,680
بنابراین ما می توانیم از اینجا سرعت آن را کاهش دهیم به
261
00:10:09,680 –> 00:10:12,480
عنوان مثال می توانیم 50 بنویسیم و در آنجا
262
00:10:12,480 –> 00:10:15,360
حدود 20 فریم در ثانیه
263
00:10:15,360 –> 00:10:18,480
کاهش می یابد،
264
00:10:18,480 –> 00:10:22,079
بنابراین این یک ضربه دیگر است
265
00:10:24,079 –> 00:10:25,920
و خوبی این است که ما تغییرات مختلفی داریم
266
00:10:25,920 –> 00:10:28,560
که در آن وقتی در جای نامناسبی برخورد می کند به جایی می افتد که می افتد
267
00:10:28,560 –> 00:10:31,200
268
00:10:31,200 –> 00:10:34,720
بنابراین اگر این را اجرا
269
00:10:34,720 –> 00:10:37,360
کنیم اجرا می شود و سپس متوقف می شود
270
00:10:37,360 –> 00:10:40,399
بنابراین به ما خطا می
271
00:10:40,399 –> 00:10:43,519
دهد پس چرا این خطا را دریافت کردیم
272
00:10:43,519 –> 00:10:46,240
دلیل آن این است که ویدیو به پایان رسید، بنابراین
273
00:10:46,240 –> 00:10:48,959
کاری که ما باید انجام دهیم این است که انجام دهیم
274
00:10:48,959 –> 00:10:52,160
اجازه دهید فقط آن را به عنوان یکی قرار دهیم، بنابراین باید
275
00:10:52,160 –> 00:10:54,959
این حلقه را در حال اجرا نگه داریم تا زمانی که
276
00:10:54,959 –> 00:10:57,600
در حال آزمایش هستیم،
277
00:10:57,600 –> 00:11:00,560
هر بار که میخواهیم به کار خود ادامه دهد، از آن خارج نشود، بنابراین
278
00:11:00,560 –> 00:11:03,920
در اینجا میخواهیم شمارنده
279
00:11:04,399 –> 00:11:06,240
فریم
280
00:11:06,240 –> 00:11:08,000
281
00:11:08,000 –> 00:11:10,320
به اضافه
282
00:11:10,720 –> 00:11:13,200
یک را بنویسیم. ما در حال شمارش چند
283
00:11:13,200 –> 00:11:15,120
فریم
284
00:11:15,120 –> 00:11:17,040
هستیم و بررسی میکنیم که آیا
285
00:11:17,040 –> 00:11:20,000
شمارنده فریم ما واقعاً
286
00:11:20,000 –> 00:11:21,680
آن را تعریف میکنیم، در غیر این صورت همچنان
287
00:11:21,680 –> 00:11:23,600
یک فریم دیگر ارائه میدهد، بنابراین اجازه دهید بنویسیم شمارنده فریم شما
288
00:11:23,600 –> 00:11:25,680
برابر با صفر است، بنابراین در
289
00:11:25,680 –> 00:11:27,600
ابتدا تعداد فریمها صفر است که ما به آن
290
00:11:27,600 –> 00:11:29,680
اضافه میکنیم. شمارنده فریم و ما بررسی می کنیم که
291
00:11:29,680 –> 00:11:33,440
آیا نقطه کلاهی cb2 می شود یا
292
00:11:33,440 –> 00:11:37,440
خیر.
293
00:11:37,440 –> 00:11:38,480
294
00:11:38,480 –> 00:11:42,880
295
00:11:42,880 –> 00:11:46,399
296
00:11:46,399 –> 00:11:47,839
297
00:11:47,839 –> 00:11:50,480
298
00:11:50,480 –> 00:11:55,440
299
00:11:55,440 –> 00:11:59,279
cv2 dot uh cap
300
00:11:59,279 –> 00:12:03,360
underscore prop underscore موقعیت
301
00:12:03,360 –> 00:12:06,079
فریم های زیر خط
302
00:12:06,079 –> 00:12:08,480
صفر است بنابراین اساساً کاری که ما انجام می
303
00:12:08,480 –> 00:12:10,079
دهیم می گوییم که به شمارش
304
00:12:10,079 –> 00:12:12,720
فریم ها ادامه دهید و بررسی می کنیم که
305
00:12:12,720 –> 00:12:15,839
واقعاً چند فریم در ویدیوی ما وجود دارد بنابراین اگر
306
00:12:15,839 –> 00:12:18,720
به آن رسیده ایم ماکزیمم فریمها را پس
307
00:12:18,720 –> 00:12:22,160
میزنیم تا فریم را روی صفر برگردانیم،
308
00:12:22,160 –> 00:12:24,480
بنابراین ویدیو را ریست میکند، بنابراین در حال
309
00:12:24,480 –> 00:12:27,040
حاضر با سرعت بسیار بالایی است، بنابراین اگر آن را اجرا
310
00:12:27,040 –> 00:12:29,519
کنیم، چند بار ضربه میزند و
311
00:12:29,519 –> 00:12:31,600
دوباره شروع میشود،
312
00:12:31,600 –> 00:12:33,920
بنابراین این چیزی است که ما می خواهیم، ما نمی خواهیم مت
313
00:12:33,920 –> 00:12:35,200
314
00:12:35,200 –> 00:12:38,480
قف شود و به ما خطا بد
315
00:12:38,480 –> 00:12:40,079
د، بنابراین خوب اس
316
00:12:40,079 –> 00:12:42,560
مرحله دوم این است که در واقع تص
317
00:12:42,560 –> 00:12:45,120
یر را کار کنیم، بنابراین اگر به خاطر دارید با
318
00:12:45,120 –> 00:12:48,000
د این نکات را در نظر بگیریم و باید کار کن
319
00:12:48,000 –> 00:12:51,120
م تا ما یک تصویر کاملاً در مرکز دریافت
320
00:12:51,120 –> 00:12:54,959
کنید و صفحه دارت کج نشود،
321
00:12:54,959 –> 00:12:56,000
322
00:12:56,000 –> 00:12:58,880
بنابراین چگونه می توانیم به
323
00:12:58,880 –> 00:13:03,839
تصویر خود برویم، آن را در اکسپلورر باز می کنیم و در
324
00:13:05,360 –> 00:13:06,399
اینجا
325
00:13:06,399 –> 00:13:09,279
کلیک راست می
326
00:13:09,279 –> 00:13:12,240
کنیم و روی ویرایش کلیک
327
00:13:12,240 –> 00:13:14,800
می کنیم. این در رنگ باز می شود
328
00:13:14,800 –> 00:13:16,800
و کاری که ما می خواهیم انجام دهیم این است که می
329
00:13:16,800 –> 00:13:19,120
خواهیم مقادیر نقاط گوشه خود را یادداشت کنیم
330
00:13:19,120 –> 00:13:22,160
اکنون می توانید این کار را
331
00:13:22,160 –> 00:13:25,040
با uh به صورت پویا نیز انجام دهید
332
00:13:25,040 –> 00:13:27,440
اما اوه ما این کار را انجام نمی دهیم
333
00:13:27,440 –> 00:13:29,120
زیرا فقط اضافه می کند کمی
334
00:13:29,120 –> 00:13:31,600
پیچیدگی بیشتر است و در این مورد نیازی به آن
335
00:13:31,600 –> 00:13:33,200
نیست زیرا دوربین
336
00:13:33,200 –> 00:13:35,839
متحرک نیست دوربین ثابت است،
337
00:13:35,839 –> 00:13:37,600
بنابراین نیازی به انجام این
338
00:13:37,600 –> 00:13:38,399
کار نداریم، بنابراین
339
00:13:38,399 –> 00:13:41,120
اجازه دهید فقط به نقاط نگاه کنیم، بنابراین اگر
340
00:13:41,120 –> 00:13:42,240
به اینجا نگاه کنید،
341
00:13:42,240 –> 00:13:44,880
وقتی آن را به گوشه ای نشان می دهم، می
342
00:13:44,880 –> 00:13:47,199
توانید در گوشه پایین سمت چپ ببینید، در
343
00:13:47,199 –> 00:13:49,600
حال حاضر مقدار پیکسل را به شما می دهد. می
344
00:13:49,600 –> 00:13:52,800
گوید 377 و 52،
345
00:13:52,800 –> 00:13:55,440
بنابراین من آن را می نویسم
346
00:13:55,440 –> 00:13:57,079
و می گویم 377
347
00:13:57,079 –> 00:13:59,839
52 که
348
00:13:59,839 –> 00:14:03,040
ولین نقطه من است، سپ
349
00:14:03,040 –> 00:14:05,839
به نقطه دوم خود نگاه می کنیم نق
350
00:14:05,839 –> 00:14:08,160
351
00:14:11,040 –> 00:14:13,519
ه دوم ما باید ای
352
00:14:13,519 –> 00:14:15,040
باشد که در اینجا دا
353
00:14:15,040 –> 00:14:18,000
ای عرض است و قد صفر است
354
00:14:18,000 –> 00:14:20,959
پس نه چهار چهار و هفتاد و یک،
355
00:14:20,959 –> 00:14:23,440
بنابراین اگر همراه با تصویر و فیلم ها دنبال می کنید، اینجا نه چهار چهار
356
00:14:23,440 –> 00:14:25,120
و هفتاد و یک می نویسیم،
357
00:14:25,120 –> 00:14:27,120
پس
358
00:14:27,120 –> 00:14:29,120
این دقیقاً همان کاری است که من
359
00:14:29,120 –> 00:14:30,399
انجام
360
00:14:30,399 –> 00:14:31,600
می دهم،
361
00:14:31,600 –> 00:14:35,000
پس اگر بریم در اینجا
362
00:14:35,000 –> 00:14:38,880
261 و 624
363
00:14:38,880 –> 00:14:43,320
261 و 624
364
00:14:45,360 –> 00:14:47,440
خواهد بود، سپس آخرین مورد را انجام خواهیم داد و
365
00:14:47,440 –> 00:14:51,279
آخرین مورد یک صفر پنج هشت و شش
366
00:14:51,279 –> 00:14:53,440
یک دو
367
00:14:53,440 –> 00:14:57,040
یک صفر پنج هشت و شش یک دو است، بنابراین
368
00:14:57,040 –> 00:14:59,120
این چهار نقطه است که ما نیاز
369
00:14:59,120 –> 00:15:01,519
داریم. در حال حاضر آنها را نظر
370
00:15:01,519 –> 00:15:04,000
خواهیم داد و در واقع اجازه دهید آنها را
371
00:15:04,000 –> 00:15:06,480
در نقاطی قرار دهیم ما اینجا نقاط می نویسیم
372
00:15:06,480 –> 00:15:08,639
اوه، در واقع بیایید به
373
00:15:08,639 –> 00:15:11,600
جای اینکه فقط بگوییم نقاط،
374
00:15:11,600 –> 00:15:12,959
بگذارید بگوییم
375
00:15:12,959 –> 00:15:14,480
نقاط
376
00:15:14,480 –> 00:15:15,839
گوشه،
377
00:15:15,839 –> 00:15:17,680
378
00:15:17,680 –> 00:15:22,000
بنابراین نقاط گوشه ما اساساً
379
00:15:22,000 –> 00:15:24,480
این مقادیر 3 7
380
00:15:24,480 –> 00:15:26,800
7 و 52 هستند،
381
00:15:26,800 –> 00:15:29,360
سپس یک دیگری داریم، سپس یکی دیگر داریم
382
00:15:29,360 –> 00:15:31,040
و سپس ما یکی دیگر
383
00:15:31,040 –> 00:15:34,240
داریم، بنابراین لیستی از مقادیر داریم و در
384
00:15:34,240 –> 00:15:36,720
آن لیست لیست دیگری وجود دارد که دارای
385
00:15:36,720 –> 00:15:39,440
دو مقدار x و y است،
386
00:15:39,440 –> 00:15:42,720
بنابراین این ایده اصلی است و
387
00:15:42,720 –> 00:15:44,959
ترتیب باید دقیقاً یکسان
388
00:15:44,959 –> 00:15:48,720
باشد، در غیر این صورت هنگام کار به درستی کار نخواهد
389
00:15:48,720 –> 00:15:51,040
کرد.
390
00:15:51,040 –> 00:15:53,600
بنابراین اگر پویا بود باید
391
00:15:53,600 –> 00:15:55,199
این نقاط را مرتب کنیم
392
00:15:55,199 –> 00:15:58,000
و در واقع پیدا کنیم که کدام یک صفر صفر است
393
00:15:58,000 –> 00:15:59,519
کدام یک عرض ارتفاع کدام یک
394
00:15:59,519 –> 00:16:02,000
ارتفاع صفر و کدام یک صفر عرض
395
00:16:02,000 –> 00:16:02,959
صفر است،
396
00:16:02,959 –> 00:16:04,959
بنابراین در این مورد ما مجبور نیستیم این کار را
397
00:16:04,959 –> 00:16:06,320
398
00:16:06,320 –> 00:16:08,959
خوب انجام دهید تا آن را منحرف کنید، کاری که میتوانیم انجام دهیم این است که
399
00:16:08,959 –> 00:16:11,120
به جای انجام همه این کارها در
400
00:16:11,120 –> 00:16:14,160
حلقه while، میتوانیم در واقع یک تابع ایجاد کنیم
401
00:16:14,160 –> 00:16:18,160
و به عنوان مثال میتوانیم این um
402
00:16:18,160 –> 00:16:20,639
را شروع کنید یا خسته شوید،
403
00:16:20,639 –> 00:16:23,480
بنابراین بیایید بگوییم خسته شوید
404
00:16:23,480 –> 00:16:25,360
b-o-a-r-d
405
00:16:25,360 –> 00:16:27,759
و ما در حال رفتن به س برای دریافت تابلو به تصویر خود پایان دهید
406
00:16:27,759 –> 00:16:30,480
و در عوض
407
00:16:30,480 –> 00:16:33,360
ما به تصویر خروجی نیاز داریم، بنابراین اینجا می
408
00:16:33,360 –> 00:16:34,880
نویسیم تصویر
409
00:16:34,880 –> 00:16:38,560
یا اوم آره بیایید آن را تصویر بیرون
410
00:16:38,560 –> 00:16:39,519
411
00:16:39,519 –> 00:16:41,199
بنامیم، اما برابر با این است
412
00:16:41,199 –> 00:16:43,440
یا باید آن را تابلوی تصویر بنامیم، فکر می
413
00:16:43,440 –> 00:16:45,839
کنم بهتر است آن را صدا کنید
414
00:16:45,839 –> 00:16:49,040
تابلوی تصویر بله پس خسته شوید ما می خواهیم این را
415
00:16:49,040 –> 00:16:52,639
تعریف کنیم اینجا می نویسیم
416
00:16:52,800 –> 00:16:53,680
خسته شوید
417
00:16:53,680 –> 00:16:54,959
418
00:16:54,959 –> 00:16:57,839
و سپس تصویر خود را می
419
00:16:57,839 –> 00:16:59,759
گیریم و سپس باید
420
00:16:59,759 –> 00:17:01,920
قسمت تاب خوردگی خود را اضافه کنیم
421
00:17:01,920 –> 00:17:04,880
بنابراین برای تاب برداشتن اول از همه به دو
422
00:17:04,880 –> 00:17:06,240
مجموعه از
423
00:17:06,240 –> 00:17:08,559
نقاط نیاز داریم. نقطه اولی که قبلاً داریم،
424
00:17:08,559 –> 00:17:11,919
بنابراین نقاط یک برابر است با
425
00:17:11,919 –> 00:17:14,480
numpy dot floats
426
00:17:14,480 –> 00:17:15,280
حالا
427
00:17:15,280 –> 00:17:18,079
میخواهیم از تابع پرسپکتیو کلمه استفاده کنیم
428
00:17:18,079 –> 00:17:20,559
و پرسپکتیو get work را
429
00:17:20,559 –> 00:17:21,679
تبدیل کنیم
430
00:17:21,679 –> 00:17:24,559
حالا این توابع به
431
00:17:24,559 –> 00:17:27,919
این مقادیر یا این لیستها در نوع خاصی نیاز دارند
432
00:17:27,919 –> 00:17:31,520
این نوع float 32 است. به همین دلیل است که
433
00:17:31,520 –> 00:17:35,440
ما از numpy برای تبدیل این لیست به لیست float32 استفاده می کنیم، در
434
00:17:35,440 –> 00:17:38,320
435
00:17:38,320 –> 00:17:40,799
غیر این صورت واقعاً مورد نیاز نیست، اما
436
00:17:40,799 –> 00:17:42,799
به دلیل اینکه این یک الزام
437
00:17:42,799 –> 00:17:44,720
تابعی است که می خواهیم استفاده کنیم، بنابراین باید این
438
00:17:44,720 –> 00:17:47,520
کار را انجام دهیم، بنابراین در اینجا ما
439
00:17:47,520 –> 00:17:51,600
float32 oh float 3 را می نویسیم. 2 و سپس
440
00:17:51,600 –> 00:17:53,600
ما به سادگی امتیازهایمان را میدهیم،
441
00:17:53,600 –> 00:17:56,960
بنابراین اینها نقاط گوشهای ما هستند، بد من، بنابراین
442
00:17:56,960 –> 00:17:59,039
ما میخواهیم نقاط گوشهای را بنویسیم و
443
00:17:59,039 –> 00:18:00,960
این اولین نقطه ما خواهد بود،
444
00:18:00,960 –> 00:18:03,600
سپس امتیاز دوم خواهد بود که
445
00:18:03,600 –> 00:18:06,080
دقیقاً میخواهید چه چیزی باشد،
446
00:18:06,080 –> 00:18:08,799
بنابراین این نقطه در اینجا اگر به تصویر ما نگاه کنید،
447
00:18:08,799 –> 00:18:10,720
448
00:18:10,720 –> 00:18:13,200
این نقطه در
449
00:18:13,200 –> 00:18:15,360
اینجا اندازه آن چقدر است خوب، بنابراین این
450
00:18:15,360 –> 00:18:17,919
نقطه در اینجا باید صفر باشد،
451
00:18:17,919 –> 00:18:20,960
این نقطه در اینجا باید عرض صفر باشد،
452
00:18:20,960 –> 00:18:22,960
این یک ارتفاع است و
453
00:18:22,960 –> 00:18:25,440
ارتفاع صفر است
454
00:18:25,440 –> 00:18:28,480
و این یکی ارتفاع ارتفاع است، بنابراین باید
455
00:18:28,480 –> 00:18:30,960
هر کدام را تعریف کنیم. یکی از اینها
456
00:18:30,960 –> 00:18:33,919
پس میخواهیم اینجا بنویسیم نقطه
457
00:18:33,919 –> 00:18:36,080
2 برابر است با
458
00:18:36,080 –> 00:18:39,600
دوباره نقطه ناتوانی شناور
459
00:18:39,600 –> 00:18:42,400
32 و سپس در داخل آن
460
00:18:42,400 –> 00:18:44,880
ماتریس خود را مانند قبل ایجاد می
461
00:18:44,880 –> 00:18:47,039
کنیم و این بار می
462
00:18:47,039 –> 00:18:49,840
گوییم اولی 0 0 است
463
00:18:49,840 –> 00:18:51,440
سپس داریم دومی
464
00:18:51,440 –> 00:18:53,520
سومی و
465
00:18:53,520 –> 00:18:57,039
چهارمی دومی عرض و صفر
466
00:18:57,039 –> 00:18:58,480
467
00:18:58,480 –> 00:19:02,400
سومی ارتفاع صفر و ارتفاع
468
00:19:02,400 –> 00:19:06,400
و چهارمی عرض و ارتفاع است
469
00:19:06,400 –> 00:19:08,960
بنابراین این ایده اصلی است
470
00:19:08,960 –> 00:19:10,799
اما عرض چیست ارتفاع چیست از کجا
471
00:19:10,799 –> 00:19:12,880
می توانیم بدست آوریم. که از ما می توانیم آن را از
472
00:19:12,880 –> 00:19:15,520
خود دریافت کنیم تصویر اصلی بنابراین عرض
473
00:19:15,520 –> 00:19:17,600
و
474
00:19:17,600 –> 00:19:19,600
ارتفاع برابر است با
475
00:19:19,600 –> 00:19:22,320
ما می خواهیم اینجا عدد
476
00:19:22,320 –> 00:19:25,200
صحیح بنویسیم و در مقادیر خود می نویسیم
477
00:19:25,200 –> 00:19:27,600
بنابراین در اینجا باید اندازه
478
00:19:27,600 –> 00:19:30,080
تخته واقعی را بدهیم بنابراین اندازه
479
00:19:30,080 –> 00:19:34,559
تخته واقعی اساساً 400 در 380 است.
480
00:19:34,559 –> 00:19:35,679
اما
481
00:19:35,679 –> 00:19:38,240
این بسیار کوچک است، بنابراین کاری که ما انجام خواهیم داد این
482
00:19:38,240 –> 00:19:41,280
است که آن را با یک ضریب ضرب می کنیم،
483
00:19:41,280 –> 00:19:44,400
بنابراین این اندازه واقعی بر حسب میلی متر است،
484
00:19:44,400 –> 00:19:46,400
بنابراین کاری که ما انجام خواهیم داد این است که
485
00:19:46,400 –> 00:19:48,080
آن را در 1.5
486
00:19:48,080 –> 00:19:50,799
ضرب می کنیم و آن را در 1.5 ضرب می کنیم،
487
00:19:50,799 –> 00:19:53,440
بنابراین مقدار را حفظ می کنیم. نسبت ابعاد یکسان است،
488
00:19:53,440 –> 00:19:56,880
ما فقط آن را افزایش می دهیم،
489
00:19:56,880 –> 00:19:59,360
پس از اینکه این اطلاعات را
490
00:19:59,360 –> 00:20:00,880
داشتیم،
491
00:20:00,880 –> 00:20:03,280
ماتریس تبدیل را دریافت می کنیم که
492
00:20:03,280 –> 00:20:05,520
به ما امکان می دهد اکنون تصویر را کار کنیم، اگر
493
00:20:05,520 –> 00:20:07,120
با همه اینها آشنا نیستید، به
494
00:20:07,120 –> 00:20:08,960
شدت توصیه می کنم که کلمه من را بررسی کنید.
495
00:20:08,960 –> 00:20:11,120
ویدیوی پرسپکتیو
496
00:20:11,120 –> 00:20:12,799
کمی جزئیات بیشتری در این مورد به شما ارائه می دهد،
497
00:20:12,799 –> 00:20:14,240
498
00:20:14,240 –> 00:20:16,400
بنابراین در اینجا می خواهیم بنویسیم که ماتریس
499
00:20:16,400 –> 00:20:17,679
برابر است با
500
00:20:17,679 –> 00:20:19,679
cv2 نقطه
501
00:20:19,679 –> 00:20:22,480
تبدیل پرسپکتیو Uh تبدیل پرسپکتیو را می گیرد
502
00:20:22,480 –> 00:20:25,960
503
00:20:26,360 –> 00:20:28,000
504
00:20:28,000 –> 00:20:30,559
و سپس نقطه ها را
505
00:20:30,559 –> 00:20:35,080
یک و سپس نقاط دو را می نویسیم
506
00:20:35,440 –> 00:20:38,159
سپس می رویم. اینجا بنویسیم
507
00:20:38,159 –> 00:20:40,640
که تصویر ما
508
00:20:40,640 –> 00:20:43,840
برابر است با cv2 dot
509
00:20:43,840 –> 00:20:45,200
uh warp
510
00:20:45,200 –> 00:20:47,200
511
00:20:47,200 –> 00:20:50,480
perspektiva uh
512
00:20:50,480 –> 00:20:53,200
پرسپکتیو اساساً تصویر است
513
00:20:53,200 –> 00:20:57,200
و سپس ماتریس ماتریس خود
514
00:20:57,200 –> 00:20:58,640
515
00:20:58,640 –> 00:21:01,600
را داریم و سپس عرض
516
00:21:01,600 –> 00:21:04,640
و ارتفاع خود را در
517
00:21:06,159 –> 00:21:07,280
آنجا داریم،
518
00:21:07,280 –> 00:21:09,679
بنابراین این تصویر خروجی را به ما می
519
00:21:09,679 –> 00:21:11,760
دهد بیایید اینجا بنویسیم. خروجی این
520
00:21:11,760 –> 00:21:13,679
تصویر خروجی است
521
00:21:13,679 –> 00:21:17,039
و سپس کاری که میتوانیم انجام دهیم این است که میتوانیم
522
00:21:17,039 –> 00:21:19,360
آن را
523
00:21:19,360 –> 00:21:22,000
به تصویر واقعی خود بفرستیم، بنابراین میتوانیم
524
00:21:22,000 –> 00:21:23,760
اساساً خارج از تابع، خروجی تصویر را در اینجا بنویسیم
525
00:21:23,760 –> 00:21:25,280
526
00:21:25,280 –> 00:21:26,240
527
00:21:26,240 –> 00:21:28,559
تا برگردانده شود،
528
00:21:28,559 –> 00:21:30,559
بنابراین آنچه در اینجا اتفاق میافتد این است که ما در حال
529
00:21:30,559 –> 00:21:32,480
ایجاد معیارها بر اساس این
530
00:21:32,480 –> 00:21:36,159
اطلاعات هستیم و با استفاده از این ماتریس
531
00:21:36,159 –> 00:21:39,600
، این تصویر را تبدیل
532
00:21:39,600 –> 00:21:44,000
می کنیم و
533
00:21:44,000 –> 00:21:46,000
تصویر خروجی را
534
00:21:46,000 –> 00:21:48,240
با استفاده از عرض و ارتفاعی که در اینجا ارائه کرده ایم ذخیره می کنیم
535
00:21:48,240 –> 00:21:50,559
536
00:21:50,559 –> 00:21:52,559
و اگر بخواهید می توانید در واقع ترسیم کنید.
537
00:21:52,559 –> 00:21:55,200
نقاط این چهار نقطه
538
00:21:55,200 –> 00:21:57,679
، این چهار نقطه نیستند
539
00:21:57,679 –> 00:21:59,679
که به شما امکان میدهند ببینید آیا
540
00:21:59,679 –> 00:22:02,320
امتیازات صحیح را دریافت میکنید یا نه، بنابراین
541
00:22:02,320 –> 00:22:06,159
در اینجا میتوانید برای x در محدوده بنویسید
542
00:22:06,159 –> 00:22:07,360
543
00:22:07,360 –> 00:22:09,600
، فرض کنید چهار
544
00:22:09,600 –> 00:22:14,400
میرویم. برای نوشتن دایره نقطهای cv2
545
00:22:14,400 –> 00:22:17,360
و سپس آن را روی
546
00:22:17,360 –> 00:22:19,679
تصویر اصلی خود قرار
547
00:22:19,679 –> 00:22:20,640
548
00:22:20,640 –> 00:22:23,840
میدهیم، آن را روی تصویر اصلی خود قرار نمیدهیم، آن را روی تصویر اصلی خود قرار میدهیم
549
00:22:23,840 –> 00:22:25,919
و سپس
550
00:22:25,919 –> 00:22:28,000
نقاط خود را مینویسیم تا اینجا
551
00:22:28,000 –> 00:22:29,280
نقاط
552
00:22:29,280 –> 00:22:32,640
گوشهای را بنویسیم. قرار است
553
00:22:32,640 –> 00:22:35,840
مقدار x را بدست آوریم و سپس
554
00:22:35,840 –> 00:22:38,000
صفر را دریافت کنیم این خواهد بود،
555
00:22:38,000 –> 00:22:40,400
به عنوان مثال این اولین مقدار این خواهد بود،
556
00:22:40,400 –> 00:22:41,280
557
00:22:41,280 –> 00:22:44,000
بنابراین این عنصر صفر است و این
558
00:22:44,000 –> 00:22:46,559
559
00:22:46,559 –> 00:22:49,440
اولین عنصر آن است، اولین عنصر آن است،
560
00:22:49,440 –> 00:22:51,679
بنابراین ما دوباره همان چیزی را می نویسیم
561
00:22:51,679 –> 00:22:53,360
562
00:22:53,360 –> 00:22:56,240
اما عنصر دوم را می گیریم
563
00:22:56,240 –> 00:22:58,400
که یکی است
564
00:22:58,400 –> 00:23:01,360
و سپس به آن ضخامت می دهیم
565
00:23:01,360 –> 00:23:03,440
یا این شعاع به آن 15 می
566
00:23:03,440 –> 00:23:05,679
دهد که می خواهیم بزرگ باشد و به آن یک
567
00:23:05,679 –> 00:23:09,360
رنگ می دهیم. دو پنج پنج
568
00:23:09,360 –> 00:23:13,280
و صفر سبز می شود و سپس می گوییم نقطه cb2
569
00:23:13,280 –> 00:23:14,320
پر شده است،
570
00:23:14,320 –> 00:23:17,600
بنابراین می خواهیم آن را پر کنیم
571
00:23:18,000 –> 00:23:20,480
بسیار خوب، پس بیایید ادامه دهیم و این را اجرا کنیم و
572
00:23:20,480 –> 00:23:23,520
ببینیم آیا کار می کند، بنابراین بیایید اجرا
573
00:23:23,520 –> 00:23:26,880
کنیم که در حال دریافت تصویر تعریف نشده است،
574
00:23:26,880 –> 00:23:27,679
پس
575
00:23:27,679 –> 00:23:30,559
چه چیزی نیست. تعریف شده کجاست
576
00:23:30,559 –> 00:23:33,039
اینجا تصویر تعریف نشده
577
00:23:33,039 –> 00:23:35,120
است چرا
578
00:23:35,120 –> 00:23:38,080
خوب است ما باید این کار را بعد از
579
00:23:38,080 –> 00:23:40,480
خواندن تصویر انجام دهیم نه قبل از آن،
580
00:23:40,480 –> 00:23:42,720
پس بیایید آن را اجرا کنیم
581
00:23:42,720 –> 00:23:44,720
و به آنجا برویم، بنابراین در اینجا می توانید ببینید که
582
00:23:44,720 –> 00:23:46,640
این نکات صحیح هستند
583
00:23:46,640 –> 00:23:48,720
و اگر
584
00:23:48,720 –> 00:23:51,120
به آن نگاه کنید آیا این کار را نمی کند، ما در
585
00:23:51,120 –> 00:23:53,279
واقع خروجی را دریافت نکردیم، بنابراین ما باید
586
00:23:53,279 –> 00:23:57,279
اینجا بنویسم cb2 dot من هستم نشان میدهم من نشان میدهم و اینجا مینویسیم
587
00:23:57,279 –> 00:24:01,039
588
00:24:01,039 –> 00:24:02,559
تصویر
589
00:24:02,559 –> 00:24:04,799
، مثلاً تابلو
590
00:24:04,799 –> 00:24:06,880
و ما اینجا مینویسیم تابلوی
591
00:24:06,880 –> 00:24:09,840
تصویر،
592
00:24:10,000 –> 00:24:11,679
پس بیایید آن را اجرا کنیم
593
00:24:11,679 –> 00:24:13,520
و شما بروید، بنابراین این تابلوی تصویر ما است،
594
00:24:13,520 –> 00:24:15,440
حالا درست است، حتی اگر
595
00:24:15,440 –> 00:24:17,679
این باشد کمی منحنی است که خوب است،
596
00:24:17,679 –> 00:24:19,840
اما تصویر ما در واقع در این نقطه مستقیم است،
597
00:24:19,840 –> 00:24:20,880
598
00:24:20,880 –> 00:24:23,679
بنابراین ما آن را از این به سمت راست تبدیل کردهایم،
599
00:24:23,679 –> 00:24:26,559
جایی که به نظر میرسد در
600
00:24:26,559 –> 00:24:29,039
مرکز مرده است، مستقیماً مرده است،
601
00:24:29,039 –> 00:24:31,520
بنابراین خوب است اکنون ما
602
00:24:31,520 –> 00:24:34,080
تصویر خود را اکنون آنچه نیاز داریم کار کردهایم. برای انجام این
603
00:24:34,080 –> 00:24:37,200
کار باید یکی از این تصاویر را ذخیره
604
00:24:37,200 –> 00:24:38,960
کنیم تا
605
00:24:38,960 –> 00:24:41,440
بتوانیم از آن برای تشخیص رنگ استفاده
606
00:24:41,440 –> 00:24:44,000
کنیم و همچنین می توانیم از این
607
00:24:44,000 –> 00:24:47,279
برای یافتن نقاطی استفاده کنیم که دقیقاً
608
00:24:47,279 –> 00:24:48,720
uh
609
00:24:48,720 –> 00:24:50,720
همه این چند ضلعی های مختلف هستند، بنابراین
610
00:24:50,720 –> 00:24:52,559
باید دو تصویر را ذخیره
611
00:24:52,559 –> 00:24:55,840
کنیم تا بتوانیم بنویسیم. در اینجا
612
00:24:55,840 –> 00:24:58,159
613
00:24:58,159 –> 00:25:02,720
cv2 dots خوانده شده و به شما می رویم m
614
00:25:02,720 –> 00:25:04,880
به آن یک نام بدهید، بنابراین ما میخواهیم
615
00:25:04,880 –> 00:25:05,919
اینجا
616
00:25:05,919 –> 00:25:06,960
تصویر
617
00:25:06,960 –> 00:25:10,080
بنویسیم، باید در تصویر نقل قول باشد و
618
00:25:10,080 –> 00:25:13,679
سپس به آن یک extension.png
619
00:25:13,679 –> 00:25:15,760
میدهیم و سپس اینجا
620
00:25:15,760 –> 00:25:18,480
تابلوی تصویر را مینویسیم،
621
00:25:18,480 –> 00:25:21,840
بنابراین بیایید اجرا کنیم که
622
00:25:22,159 –> 00:25:25,840
پرچم مورد نیاز است که یک عدد صحیح باشد.
623
00:25:25,840 –> 00:25:29,679
اشتباهی
624
00:25:29,679 –> 00:25:33,120
انجام دادم، اوه متاسفم که خوانده نمیشوم،
625
00:25:33,120 –> 00:25:35,679
درست میگویم بد
626
00:25:35,679 –> 00:25:37,840
من چه کار میکنم خوب است،
627
00:25:37,840 –> 00:25:40,240
بنابراین وقتی هر سه مورد را داشت،
628
00:25:40,240 –> 00:25:42,880
629
00:25:42,880 –> 00:25:44,080
یک
630
00:25:44,080 –> 00:25:45,200
دو
631
00:25:45,200 –> 00:25:46,799
سه توقف را متوقف میکنم،
632
00:25:46,799 –> 00:25:49,200
بنابراین اکنون میدانم که این روش عجیبی است برای انجام
633
00:25:49,200 –> 00:25:50,960
این کار اما در اینجا می توانید ببینید که اکنون
634
00:25:50,960 –> 00:25:53,279
ما تصویر را با هر سه توپ به
635
00:25:53,279 –> 00:25:55,679
طور همزمان داریم، بنابراین اکنون می توانیم جلو برویم و
636
00:25:55,679 –> 00:25:58,000
تشخیص رنگ را برای این تصویر انجام دهیم
637
00:25:58,000 –> 00:25:59,919
و برای تصویر دوم
638
00:25:59,919 –> 00:26:02,480
ما
639
00:26:02,480 –> 00:26:04,880
تابلوی تصویری uh آن را
640
00:26:04,880 –> 00:26:07,600
v o a r d صدا
641
00:26:07,600 –> 00:26:09,440
می کنیم تا زمانی که آن را بخواهیم تابلو
642
00:26:09,440 –> 00:26:11,520
کاملاً خالی است، بنابراین میتوانیم همین الان آن را متوقف کنیم
643
00:26:11,520 –> 00:26:12,320
644
00:26:12,320 –> 00:26:13,840
و تابلو در این نقطه کاملاً خالی است،
645
00:26:13,840 –> 00:26:16,640
بنابراین میتوانیم از این تصویر برای
646
00:26:16,640 –> 00:26:19,440
یافتن این همه مکانهای چند ضلعی استفاده کنیم،
647
00:26:19,440 –> 00:26:21,039
زیرا این دقیقاً همان چیزی است که
648
00:26:21,039 –> 00:26:24,640
هر بار میخواهیم دریافت کنیم.
649
00:26:24,640 –> 00:26:28,159
دو تصویری که داریم و
650
00:26:28,159 –> 00:26:30,960
بعداً از آنها استفاده خواهیم کرد پس بیایید
651
00:26:30,960 –> 00:26:33,120
جلوتر برویم و اول از همه اکنون رنگ را تشخیص دهیم،
652
00:26:33,120 –> 00:26:36,640
بنابراین اکنون که تابلوی خود
653
00:26:36,640 –> 00:26:39,039
را داریم و تصویر خود را
654
00:26:39,039 –> 00:26:42,559
داریم، رنگ را تشخیص می دهیم،
655
00:26:42,559 –> 00:26:46,400
بنابراین برای رنگی که نیازی به
656
00:26:46,400 –> 00:26:48,720
ایجاد یا نیازی نیست به جای آن از ویدیو استفاده کنید،
657
00:26:48,720 –> 00:26:49,760
658
00:26:49,760 –> 00:26:52,880
ما از یک تصویر استفاده
659
00:26:52,880 –> 00:26:55,840
می کنیم و کاری که می توانیم انجام دهیم این است که به جای نوشتن
660
00:26:55,840 –> 00:26:57,760
این خط
661
00:26:57,760 –> 00:26:59,520
، در این مورد نظر می دهیم و
662
00:26:59,520 –> 00:27:01,039
می خواهیم بنویسیم که
663
00:27:01,039 –> 00:27:05,279
تصویر برابر است با نقطه های cv2 من
664
00:27:05,279 –> 00:27:10,640
خوانده شده و می خواهیم در img dot png خود را بخوانید،
665
00:27:10,640 –> 00:27:13,840
بنابراین ما اینجا می نویسیم تصویر نقطه
666
00:27:13,840 –> 00:27:15,919
png
667
00:27:15,919 –> 00:27:18,240
و بیایید ببینیم که آیا کار می کند یا خیر
668
00:27:18,240 –> 00:27:21,039
و در اینجا کار می کند،
669
00:27:21,039 –> 00:27:23,039
بنابراین ما در حال گرفتن تصویر اصلی خود هستیم و می توانیم تابلوی
670
00:27:23,039 –> 00:27:25,600
تصویر را فراموش کنیم، اوه، زیرا
671
00:27:25,600 –> 00:27:28,559
در حال حاضر از تصویر واقعی استفاده نمی کنیم.
672
00:27:28,559 –> 00:27:31,279
اوه اندازه، بنابراین قدم
673
00:27:31,279 –> 00:27:34,320
بعدی پیدا کردن رنگ است، بنابراین برای رنگی
674
00:27:34,320 –> 00:27:36,480
که قبلاً ماژول رنگ خود را وارد
675
00:27:36,480 –> 00:27:38,960
کردهایم و میخواهیم از رنگ یاب استفاده کنیم،
676
00:27:38,960 –> 00:27:39,919
677
00:27:39,919 –> 00:27:42,159
بنابراین وقتی از رنگ یاب استفاده
678
00:27:42,159 –> 00:27:45,440
میکنیم، باید آنچه را که باید انجام دهیم، بنویسیم. در اینجا
679
00:27:45,440 –> 00:27:48,880
رنگ یاب برابر است با
680
00:27:48,880 –> 00:27:50,880
رنگ یاب
681
00:27:50,880 –> 00:27:54,399
و باید در debu بدهیم g بنابراین
682
00:27:54,399 –> 00:27:57,600
به طور پیشفرض اشکالزدایی نادرست است، بنابراین ما
683
00:27:57,600 –> 00:28:00,159
آن را درست قرار میدهیم زیرا اول از
684
00:28:00,159 –> 00:28:03,039
همه باید رنگ را پیدا کنیم و سپس میتوانیم آن
685
00:28:03,039 –> 00:28:04,399
را اعمال کنیم،
686
00:28:04,399 –> 00:28:07,039
بنابراین برای پیدا کردن رنگ، اشکالزدایی را درست قرار میدهیم
687
00:28:07,039 –> 00:28:08,640
688
00:28:08,640 –> 00:28:13,279
و بعد از اینکه دریافت کردیم، اینجا را به دست میآوریم. تصویر
689
00:28:13,279 –> 00:28:15,200
ما را میتوانیم فعلاً این قسمت را حذف کنیم تا برد را
690
00:28:15,200 –> 00:28:17,760
دریافت کنیم، اوه، در واقع اجازه دهید آن را نگه داریم،
691
00:28:17,760 –> 00:28:19,520
زیرا آزاردهنده خواهد بود،
692
00:28:19,520 –> 00:28:21,440
اجازه دهید اوه یا
693
00:28:21,440 –> 00:28:24,320
این را نگه داریم،
694
00:28:24,320 –> 00:28:26,159
من نمیخواهم آن را از کد حذف کنم،
695
00:28:26,159 –> 00:28:28,559
شاید بعداً بخواهید از آن استفاده کنید. روشن است،
696
00:28:28,559 –> 00:28:30,720
اما فعلاً از آن استفاده نکنیم،
697
00:28:30,720 –> 00:28:32,559
زیرا کار ما با انجام
698
00:28:32,559 –> 00:28:35,440
تصاویر تمام شده است، امیدوارم بازنویسی نشده باشد،
699
00:28:35,440 –> 00:28:37,520
بله،
700
00:28:37,520 –> 00:28:40,000
این بد است، بنابراین ما می توانیم آن را برطرف کنیم، به
701
00:28:40,000 –> 00:28:42,799
702
00:28:42,799 –> 00:28:46,080
هر حال باید قبلاً آن را حذف می کردم، بنابراین چه خواهیم کرد اکنون
703
00:28:46,080 –> 00:28:47,600
704
00:28:47,600 –> 00:28:50,320
رنگ را پیدا می کنیم، بنابراین کاری که باید
705
00:28:50,320 –> 00:28:53,200
انجام دهیم این
706
00:28:53,200 –> 00:28:55,840
است که شی خود را که ایجاد کرده ایم فراخوانی می کنیم و برای فراخوانی
707
00:28:55,840 –> 00:28:58,640
آن به سادگی متد به روز رسانی را فراخوانی
708
00:28:58,640 –> 00:29:00,559
می کنیم، بنابراین در اینجا می توانیم بنویسیم
709
00:29:00,559 –> 00:29:03,360
که رنگ تصویر
710
00:29:03,360 –> 00:29:06,720
و ماسک ما این است. برابر است با به
711
00:29:06,720 –> 00:29:09,360
روز رسانی نقطه یاب رنگ و ما در
712
00:29:09,360 –> 00:29:13,200
تصویر خود را به روز رسانی می دهیم و
713
00:29:13,200 –> 00:29:15,520
همینطور است، در حال حاضر در حالت اشکال زدایی است، به
714
00:29:15,520 –> 00:29:17,520
همین دلیل نیازی نیست که به آن بگوییم کدام رنگ
715
00:29:17,520 –> 00:29:19,679
را پیدا کند و کدام رنگ را به روز کند،
716
00:29:19,679 –> 00:29:21,679
زیرا ما در شرف پیدا کردن هستیم،
717
00:29:21,679 –> 00:29:24,080
بنابراین در اینجا خواهید دید که ما یک
718
00:29:24,080 –> 00:29:26,559
نوار آهنگ جدید داریم و کاری که میتوانیم انجام دهیم این است که
719
00:29:26,559 –> 00:29:28,240
میتوانیم این نوار مسیر را
720
00:29:28,240 –> 00:29:31,120
برای تغییر رنگ در اینجا حرکت دهیم، اما در حال حاضر
721
00:29:31,120 –> 00:29:32,240
722
00:29:32,240 –> 00:29:34,799
رنگ تصویر را مشاهده نمیکنیم، فقط عکس را
723
00:29:34,799 –> 00:29:37,200
خروجی میدهیم، بنابراین باید cv2 dot را خروجی بگیریم
724
00:29:37,200 –> 00:29:38,240
725
00:29:38,240 –> 00:29:41,440
i am show و باید
726
00:29:41,440 –> 00:29:42,799
اینجا
727
00:29:42,799 –> 00:29:45,279
تصویر بنویسیم. رنگ
728
00:29:45,279 –> 00:29:46,720
و
729
00:29:46,720 –> 00:29:50,240
رنگ تصویر را اینجا می نویسیم
730
00:29:50,240 –> 00:29:52,399
پس بیایید اجرا کنیم که این رنگ تصویر ما
731
00:29:52,399 –> 00:29:54,480
باشد و اگر این را جابجا کنم
732
00:29:54,480 –> 00:29:55,919
تغییر رنگ را می بینید
733
00:29:55,919 –> 00:29:58,240
بنابراین باید رنگ این
734
00:29:58,240 –> 00:29:59,200
سبز
735
00:29:59,200 –> 00:30:00,640
را پیدا کنیم بنابراین آن را
736
00:30:00,640 –> 00:30:04,480
حرکت می دهیم تا فقط این سبز باقی بماند
737
00:30:04,480 –> 00:30:06,720
بنابراین ما میخواهیم همه چیز را
738
00:30:06,720 –> 00:30:09,600
به جز صفحه نمایش حذف کنیم،
739
00:30:14,080 –> 00:30:16,480
بنابراین باید آن را کمی
740
00:30:16,480 –> 00:30:18,240
بیشتر به آنجا
741
00:30:18,240 –> 00:30:21,240
742
00:30:34,840 –> 00:30:36,399
743
00:30:36,399 –> 00:30:40,080
744
00:30:40,480 –> 00:30:41,919
745
00:30:41,919 –> 00:30:43,600
746
00:30:43,600 –> 00:30:46,240
747
00:30:46,240 –> 00:30:49,279
منتقل کنیم.
748
00:30:49,279 –> 00:30:52,480
بنابراین اجازه دهید این را متوقف کنیم
749
00:30:52,480 –> 00:30:54,960
و این در اینجا رنگ را برای ما چاپ می
750
00:30:54,960 –> 00:30:56,000
کند
751
00:30:56,000 –> 00:30:58,960
بنابراین کاری که ما باید انجام دهیم این است که فقط باید
752
00:30:58,960 –> 00:31:00,000
آن را کپی
753
00:31:00,000 –> 00:31:02,640
کنیم و باید پیست کنیم، بنابراین
754
00:31:02,640 –> 00:31:05,360
کاری که می توانیم انجام دهیم این است که یک
755
00:31:05,360 –> 00:31:08,240
بار دیگر آن را اجرا کنیم تا مطمئن شویم 100 مورد،
756
00:31:08,240 –> 00:31:10,960
زیرا این بخش مشکلی است، بنابراین
757
00:31:10,960 –> 00:31:13,600
اجازه دهید کمی آن را جابه جا
758
00:31:13,600 –> 00:31:16,320
759
00:31:16,480 –> 00:31:19,039
کنیم. بگو ما
760
00:31:19,039 –> 00:31:22,000
آن را پایین بیاوریم تا فرض کنیم 40
761
00:31:22,000 –> 00:31:25,600
و این یکی آن را
762
00:31:25,600 –> 00:31:29,200
به 20 می رسانیم، چیزی که
763
00:31:29,200 –> 00:31:32,519
بله، شما بروید،
764
00:31:33,200 –> 00:31:35,919
باید آن را
765
00:31:35,919 –> 00:31:38,559
کمی جابه جا کنیم
766
00:31:38,559 –> 00:31:41,360
نه خیلی زیاد
767
00:31:42,000 –> 00:31:43,679
و بله
768
00:31:43,679 –> 00:31:46,000
، فکر می کنم به اندازه کافی خوب است، بنابراین
769
00:31:46,000 –> 00:31:47,600
اینجا متوقف می شویم
770
00:31:47,600 –> 00:31:50,480
و ما این را کپی می کنیم
771
00:31:50,480 –> 00:31:52,799
و اکنون کاری که باید انجام دهیم این است که باید به
772
00:31:52,799 –> 00:31:54,159
اینجا
773
00:31:54,159 –> 00:31:57,840
برویم و باید این را تعریف کنیم زیرا مقادیر hs v ما
774
00:31:57,840 –> 00:31:59,440
775
00:31:59,440 –> 00:32:02,559
برابر با این است
776
00:32:02,559 –> 00:32:03,440
بنابراین
777
00:32:03,440 –> 00:32:06,000
در اینجا ما آن را به عنوان false قرار می دهیم اکنون که
778
00:32:06,000 –> 00:32:07,919
اشکال زدایی را که می دانیم به پایان رسانده ایم. کدام
779
00:32:07,919 –> 00:32:09,840
رنگ را میخواهیم بهروزرسانی کنیم که کدام رنگ را
780
00:32:09,840 –> 00:32:12,640
میخواهیم پیدا کنیم، بنابراین در اینجا به سادگی
781
00:32:12,640 –> 00:32:16,320
مقادیر hsv را به مقادیر hsv میدهیم و
782
00:32:16,320 –> 00:32:18,399
اکنون فقط این رنگ را تشخیص میدهد،
783
00:32:18,399 –> 00:32:19,840
بنابراین اگر این را اجرا کنیم،
784
00:32:19,840 –> 00:32:22,000
میبینید که به طور پیشفرض
785
00:32:22,000 –> 00:32:24,080
این را میدهد، هیچ آهنگی وجود ندارد. نوار شناسایی شد و
786
00:32:24,080 –> 00:32:25,600
787
00:32:25,600 –> 00:32:28,399
این تصویری است که به دست می آوریم تا آن را آزمایش کنیم
788
00:32:28,399 –> 00:32:29,760
که
789
00:32:29,760 –> 00:32:32,240
چه کاری می توانیم انجام دهیم ما میتوانیم
790
00:32:32,240 –> 00:32:33,519
ایمبرید خود را
791
00:32:33,519 –> 00:32:35,679
از اینجا حذف کنیم و میتوانیم به ویدیوی خود برگردیم،
792
00:32:35,679 –> 00:32:36,640
793
00:32:36,640 –> 00:32:39,120
پس بیایید آن را اجرا کنیم
794
00:32:39,120 –> 00:32:40,720
و شما برویم،
795
00:32:40,720 –> 00:32:43,840
پس بیایید ببینیم آنجا میروید، ما یک ضربه
796
00:32:43,840 –> 00:32:45,919
خوردیم که آنجا یک ضربه دیگر و سپس
797
00:32:45,919 –> 00:32:47,279
یک ضربه دیگر،
798
00:32:47,279 –> 00:32:49,039
بنابراین خیلی جالب است
799
00:32:49,039 –> 00:32:51,760
و ما می توانیم انجام دهیم این است که ما می توانیم ماسک را ایجاد
800
00:32:51,760 –> 00:32:54,559
کنیم که می توانیم ماسک را از این قسمت نشان
801
00:32:54,559 –> 00:32:58,320
دهیم، بنابراین بیایید این قسمت را کپی
802
00:32:58,320 –> 00:32:59,440
803
00:32:59,440 –> 00:33:03,519
کنیم و ما می خواهیم ماسک تصویر
804
00:33:03,679 –> 00:33:07,440
بنویسیم و ماسک را در اینجا می نویسیم،
805
00:33:08,399 –> 00:33:11,760
بنابراین اگر اجرا کنیم که این ماسک ما است،
806
00:33:11,760 –> 00:33:13,279
بنابراین شما آنجا را خواهید
807
00:33:13,279 –> 00:33:15,519
دید شما برو این یک ضربه واضح است این
808
00:33:15,519 –> 00:33:18,159
یک ضربه واضح است اما مسئله اینجاست
809
00:33:18,159 –> 00:33:21,120
که اکنون خطوط سیاهی در بین آنها وجود دارد بنابراین
810
00:33:21,120 –> 00:33:22,720
ما واقعاً یک دایره کامل نمی گیریم
811
00:33:22,720 –> 00:33:26,080
و این یک مشکل است زیرا
812
00:33:26,080 –> 00:33:28,320
وقتی به تشخیص خطوط و تشخیص می رویم
813
00:33:28,320 –> 00:33:30,399
نقطه مرکزی آن
814
00:33:30,399 –> 00:33:32,720
را به عنوان یک توپ
815
00:33:32,720 –> 00:33:36,480
تشخیص نمی دهد، آن را به صورت مثلثی یا مستطیلی کوچک متفاوت تشخیص می دهد،
816
00:33:36,480 –> 00:33:38,320
هر
817
00:33:38,320 –> 00:33:40,960
شکلی که باشد، چهار تکه سه تکه
818
00:33:40,960 –> 00:33:43,120
چیزی شبیه به آن، اما ما باید
819
00:33:43,120 –> 00:33:44,960
آنها را به هم وصل کنیم و باید
820
00:33:44,960 –> 00:33:47,440
این صداها را نیز حذف کنیم. این سر و صدا
821
00:33:47,440 –> 00:33:49,840
در غیر این صورت به درستی کار نخواهد کرد،
822
00:33:49,840 –> 00:33:52,240
بنابراین کاری که ما انجام خواهیم داد این است که به جای اینکه
823
00:33:52,240 –> 00:33:53,919
آن را در اینجا بنویسیم، می خواهیم
824
00:33:53,919 –> 00:33:55,440
یک تابع دیگر ایجاد
825
00:33:55,440 –> 00:33:58,000
کنیم و آن را چه
826
00:33:58,000 –> 00:33:59,919
827
00:33:59,919 –> 00:34:02,159
828
00:34:02,159 –> 00:34:05,519
829
00:34:05,519 –> 00:34:07,120
830
00:34:07,120 –> 00:34:08,639
نامی
831
00:34:08,639 –> 00:34:10,480
بگذاریم.
832
00:34:10,480 –> 00:34:12,320
بنابراین و ما دوباره تصویر خود را ارائه
833
00:34:12,320 –> 00:34:13,280
834
00:34:13,280 –> 00:34:15,199
می دهیم و اینجا هستیم، تمام
835
00:34:15,199 –> 00:34:17,280
پردازش های مورد نیاز را انجام خواهیم داد
836
00:34:17,280 –> 00:34:19,760
تا نویز مورد نیاز برای افزایش فرسایش اتساع را کاهش دهیم.
837
00:34:19,760 –> 00:34:21,599
838
00:34:21,599 –> 00:34:23,599
839
00:34:23,599 –> 00:34:25,040
با بقیه کدها تداخل داشته
840
00:34:25,040 –> 00:34:26,320
841
00:34:26,320 –> 00:34:28,719
باشیم و در اینجا ما به سادگی می توانیم
842
00:34:28,719 –> 00:34:30,480
تابع را فراخوانی کنیم، بنابراین
843
00:34:30,480 –> 00:34:32,320
آنچه ما در واقع به آن نیاز داریم ماسک است که
844
00:34:32,320 –> 00:34:34,239
به بقیه اهمیت
845
00:34:34,239 –> 00:34:36,560
نمی دهیم ماسک است،
846
00:34:36,560 –> 00:34:39,040
بنابراین در اینجا می خواهیم بنویسیم mask
847
00:34:39,040 –> 00:34:41,280
برابر است با
848
00:34:41,280 –> 00:34:43,839
نقطه های رنگ متن و ما می
849
00:34:43,839 –> 00:34:47,280
خواهیم در تابلوی تصویر خود بفرستیم،
850
00:34:47,520 –> 00:34:50,560
بنابراین این ایده و رنگ تصویر است،
851
00:34:50,560 –> 00:34:52,239
اگر آن را نگه داریم، اگر آن را حذف کنیم،
852
00:34:52,239 –> 00:34:53,599
اجازه دهید
853
00:34:53,599 –> 00:34:56,639
آن را در اینجا قرار دهیم،
854
00:34:56,639 –> 00:35:00,800
بسیار خب، بله، اکنون درست است
855
00:35:00,800 –> 00:35:04,160
و ما ماسک را برمی گردانیم پس اینجا آه
856
00:35:04,160 –> 00:35:06,000
من چه کار کردم
857
00:35:06,000 –> 00:35:09,680
در اینجا قرار است ماسک برگشتی را
858
00:35:09,680 –> 00:35:12,720
بنویسیم تا بعداً فراموش
859
00:35:12,720 –> 00:35:15,280
نکنیم و اکنون باید این را
860
00:35:15,280 –> 00:35:16,400
کمی بهتر پردازش
861
00:35:16,400 –> 00:35:19,119
کنیم تا بتوانیم در واقع ماسک نیز نتایج بهتری بگیریم
862
00:35:19,119 –> 00:35:21,599
863
00:35:21,599 –> 00:35:23,920
یا بله، بگذارید فقط آن را در اینجا
864
00:35:23,920 –> 00:35:25,760
نگه داریم. ماسک اینجا
865
00:35:25,760 –> 00:35:27,680
خیلی خوب است، بنابراین اولین کاری که میخواهیم انجام
866
00:35:27,680 –> 00:35:28,640
867
00:35:28,640 –> 00:35:30,960
دهیم،
868
00:35:30,960 –> 00:35:33,520
قبل از ارسال تصویر، کمی تاری اضافه میکنیم، این
869
00:35:33,520 –> 00:35:37,040
باعث میشود که خیلی واضح نباشد و
870
00:35:37,040 –> 00:35:39,680
نویز کمتری داشته باشد، بنابراین در اینجا ما
871
00:35:39,680 –> 00:35:42,320
خواهد نوشت تصویر blur
872
00:35:42,320 –> 00:35:44,400
blur برابر با
873
00:35:44,400 –> 00:35:46,720
cv2 نقطه
874
00:35:46,720 –> 00:35:48,560
گاوسی
875
00:35:48,560 –> 00:35:50,160
تاری است
876
00:35:50,160 –> 00:35:53,200
و ما تصویر خود را می دهیم و
877
00:35:53,200 –> 00:35:54,960
سپس اندازه هسته را می دهیم
878
00:35:54,960 –> 00:35:57,119
مثلاً هفت در هفت باید اعداد فرد باشد
879
00:35:57,119 –> 00:35:59,680
و سپس مقدار دلتا را می دهیم
880
00:35:59,680 –> 00:36:00,800
881
00:36:00,800 –> 00:36:02,560
پس
882
00:36:02,560 –> 00:36:05,520
این باید خوب باشید
883
00:36:05,520 –> 00:36:07,359
و
884
00:36:07,359 –> 00:36:08,960
بیایید
885
00:36:08,960 –> 00:36:11,520
به جای تصویر واقعی، این را به عنوان ورودی خود قرار
886
00:36:11,520 –> 00:36:12,880
887
00:36:12,880 –> 00:36:16,880
دهیم و ببینیم آیا تفاوتی می بینیم،
888
00:36:16,880 –> 00:36:17,680
بنابراین
889
00:36:17,680 –> 00:36:20,000
890
00:36:20,000 –> 00:36:22,160
رنگ تصویر کجاست، تصویر آنجاست، شما
891
00:36:22,160 –> 00:36:24,800
بروید، بنابراین اکنون تاری را می بینید،
892
00:36:24,800 –> 00:36:26,800
بنابراین به ما در این زمینه کمک می کند. تشخیص
893
00:36:26,800 –> 00:36:28,800
با نویز نیز
894
00:36:28,800 –> 00:36:29,760
خوب است
895
00:36:29,760 –> 00:36:32,160
بنابراین اکنون اگر دوباره به این موضوع نگاه کنیم،
896
00:36:32,160 –> 00:36:35,040
میبینیم که ما در اینجا مقداری نویز
897
00:36:35,040 –> 00:36:38,079
داریم و باید آن را حذف کنیم،
898
00:36:38,079 –> 00:36:38,880
بنابراین
899
00:36:38,880 –> 00:36:41,599
یکی از روشهای حذف نویز
900
00:36:41,599 –> 00:36:43,119
اساساً
901
00:36:43,119 –> 00:36:45,920
باز کردن uh است و این اساساً یک
902
00:36:45,920 –> 00:36:49,359
فرسایش است که با اتساع uh همراه است،
903
00:36:49,359 –> 00:36:51,920
بنابراین در opencv ما داریم این تابع
904
00:36:51,920 –> 00:36:53,359
نامیده می شود
905
00:36:53,359 –> 00:36:55,839
و ما ابتدا تعریف می کنیم
906
00:36:55,839 –> 00:36:57,359
که یک هسته
907
00:36:57,359 –> 00:37:02,000
هسته یک بار برابر با np dot است
908
00:37:02,000 –> 00:37:04,079
و آن را به
909
00:37:04,079 –> 00:37:06,320
اندازه 5 در 5 تعریف
910
00:37:06,320 –> 00:37:08,640
می کنیم و سپس
911
00:37:08,640 –> 00:37:13,200
اعداد صحیح بدون علامت هشت به آن numpy dot می دهیم. بیت ها
912
00:37:13,760 –> 00:37:16,400
بنابراین این هسته که قرار است استفاده کنیم، بنابراین
913
00:37:16,400 –> 00:37:19,359
اینجا می نویسیم mask برابر با cv2
914
00:37:19,359 –> 00:37:20,480
dot است و
915
00:37:20,480 –> 00:37:24,640
برای logy
916
00:37:24,640 –> 00:37:26,000
x بیشتر است
917
00:37:26,000 –> 00:37:29,040
و ما می خواهیم اینجا mask بنویسیم و
918
00:37:29,040 –> 00:37:31,760
سپس cv2 dot
919
00:37:31,760 –> 00:37:32,880
morph
920
00:37:32,880 –> 00:37:34,960
underscore open
921
00:37:34,960 –> 00:37:38,480
و سپس در ما می دهیم
922
00:37:38,480 –> 00:37:42,400
بنابراین در اینجا ماسک را می نویسیم
923
00:37:42,400 –> 00:37:43,200
تا
924
00:37:43,200 –> 00:37:46,320
آن نویز را حذف کنیم، بنابراین در اینجا
925
00:37:46,320 –> 00:37:48,640
می توانیم مقادیر مختلف را دوباره بنویسیم،
926
00:37:48,640 –> 00:37:50,400
این باید عجیب باشد،
927
00:37:50,400 –> 00:37:52,800
بنابراین اگر این را اکنون اجرا کنیم،
928
00:37:52,800 –> 00:37:54,240
929
00:37:54,240 –> 00:37:56,320
پس رنگ تصویر این است و این
930
00:37:56,320 –> 00:37:59,119
ماسک ما بدون آن نویز است.
931
00:37:59,119 –> 00:38:01,040
اکنون می توانید ببینید که ما فقط دریافت می کنیم
932
00:38:01,040 –> 00:38:02,800
توپ ها را بچرخانید
933
00:38:02,800 –> 00:38:06,400
تا بتوانید با این مقادیر بازی کنید
934
00:38:06,400 –> 00:38:09,119
تا نویز را کم یا زیاد کنید
935
00:38:09,119 –> 00:38:10,640
،
936
00:38:10,640 –> 00:38:13,920
حتی در آن صورت ممکن است
937
00:38:13,920 –> 00:38:16,240
کمی نویز اینجا و آنجا داشته باشید، اگر بخواهید
938
00:38:16,240 –> 00:38:18,800
آن را حذف کنید، نمی توانید
939
00:38:18,800 –> 00:38:20,720
تمام نویزها را حذف کنید، اما می توانید امتحان کنید.
940
00:38:20,720 –> 00:38:24,720
بهترین کار شما در اینجا می توانید یک تاری میانی اضافه کنید، بنابراین
941
00:38:24,720 –> 00:38:27,040
در اینجا می توانید بنویسید ماسک برابر است با
942
00:38:27,040 –> 00:38:28,160
میانه
943
00:38:28,160 –> 00:38:30,800
cv2 نقطه
944
00:38:30,800 –> 00:38:32,880
تاری
945
00:38:32,880 –> 00:38:35,119
و شما می توانید در
946
00:38:35,119 –> 00:38:36,480
ماسک خود بنویسید
947
00:38:36,480 –> 00:38:38,480
و می توانید
948
00:38:38,480 –> 00:38:40,320
شدت را بدهید،
949
00:38:40,320 –> 00:38:42,560
بنابراین در اینجا ما به آن شدت بالا می
950
00:38:42,560 –> 00:38:43,920
951
00:38:43,920 –> 00:38:46,160
دهیم، پس بیایید ببینیم بنابراین در اینجا اکنون می توانید ببینید که
952
00:38:46,160 –> 00:38:48,960
نویز بسیار کاهش یافته است
953
00:38:48,960 –> 00:38:51,200
و اکنون فقط
954
00:38:51,200 –> 00:38:52,640
955
00:38:52,640 –> 00:38:53,760
تقریباً توپ ها را می بینید
956
00:38:53,760 –> 00:38:56,640
که نویز بسیار بسیار خوب است ،
957
00:38:56,640 –> 00:38:58,400
بنابراین اکنون به نقطه خوبی رسیده
958
00:38:58,400 –> 00:38:59,119
ایم که
959
00:38:59,119 –> 00:39:01,920
اوهوم دیگر نویز نیست اما
960
00:39:01,920 –> 00:39:03,040
مسئله اکنون است
961
00:39:03,040 –> 00:39:05,920
که توپ ها هستند امم آنها
962
00:39:05,920 –> 00:39:07,680
شبیه توپ نیستند که
963
00:39:07,680 –> 00:39:10,240
مشکل این است که آنها از هم دور هستند و آنها
964
00:39:10,240 –> 00:39:12,880
اشیاء متفاوتی هستند در اینجا می توانید ببینید که آنها
965
00:39:12,880 –> 00:39:15,200
به هم متصل نیستند
966
00:39:15,200 –> 00:39:18,240
بنابراین ما در اینجا به تابع اتساع نیاز داریم
967
00:39:18,240 –> 00:39:20,480
تا آنها را به هم وصل کنیم بنابراین اینجا خواهیم نوشت
968
00:39:20,480 –> 00:39:23,359
ماسک برابر است به
969
00:39:23,359 –> 00:39:25,040
cv2 نقاط
970
00:39:25,040 –> 00:39:28,040
گشاد می شود
971
00:39:28,480 –> 00:39:31,200
اوه حالا املای اشتباه است گشاد می شود
972
00:39:31,200 –> 00:39:33,920
و بعد دوباره ماسک را می نویسیم
973
00:39:33,920 –> 00:39:35,680
974
00:39:35,680 –> 00:39:38,160
و سپس هسته ای را که
975
00:39:38,160 –> 00:39:40,320
استفاده می کنیم در هسته خود می دهیم اگر
976
00:39:40,320 –> 00:39:43,040
بخواهید می توانید هسته را تغییر دهید
977
00:39:43,040 –> 00:39:45,200
و سپس می رویم با توجه به
978
00:39:45,200 –> 00:39:46,480
تکرار تکرار
979
00:39:46,480 –> 00:39:49,200
بین تکرار
980
00:39:49,200 –> 00:39:53,240
چه املای
981
00:39:54,480 –> 00:39:57,119
تکراری برابر با 2 است.
982
00:39:57,119 –> 00:39:59,440
بنابراین ما می خواهیم آن را به همین صورت بنویسیم
983
00:39:59,440 –> 00:40:03,440
و بیایید ادامه دهیم و آن را امتحان
984
00:40:05,119 –> 00:40:06,800
985
00:40:06,800 –> 00:40:08,319
986
00:40:08,319 –> 00:40:10,400
987
00:40:10,400 –> 00:40:12,079
988
00:40:12,079 –> 00:40:15,040
کنیم. می تواند
989
00:40:15,040 –> 00:40:16,640
تکرار را دوباره افزایش دهد
990
00:40:16,640 –> 00:40:19,359
اما یک تابع دیگر وجود دارد که
991
00:40:19,359 –> 00:40:22,560
برعکس این است که باز است و
992
00:40:22,560 –> 00:40:24,240
دیگری بسته است
993
00:40:24,240 –> 00:40:26,720
بنابراین می توانیم هسته و این تابع را کپی
994
00:40:26,720 –> 00:40:30,000
کنیم و به جای
995
00:40:30,000 –> 00:40:32,319
باز کردن، اینجا می نویسیم
996
00:40:32,319 –> 00:40:34,880
بسته
997
00:40:34,960 –> 00:40:37,440
و می رویم. برای اینکه کمی
998
00:40:37,440 –> 00:40:40,240
مقادیر خشنتر به آن بدهیم تا بتوانید ببینید هنوز
999
00:40:40,240 –> 00:40:43,200
شکافهایی وجود دارد، میخواهیم آن را به
1000
00:40:43,200 –> 00:40:44,720
شدت ببندیم،
1001
00:40:44,720 –> 00:40:48,079
بنابراین بیایید ببینیم آیا این کار درست است یا
1002
00:40:50,160 –> 00:40:51,280
نه،
1003
00:40:51,280 –> 00:40:53,599
بنابراین اکنون تقریباً بسته است
1004
00:40:53,599 –> 00:40:56,079
و ما این حبابها را دریافت
1005
00:40:56,079 –> 00:40:59,440
میکنیم که میتوانیم از آنها به عنوان استفاده کنیم. را
1006
00:40:59,440 –> 00:41:01,680
مکان ارتفاع توپ
1007
00:41:01,680 –> 00:41:04,319
عالی نیست اما
1008
00:41:04,319 –> 00:41:05,680
شروع خوبی است
1009
00:41:05,680 –> 00:41:07,440
و شما می توانید با
1010
00:41:07,440 –> 00:41:09,359
پارامترهای مختلف به
1011
00:41:09,359 –> 00:41:11,119
1012
00:41:11,119 –> 00:41:13,599
1013
00:41:13,599 –> 00:41:16,240
1014
00:41:16,240 –> 00:41:18,480
بهبود ادامه دهید. اینجا یا چیزی که من اینجا دارم،
1015
00:41:18,480 –> 00:41:19,599
بنابراین
1016
00:41:19,599 –> 00:41:22,640
مطمئناً می توانید سعی کنید آنها را تغییر دهید،
1017
00:41:22,640 –> 00:41:25,440
بنابراین اکنون که ماسک خود
1018
00:41:25,440 –> 00:41:27,119
را داریم، کاری که می توانیم انجام دهیم این است
1019
00:41:27,119 –> 00:41:30,319
که می توانیم مکان آن را پیدا
1020
00:41:30,319 –> 00:41:33,280
کنیم، بنابراین باید کانتور را پیدا کنیم و
1021
00:41:33,280 –> 00:41:36,800
باید کانتور را در اطراف ترسیم کنیم. پس
1022
00:41:36,800 –> 00:41:37,839
1023
00:41:37,839 –> 00:41:40,640
بیایید آن را بنویسیم که کجاست
1024
00:41:40,640 –> 00:41:43,520
پس این رنگ تیره است و بعد از
1025
00:41:43,520 –> 00:41:45,280
آن می خواهیم کانتور را پیدا
1026
00:41:45,280 –> 00:41:48,400
کنیم بنابراین اینجا می نویسیم منطقه cv
1027
00:41:48,400 –> 00:41:49,599
dot
1028
00:41:49,599 –> 00:41:51,280
کانتورها
1029
00:41:51,280 –> 00:41:54,560
را پیدا کنیم و از صفحه تصویر پیدا
1030
00:41:54,560 –> 00:41:56,160
1031
00:41:56,160 –> 00:41:57,200
1032
00:41:57,200 –> 00:42:00,079
می کنیم و می خواهیم روی آن بکشیم تابلوی تصویر
1033
00:42:00,079 –> 00:42:02,079
و ما میخواهیم کانتور را از
1034
00:42:02,079 –> 00:42:03,440
ماسک پیدا کنیم
1035
00:42:03,440 –> 00:42:05,359
و سپس
1036
00:42:05,359 –> 00:42:07,119
حداقل
1037
00:42:07,119 –> 00:42:09,760
مقدار سه پنج صفر صفر داریم،
1038
00:42:09,760 –> 00:42:12,640
بنابراین حداقل مساحت شما میتوانید با
1039
00:42:12,640 –> 00:42:14,400
این ناحیه نیز بازی کنید
1040
00:42:14,400 –> 00:42:18,319
و سپس میخواهیم آن را ترسیم کنیم
1041
00:42:18,319 –> 00:42:20,240
تا آن را به همین صورت نگه داریم. و بیایید
1042
00:42:20,240 –> 00:42:22,640
ببینیم که چگونه کار می کند، بنابراین ما هستیم e می
1043
00:42:22,640 –> 00:42:24,480
خواهیم آن را به کانتورهای تصویر برگردانیم
1044
00:42:24,480 –> 00:42:26,240
1045
00:42:26,240 –> 00:42:28,480
و سپس ما اینجا می نویسیم کانتور
1046
00:42:28,480 –> 00:42:30,000
پیدا شده،
1047
00:42:30,000 –> 00:42:32,160
بنابراین تمام
1048
00:42:32,160 –> 00:42:34,960
خطوط و اطلاعات
1049
00:42:34,960 –> 00:42:37,200
مکان آنها اندازه
1050
00:42:37,200 –> 00:42:39,680
آنها جعبه مرزی آنها و هر چیز دیگری خواهد بود و
1051
00:42:39,680 –> 00:42:42,960
این تصویر با خطوط ترسیم شده است.
1052
00:42:42,960 –> 00:42:46,079
همینطور خروجی
1053
00:42:46,079 –> 00:42:49,359
میدهیم، بنابراین ما اینجا خطوط تصویر
1054
00:42:49,359 –> 00:42:53,599
را مینویسیم و حاشیههای تصویر را اینجا مینویسیم،
1055
00:42:53,599 –> 00:42:55,839
بنابراین بیایید آن را اجرا کنیم
1056
00:42:55,839 –> 00:42:59,119
و این هم خطوط تصویر است، بنابراین به محض
1057
00:42:59,119 –> 00:43:00,800
اینکه چیزی دریافت کردیم، میبینید
1058
00:43:00,800 –> 00:43:02,800
که رنگ آبی
1059
00:43:02,800 –> 00:43:04,800
آنجا کاملاً عالی میشوید.
1060
00:43:04,800 –> 00:43:06,160
1061
00:43:06,160 –> 00:43:09,599
سوسو می زند اما هنوز بد نیست،
1062
00:43:09,599 –> 00:43:11,280
بنابراین شاید بتوانیم
1063
00:43:11,280 –> 00:43:12,800
کمی با مقادیر بازی کنیم تا نتایج بهتری
1064
00:43:12,800 –> 00:43:15,200
1065
00:43:15,359 –> 00:43:18,079
1066
00:43:18,079 –> 00:43:20,560
بگیریم، بنابراین این ایده اصلی در اینجاست، می توانید ببینید که اکنون در حال گرفتن نقاط مرکزی
1067
00:43:20,560 –> 00:43:23,040
هستیم و تقریباً در حال گرفتن
1068
00:43:23,040 –> 00:43:24,640
جعبه مرزی هستیم. میتوانید ببینید که جعبه محدودکننده
1069
00:43:24,640 –> 00:43:26,960
کاملاً دقیق است، حتی اگر ما
1070
00:43:26,960 –> 00:43:28,720
حبابهای عجیب و غریب دریافت میکنیم،
1071
00:43:28,720 –> 00:43:31,280
اما هنوز هم کادر محدودکننده
1072
00:43:31,280 –> 00:43:33,359
تقریباً در اطراف دایره است،
1073
00:43:33,359 –> 00:43:36,400
بنابراین این نشانه خوبی است،
1074
00:43:37,440 –> 00:43:39,280
بنابراین خوب است، بیایید سعی کنیم مقدار را تغییر دهیم.
1075
00:43:39,280 –> 00:43:41,119
در اینجا کمی
1076
00:43:41,119 –> 00:43:43,599
پس چه چیزی را باید تغییر دهیم شاید
1077
00:43:43,599 –> 00:43:45,280
تکرار اینجا
1078
00:43:45,280 –> 00:43:49,640
کمی بیشتر
1079
00:43:56,960 –> 00:43:58,240
گشادش
1080
00:43:58,240 –> 00:43:59,040
کنیم بله بله
1081
00:43:59,040 –> 00:44:01,920
بله درست بود پس فقط
1082
00:44:01,920 –> 00:44:04,400
مجبور بودیم کمی بیشتر گشاد کنیم اگر
1083
00:44:04,400 –> 00:44:08,800
این کار را انجام دهیم برای اینکه بهتر
1084
00:44:08,800 –> 00:44:11,520
می شود سعی کنید
1085
00:44:15,839 –> 00:44:18,800
بله به نظر می رسد که بهتر شده است،
1086
00:44:18,800 –> 00:44:20,480
1087
00:44:20,480 –> 00:44:21,599
بنابراین
1088
00:44:21,599 –> 00:44:23,839
منطقه کلی و نقطه مرکزی
1089
00:44:23,839 –> 00:44:25,599
کاملاً دقیق به نظر می رسد،
1090
00:44:25,599 –> 00:44:27,359
بنابراین خوب است که ما می توانیم آن را با ویدیوی دوم نیز امتحان کنیم،
1091
00:44:27,359 –> 00:44:29,280
1092
00:44:29,280 –> 00:44:31,200
بنابراین ویدیوی اول بدون ویدیو یکی
1093
00:44:31,200 –> 00:44:33,599
چیزی ندارد ویدیوی سه و ویدیوی دو دارای
1094
00:44:33,599 –> 00:44:34,800
1095
00:44:34,800 –> 00:44:37,599
توپ به آنجا ضربه می زند شما به آنجا می روید شما می روید و
1096
00:44:37,599 –> 00:44:39,119
آن جا
1097
00:44:39,119 –> 00:44:41,200
عالی می شوید
1098
00:44:41,200 –> 00:44:43,359
بنابراین دوباره سعی کنید با این مقادیر بازی
1099
00:44:43,359 –> 00:44:44,400
1100
00:44:44,400 –> 00:44:46,880
کنید آه اینجا می توانید ببینید که کمی
1101
00:44:46,880 –> 00:44:48,000
نویز دریافت می کنید
1102
00:44:48,000 –> 00:44:50,960
بنابراین شاید برای کاهش نویز باید
1103
00:44:50,960 –> 00:44:53,280
هسته را
1104
00:44:53,280 –> 00:44:54,640
برای این باز افزایش
1105
00:44:54,640 –> 00:44:56,319
دهیم. آن را
1106
00:44:56,319 –> 00:45:00,440
هفت و هفت بسازید،
1107
00:45:04,720 –> 00:45:06,960
بنابراین اکنون بسیار بهتر است که نویز
1108
00:45:06,960 –> 00:45:09,280
از بین رفته است
1109
00:45:09,599 –> 00:45:11,680
و منطقه مرکزی است، می توانم بگویم
1110
00:45:11,680 –> 00:45:14,319
که بسیار خوب است،
1111
00:45:16,880 –> 00:45:18,400
خوب است،
1112
00:45:18,400 –> 00:45:22,079
بنابراین این اساساً ایده این است که چگونه می
1113
00:45:22,079 –> 00:45:24,480
توانید این خطوط را پیدا کنید اکنون آنچه ما باید
1114
00:45:24,480 –> 00:45:27,839
انجام دهیم این است که باید صنوبرها
1115
00:45:27,839 –> 00:45:29,599
وقتی ضربه می خورد از همه ذخیره می شود
1116
00:45:29,599 –> 00:45:32,480
و ثانیاً باید
1117
00:45:32,480 –> 00:45:35,040
بررسی کنیم که کجا ضربه زده است و بر اساس آن
1118
00:45:35,040 –> 00:45:36,240
مکان
1119
00:45:36,240 –> 00:45:38,880
1120
00:45:38,880 –> 00:45:41,599
یا نقاط را افزایش می دهیم یا نقاط را افزایش نمی دهیم و
1121
00:45:41,599 –> 00:45:43,359
1122
00:45:43,359 –> 00:45:46,480
منطقه ای را که در آن پیدا کرده ایم را رنگ می کنیم
1123
00:45:46,480 –> 00:45:47,760
. ضربه بزنید
1124
00:45:47,760 –> 00:45:50,000
تا مرحله بعدی ما باشد،
1125
00:45:50,000 –> 00:45:53,200
بنابراین دقیقاً چگونه میتوانیم این کار را انجام دهیم که
1126
00:45:53,200 –> 00:45:55,119
اکنون اولین چیز این
1127
00:45:55,119 –> 00:45:58,480
است که باید ضربهها را پیدا
1128
00:45:58,480 –> 00:46:01,280
کنیم و باید آن ضربهها را ذخیره
1129
00:46:01,280 –> 00:46:03,200
کنیم، بنابراین کاری که انجام میدهیم این است که
1130
00:46:03,200 –> 00:46:05,520
هر زمانی که ضربهای وجود داشته باشد، هر زمان
1131
00:46:05,520 –> 00:46:08,160
که یک کانتور شناسایی شد، انجام خواهیم داد. ما
1132
00:46:08,160 –> 00:46:10,000
برای پنج
1133
00:46:10,000 –> 00:46:12,880
تکرار یا پنج فریم صبر می کنیم تا
1134
00:46:12,880 –> 00:46:15,599
آن را به عنوان ضربه بشماریم زیرا گاهی اوقات
1135
00:46:15,599 –> 00:46:18,079
در هوا است که
1136
00:46:18,079 –> 00:46:20,079
به تخته می رسد و ما نمی خواهیم تشخیص دهیم
1137
00:46:20,079 –> 00:46:21,760
که به عنوان ضربه
1138
00:46:21,760 –> 00:46:22,800
ما
1139
00:46:22,800 –> 00:46:26,240
می خواهیم روی تخته باشد.
1140
00:46:26,240 –> 00:46:28,319
برای مثال، برای چند میلی ثانیه
1141
00:46:28,319 –> 00:46:31,119
قبل از اینکه آن را به عنوان ضربه تشخیص دهیم، زیرا
1142
00:46:31,119 –> 00:46:33,760
گاهی اوقات وقتی توپ را پرتاب
1143
00:46:33,760 –> 00:46:36,240
می کنیم، ضربه می زند و به پایین می افتد،
1144
00:46:36,240 –> 00:46:38,560
بنابراین نمی خواهیم آن را به عنوان ضربه نیز بپذیریم،
1145
00:46:38,560 –> 00:46:39,680
1146
00:46:39,680 –> 00:46:43,040
بنابراین این اتفاق می افتد. در واقع آن
1147
00:46:43,040 –> 00:46:44,960
مشکل را برطرف کنیم،
1148
00:46:44,960 –> 00:46:47,359
بنابراین کاری که ما انجام خواهیم داد این است که بگوییم
1149
00:46:47,359 –> 00:46:49,359
اگر کانتور پیدا شد
1150
00:46:49,359 –> 00:46:52,319
اگر چیزی در داخل آن باشد چه
1151
00:46:52,319 –> 00:46:54,960
کاری انجام می دهیم این است که یک شمارنده اضافه می
1152
00:46:54,960 –> 00:46:57,839
1153
00:46:58,000 –> 00:47:00,640
کنیم بنابراین اینجا می نویسیم تعداد
1154
00:47:00,640 –> 00:47:02,640
ضربه برابر با صفر است
1155
00:47:02,640 –> 00:47:05,680
و سپس در اینجا می خواهیم بنویسیم
1156
00:47:05,680 –> 00:47:08,400
count hit
1157
00:47:08,400 –> 00:47:11,200
آه من چه نوشتم تعداد
1158
00:47:11,200 –> 00:47:12,400
بازدیدها
1159
00:47:12,400 –> 00:47:15,359
به اضافه یک برابر است بنابراین،
1160
00:47:15,359 –> 00:47:17,119
هر زمان که یک کانتور پیدا شد،
1161
00:47:17,119 –> 00:47:19,119
به شمارش ادامه میدهیم و میگوییم
1162
00:47:19,119 –> 00:47:22,319
1163
00:47:22,319 –> 00:47:25,440
اگر تعداد ضربهها برابر با پنج باشد، اگر تعداد ضربهها برابر با پنج باشد،
1164
00:47:25,440 –> 00:47:26,880
میگوییم بنابراین
1165
00:47:26,880 –> 00:47:29,680
اگر برای پنج فریم متوالی دچار
1166
00:47:29,680 –> 00:47:31,359
1167
00:47:31,359 –> 00:47:32,640
1168
00:47:32,640 –> 00:47:34,800
سردرگمی میشویم، میرویم. برای
1169
00:47:34,800 –> 00:47:37,200
تشخیص این مورد به عنوان یک ضربه
1170
00:47:37,200 –> 00:47:40,160
و چگونه آن را به عنوان یک ضربه تشخیص دهیم،
1171
00:47:40,160 –> 00:47:43,040
می خواهیم این تصویر
1172
00:47:43,040 –> 00:47:45,119
و مکان آن را
1173
00:47:45,119 –> 00:47:47,119
در یک لیست ذخیره کنیم
1174
00:47:47,119 –> 00:47:50,319
تا بتوانیم آن را به طور مداوم نمایش دهیم،
1175
00:47:50,319 –> 00:47:52,720
بنابراین کاری که انجام خواهیم داد این است که آن را
1176
00:47:52,720 –> 00:47:54,160
در یک لیست ذخیره
1177
00:47:54,160 –> 00:47:57,280
کنیم تا
1178
00:47:57,280 –> 00:47:59,760
اسمش را بگذاریم چه اسمی بگذاریم لیست تصاویر
1179
00:47:59,760 –> 00:48:01,200
1180
00:48:01,200 –> 00:48:02,240
توپهای
1181
00:48:02,240 –> 00:48:05,119
شناسایی شده من میدانم طولانی است اما
1182
00:48:05,119 –> 00:48:07,760
حداقل میدانید که ما میتوانیم معنی آن را بگوییم،
1183
00:48:07,760 –> 00:48:09,119
1184
00:48:09,119 –> 00:48:11,839
بنابراین در اینجا کاری که انجام خواهیم داد، اضافه میکنیم
1185
00:48:11,839 –> 00:48:14,640
تا نقطه اضافه کنیم و ماسک را اضافه میکنیم،
1186
00:48:14,640 –> 00:48:15,599
1187
00:48:15,599 –> 00:48:17,760
بنابراین هر ماسکی ما دریافتیم که میخواهیم
1188
00:48:17,760 –> 00:48:19,359
آن را در اینجا ضمیمه کنیم
1189
00:48:19,359 –> 00:48:21,440
پس چی این کار به
1190
00:48:21,440 –> 00:48:24,240
ما یک تصویر سیاه و سفید می دهد از
1191
00:48:24,240 –> 00:48:25,920
اینکه توپ به کجا برخورد کرده است،
1192
00:48:25,920 –> 00:48:28,000
کاری که ما می خواهیم انجام دهیم چیز
1193
00:48:28,000 –> 00:48:29,760
عجیبی است و
1194
00:48:29,760 –> 00:48:30,720
ما
1195
00:48:30,720 –> 00:48:33,520
اطلاعات کانتور را نیز بعداً ذخیره خواهیم کرد،
1196
00:48:33,520 –> 00:48:34,800
1197
00:48:34,800 –> 00:48:38,240
اما در حال حاضر چه کاری انجام می دهیم. آیا
1198
00:48:38,240 –> 00:48:41,040
ما قرار است اینجا پرینت
1199
00:48:41,040 –> 00:48:43,359
بگیریم اوه فرض کنیم
1200
00:48:43,359 –> 00:48:44,160
ضربه
1201
00:48:44,160 –> 00:48:46,800
شناسایی شد خوب است، بنابراین هر زمان که ذخیره شد ما
1202
00:48:46,800 –> 00:48:48,559
اینجا می نویسیم hit detected و
1203
00:48:48,559 –> 00:48:50,640
من به شما می گویم که چرا ما این تصاویر را ذخیره کرده ایم
1204
00:48:50,640 –> 00:48:54,000
بنابراین یک
1205
00:48:54,000 –> 00:48:56,319
ضربه شناسایی شد و نگفت که ضربه شناسایی شد دوباره چرا آیا
1206
00:48:56,319 –> 00:48:57,760
این اتفاق افتاد
1207
00:48:57,760 –> 00:48:59,040
بنابراین یک
1208
00:48:59,040 –> 00:49:00,319
ضربه دوم
1209
00:49:00,319 –> 00:49:03,040
و سوم ضربه
1210
00:49:03,040 –> 00:49:05,680
اوه خوب من می دانم چرا چون ما
1211
00:49:05,680 –> 00:49:06,640
آن را
1212
00:49:06,640 –> 00:49:10,640
به عنوان صفر شمارش شمارش صفر قرار ندادیم
1213
00:49:10,640 –> 00:49:12,960
ضربه برابر با صفر است بنابراین اگر
1214
00:49:12,960 –> 00:49:14,559
دوباره
1215
00:49:14,559 –> 00:49:17,359
آن را اجرا کنیم سپس ضربه شناسایی تشخیص داد
1216
00:49:17,359 –> 00:49:19,839
شناسایی شده است بنابراین بیشتر از آن انجام می دهد
1217
00:49:19,839 –> 00:49:22,079
خوب پس این خوب
1218
00:49:22,079 –> 00:49:25,760
نیست وقتی تعداد ضربه پنج است پس
1219
00:49:25,760 –> 00:49:28,559
باید صفر باشد
1220
00:49:28,559 –> 00:49:31,280
1221
00:49:31,280 –> 00:49:34,240
اوه آره آره آره فراموش کردم پس مدام
1222
00:49:34,240 –> 00:49:38,880
میگه هیت شناسایی ضربه شناسایی شد چون
1223
00:49:38,960 –> 00:49:41,599
اگر الان به این تصویر نگاه
1224
00:49:41,599 –> 00:49:45,119
کنید قبلاً ضربه قبلی و جدید را دارد
1225
00:49:45,119 –> 00:49:47,280
هر وقت به i نگاه کرد ضربه بزنید
1226
00:49:47,280 –> 00:49:49,760
این کانتور این و این را پیدا می کند،
1227
00:49:49,760 –> 00:49:50,559
بنابراین
1228
00:49:50,559 –> 00:49:53,760
هر زمان که ضربه ای را تشخیص دادیم هر زمان که ضربه را
1229
00:49:53,760 –> 00:49:55,599
تشخیص دادیم، اجازه دهید
1230
00:49:55,599 –> 00:49:57,440
این کار را مکث کنم، خوب اکنون متوقف شده است،
1231
00:49:57,440 –> 00:49:59,920
بنابراین هر زمان که ضربه را تشخیص دادیم، کاری که
1232
00:49:59,920 –> 00:50:02,319
باید انجام دهیم این است که
1233
00:50:02,319 –> 00:50:04,160
1234
00:50:04,160 –> 00:50:07,520
باید خطوط را از قبلی خود حذف کنیم. ضربه بزنید
1235
00:50:07,520 –> 00:50:11,200
تا اگر کانتور جدیدی را شناسایی کنیم،
1236
00:50:11,200 –> 00:50:13,760
فقط تصویر جدید را پیدا کند نه موارد قدیمی
1237
00:50:13,760 –> 00:50:15,359
را،
1238
00:50:15,359 –> 00:50:18,559
بنابراین اگر این اولین ضربه من است، این تصویر را ذخیره می کنم
1239
00:50:18,559 –> 00:50:19,920
1240
00:50:19,920 –> 00:50:22,640
و سپس وقتی ضربه
1241
00:50:22,640 –> 00:50:25,520
جدید آمد، تصویر جدید را از تصویر
1242
00:50:25,520 –> 00:50:28,960
قدیمی کم می کنم. که من کانتور قبلی را تشخیص نمی دهم،
1243
00:50:28,960 –> 00:50:31,920
1244
00:50:32,079 –> 00:50:34,800
بنابراین ممکن است درک آن کمی دشوار باشد،
1245
00:50:34,800 –> 00:50:36,720
بنابراین کاری که انجام خواهم داد این است که
1246
00:50:36,720 –> 00:50:38,800
آن را در اینجا می نویسم
1247
00:50:38,800 –> 00:50:40,559
تا توضیح دهم
1248
00:50:40,559 –> 00:50:42,000
، به عنوان مثال
1249
00:50:42,000 –> 00:50:44,640
این اولین ضربه من است و این جایی است که ضربه می زند
1250
00:50:44,640 –> 00:50:46,000
1251
00:50:46,000 –> 00:50:47,040
و سپس
1252
00:50:47,040 –> 00:50:49,359
برای ضربه های دوم من
1253
00:50:49,359 –> 00:50:51,119
این جایی است که به
1254
00:50:51,119 –> 00:50:54,240
این نقطه می رسد، اما ضربه اول من
1255
00:50:54,240 –> 00:50:56,640
قبلاً در آن نقطه وجود دارد،
1256
00:50:56,640 –> 00:50:59,359
بنابراین وقتی آن را برای یافتن
1257
00:50:59,359 –> 00:51:00,559
خطوط
1258
00:51:00,559 –> 00:51:03,599
می فرستم، هم کانتورهای این یکی
1259
00:51:03,599 –> 00:51:06,480
و هم این یکی را پیدا می کند، اما ما آن را نمی خواهیم
1260
00:51:06,480 –> 00:51:09,599
ما فقط می خواهیم جدید را پیدا کنیم
1261
00:51:09,599 –> 00:51:12,160
پس چگونه آیا ما این کار را انجام می دهیم که این دو تصویر را کم کنیم،
1262
00:51:12,160 –> 00:51:14,160
1263
00:51:14,160 –> 00:51:16,480
بنابراین اگر این تصاویر را کم کنید،
1264
00:51:16,480 –> 00:51:18,400
تصویر حاصل
1265
00:51:18,400 –> 00:51:19,760
این خواهد بود،
1266
00:51:19,760 –> 00:51:24,000
بنابراین این نقطه در اینجا لغو می شود،
1267
00:51:24,000 –> 00:51:27,040
بنابراین این همان کاری است که ما هر بار انجام خواهیم داد
1268
00:51:27,040 –> 00:51:28,960
، به عنوان مثال
1269
00:51:28,960 –> 00:51:32,079
اولین تصویر ما فرض کنید
1270
00:51:32,079 –> 00:51:35,920
ضربه را اینجا پیدا می کنیم بنابراین ما آن را در یک لیست ذخیره می
1271
00:51:35,920 –> 00:51:38,400
کنیم و می گوییم ضربه اول ما اینجاست،
1272
00:51:38,400 –> 00:51:41,119
سپس ضربه دوم را دریافت می کنیم که ضربه دوم
1273
00:51:41,119 –> 00:51:42,319
1274
00:51:42,319 –> 00:51:44,240
در این نقطه است
1275
00:51:44,240 –> 00:51:46,960
و اکنون دو کانتور ما در این
1276
00:51:46,960 –> 00:51:50,800
نقطه هستند، بنابراین ما آن را با این
1277
00:51:50,800 –> 00:51:53,200
و سپس تصویر حاصل از آن کم می کنیم.
1278
00:51:53,200 –> 00:51:55,040
این خواهد بود
1279
00:51:55,040 –> 00:51:59,520
اکنون ما این تصویر را در لیست خود ذخیره می کنیم
1280
00:51:59,599 –> 00:52:02,160
بنابراین این دومین ضربه ما خواهد بود
1281
00:52:02,160 –> 00:52:04,559
و سپس ضربه سوم را دریافت می کنیم.
1282
00:52:04,559 –> 00:52:07,520
ضربه سوم اساساً در این مرحله است
1283
00:52:07,520 –> 00:52:09,440
بنابراین ما دو بازدید دیگر را نیز
1284
00:52:09,440 –> 00:52:10,640
1285
00:52:10,640 –> 00:52:12,480
در تصویر وب کم خواهیم داشت زیرا آنها در
1286
00:52:12,480 –> 00:52:14,480
حال حاضر روی تخته دارت هستند،
1287
00:52:14,480 –> 00:52:16,720
بنابراین کاری که اکنون انجام خواهیم داد این
1288
00:52:16,720 –> 00:52:19,359
است که این تصویر را
1289
00:52:19,359 –> 00:52:20,640
از این
1290
00:52:20,640 –> 00:52:23,200
و از این
1291
00:52:23,200 –> 00:52:25,839
کم می کنیم، بنابراین وقتی آن را از هر دو کم کردیم، آن را
1292
00:52:25,839 –> 00:52:28,319
به عنوان کانتور جدید خود خواهیم یافت
1293
00:52:28,319 –> 00:52:29,680
1294
00:52:29,680 –> 00:52:33,200
و سپس جدید خود را بررسی می کنیم. مکان
1295
00:52:33,200 –> 00:52:35,920
و ما آن را به عنوان یک تشخیص خواهیم داد ضربه جدید
1296
00:52:35,920 –> 00:52:37,920
امیدوارم واضح باشد،
1297
00:52:37,920 –> 00:52:40,640
بنابراین این چیزی است که ما می خواهیم انجام
1298
00:52:40,640 –> 00:52:43,040
دهیم، بیایید ادامه دهیم و آن را امتحان کنیم،
1299
00:52:43,040 –> 00:52:44,880
بنابراین در حال حاضر کاری که ما انجام می دهیم،
1300
00:52:44,880 –> 00:52:47,119
آن تصویر را
1301
00:52:47,119 –> 00:52:50,480
در این لیست تصویر ذخیره می کنیم، توپ هایی که شناسایی شده اند، بنابراین اکنون
1302
00:52:50,480 –> 00:52:52,160
آنچه باید انجام دهیم این است ما باید
1303
00:52:52,160 –> 00:52:53,920
تشخیص های قبلی را حذف کنیم،
1304
00:52:53,920 –> 00:52:57,520
بنابراین در اینجا می خواهیم بنویسیم
1305
00:52:58,839 –> 00:53:00,400
حذف
1306
00:53:00,400 –> 00:53:03,920
تشخیص های قبلی،
1307
00:53:03,920 –> 00:53:07,760
بنابراین در اینجا می خواهیم
1308
00:53:07,760 –> 00:53:11,119
برای تصویر x و نه برای تصویر در
1309
00:53:11,119 –> 00:53:12,960
لیست تصاویر،
1310
00:53:12,960 –> 00:53:14,559
توپ های شناسایی شده
1311
00:53:14,559 –> 00:53:16,240
بنویسیم، همه
1312
00:53:16,240 –> 00:53:19,040
تصاویری را که شناسایی کرده ایم حلقه بزنیم
1313
00:53:19,040 –> 00:53:22,800
و سپس ما به سادگی می خواهیم انجام دهیم
1314
00:53:22,800 –> 00:53:24,960
ماسک برابر است با
1315
00:53:24,960 –> 00:53:26,240
ماسک
1316
00:53:26,240 –> 00:53:30,559
منهای تصویر اصلی ما،
1317
00:53:31,520 –> 00:53:34,559
بنابراین این ماسک جدید
1318
00:53:34,559 –> 00:53:36,160
منهای
1319
00:53:36,160 –> 00:53:38,000
ماسک قدیمی
1320
00:53:38,000 –> 00:53:39,040
ما تصویر ما است
1321
00:53:39,040 –> 00:53:41,119
که ما از
1322
00:53:41,119 –> 00:53:44,640
این که ماسک قدیمی بود دریافت می کنیم،
1323
00:53:44,640 –> 00:53:46