در این مطلب، ویدئو OpenCV Python Tutorial #7 – تطبیق الگو (تشخیص شی) با زیرنویس فارسی را برای دانلود قرار داده ام. شما میتوانید با پرداخت 15 هزار تومان ، این ویدیو به علاوه تمامی فیلم های سایت را دانلود کنید.اکثر فیلم های سایت به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
مدت زمان فیلم: 00:22:22
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
00:00:08,750 –> 00:00:09,650
سلام به همه. و
2
00:00:09,650 –> 00:00:11,180
به ویدیوی هفت
3
00:00:11,180 –> 00:00:12,830
در این مجموعه آموزش CV باز پایتون در این
4
00:00:12,830 –> 00:00:14,570
5
00:00:14,570 –> 00:00:15,170
ویدیو خوش آمدید، ما در
6
00:00:15,170 –> 00:00:15,860
مورد
7
00:00:15,860 –> 00:00:17,450
تطبیق قالب صحبت خواهیم کرد. حالا،
8
00:00:17,450 –> 00:00:18,230
وقتی میگویم
9
00:00:18,230 –> 00:00:19,430
تطبیق الگو، تقریباً
10
00:00:19,430 –> 00:00:20,330
منظورم تشخیص یک
11
00:00:20,360 –> 00:00:22,010
شی یا یک
12
00:00:22,040 –> 00:00:23,630
تصویر الگو در یک تصویر دیگر است.
13
00:00:24,080 –> 00:00:25,190
برای مثال، من
14
00:00:25,190 –> 00:00:26,240
این تصویر را از یک تمرین فوتبال دارم
15
00:00:26,240 –> 00:00:27,530
. من همین الان
16
00:00:27,530 –> 00:00:28,640
این را از تصاویر گوگل حذف کردم
17
00:00:28,640 –> 00:00:30,050
و ما یک
18
00:00:30,050 –> 00:00:31,310
توپ فوتبال داریم.
19
00:00:31,310 –> 00:00:31,850
می دانید، ما
20
00:00:31,850 –> 00:00:32,689
افراد مختلف اینجا داریم.
21
00:00:32,689 –> 00:00:33,170
برخی از آنها
22
00:00:33,170 –> 00:00:33,830
کفش می پوشند یا
23
00:00:33,860 –> 00:00:34,340
همه آنها
24
00:00:34,340 –> 00:00:35,330
کفش هایی
25
00:00:35,330 –> 00:00:36,410
با رنگ های کمی متفاوت به پا می کنند. و
26
00:00:36,410 –> 00:00:36,920
کاری که ما
27
00:00:36,920 –> 00:00:37,880
در این ویدیو می خواهیم انجام دهیم این است که
28
00:00:37,880 –> 00:00:38,900
این توپ را شناسایی می کنیم
29
00:00:38,900 –> 00:00:39,980
، سعی می کنیم
30
00:00:39,980 –> 00:00:40,910
مکان آن را در این
31
00:00:40,910 –> 00:00:42,260
تصویر مشخص کنیم، و به طور خاص
32
00:00:42,260 –> 00:00:43,790
این کفش چپ را تشخیص دهیم
33
00:00:43,850 –> 00:00:45,500
. اکنون میتوانیم
34
00:00:45,500 –> 00:00:46,460
چیزهای دیگری را نیز در
35
00:00:46,460 –> 00:00:47,120
این تصویر شناسایی کنیم. می توانستیم
36
00:00:47,120 –> 00:00:47,750
سعی کنیم داور را شناسایی کنیم
37
00:00:47,750 –> 00:00:48,770
. میتوانیم سعی
38
00:00:48,770 –> 00:00:49,940
کنیم به یک
39
00:00:49,940 –> 00:00:50,840
پست سبک یا هر چیزی
40
00:00:50,840 –> 00:00:52,100
که اینجا هست حمله کنیم. اوه،
41
00:00:52,100 –> 00:00:52,760
انواع چیزهای مختلف
42
00:00:52,760 –> 00:00:53,570
میتوانیم سعی کنیم مش را شناسایی کنیم
43
00:00:53,570 –> 00:00:54,890
، اما
44
00:00:54,890 –> 00:00:55,850
منطقی است. و تشخیص
45
00:00:55,850 –> 00:00:57,020
46
00:00:57,020 –> 00:00:58,220
یک نوع شی بزرگتر بسیار ساده تر است.
47
00:00:58,220 –> 00:00:58,850
این در واقع در
48
00:00:58,850 –> 00:01:00,320
تمرکز است. پس به هر حال بگو توپ
49
00:01:00,650 –> 00:01:01,670
یا کفش این
50
00:01:02,300 –> 00:01:02,870
پسر، این کاری است که
51
00:01:02,870 –> 00:01:03,170
ما انجام خواهیم
52
00:01:03,170 –> 00:01:04,670
داد. بنابراین من این
53
00:01:04,670 –> 00:01:05,990
تصویر را در GitHub دارم.
54
00:01:05,990 –> 00:01:07,010
بچه ها میتونید دانلود کنید اگر
55
00:01:07,010 –> 00:01:07,640
می خواهید
56
00:01:07,640 –> 00:01:08,270
با این
57
00:01:08,270 –> 00:01:09,710
تصویر خاص همراه باشید، من
58
00:01:09,710 –> 00:01:10,790
هم تصویری از این
59
00:01:10,790 –> 00:01:12,890
کفش رفیق دارم و
60
00:01:12,890 –> 00:01:14,180
توپ را دارم. الان خیلی
61
00:01:14,180 –> 00:01:15,230
مهمه اوه، اینها
62
00:01:15,230 –> 00:01:15,620
همان
63
00:01:15,620 –> 00:01:16,250
چیزی هستند که ما
64
00:01:16,250 –> 00:01:17,360
در اینجا تصاویر الگوی خود می نامیم
65
00:01:17,360 –> 00:01:18,440
، تصاویری که می خواهیم
66
00:01:18,440 –> 00:01:19,820
در تصویر پایه
67
00:01:19,820 –> 00:01:20,960
قرار دهیم، بسیار
68
00:01:20,960 –> 00:01:22,070
مهم است که این
69
00:01:22,070 –> 00:01:23,480
تصاویر الگو
70
00:01:23,480 –> 00:01:25,190
هم اندازه یا نزدیک
71
00:01:25,190 –> 00:01:27,260
به همان اندازه
72
00:01:27,290 –> 00:01:29,120
تصویر در پایه ما باشند. تصویری
73
00:01:29,120 –> 00:01:30,050
که می خواهیم پیدا کنیم
74
00:01:30,770 –> 00:01:31,580
بنابراین منظور من از
75
00:01:31,580 –> 00:01:32,540
آن این تصویر است.
76
00:01:32,540 –> 00:01:34,010
بیایید بگوییم که از
77
00:01:34,010 –> 00:01:35,360
نظر
78
00:01:35,360 –> 00:01:36,110
پیکسل، عرض و
79
00:01:36,110 –> 00:01:37,250
ارتفاع، مانند 1500 در 1500 است که
80
00:01:37,250 –> 00:01:38,210
توپ ما را شاید، می
81
00:01:38,210 –> 00:01:40,340
دانید، 150 در 150 یا 200
82
00:01:40,340 –> 00:01:41,270
در 200 پیکسل،
83
00:01:41,270 –> 00:01:42,200
چیزی شبیه به آن می کند.
84
00:01:42,200 –> 00:01:43,040
اگر فقط یک
85
00:01:43,220 –> 00:01:44,570
مستطیل دور آن می کشید. بنابراین
86
00:01:44,570 –> 00:01:45,440
شما می خواهید مطمئن شوید
87
00:01:45,470 –> 00:01:46,460
که تصویر الگوی خود
88
00:01:46,460 –> 00:01:47,780
از این توپ. بنابراین
89
00:01:47,780 –> 00:01:48,860
پیانجی
90
00:01:48,860 –> 00:01:50,780
در اینجا تقریباً یک 50
91
00:01:50,780 –> 00:01:52,910
در یک 50 یا 200 در 200
92
00:01:52,910 –> 00:01:54,530
پیکسل است، به طوری که
93
00:01:54,530 –> 00:01:55,790
94
00:01:55,820 –> 00:01:57,590
پیدا کردن آن در
95
00:01:57,650 –> 00:01:58,940
تصویر پایه آسانتر خواهد بود. بنابراین
96
00:01:58,970 –> 00:02:01,190
اگر توپ شما در
97
00:02:01,190 –> 00:02:02,420
اینجا مثل هزار
98
00:02:02,420 –> 00:02:03,560
در هزار بود و
99
00:02:03,560 –> 00:02:05,570
تصویر پایه شما 1500 در
100
00:02:05,570 –> 00:02:06,740
1500 بود،
101
00:02:06,740 –> 00:02:07,610
پیدا کردن این توپ بسیار دشوار خواهد
102
00:02:07,610 –> 00:02:08,810
بود زیرا
103
00:02:08,810 –> 00:02:09,320
توپی که
104
00:02:09,320 –> 00:02:10,430
پاس
105
00:02:10,460 –> 00:02:11,630
می دهید بیش از نصف
106
00:02:11,630 –> 00:02:12,410
اندازه توپ است. تصویر،
107
00:02:12,410 –> 00:02:13,460
درست است؟ بنابراین فقط
108
00:02:13,460 –> 00:02:14,270
این را در نظر داشته باشید، میخواهید
109
00:02:14,270 –> 00:02:15,290
تصاویر الگوی شما
110
00:02:15,290 –> 00:02:16,610
تا حد امکان
111
00:02:16,760 –> 00:02:18,200
به اندازه
112
00:02:18,200 –> 00:02:18,800
واقعی تصویری که میخواهید
113
00:02:18,800 –> 00:02:20,360
در تصویر پایه قرار دهید
114
00:02:20,360 –> 00:02:21,320
یا شیئی که
115
00:02:21,320 –> 00:02:22,130
میخواهید در
116
00:02:22,130 –> 00:02:23,840
تصویر پایه قرار دهید نزدیک باشد. به هر حال،
117
00:02:23,900 –> 00:02:25,310
اوه، تصاویر من تا
118
00:02:25,310 –> 00:02:26,180
جایی که ممکن است نزدیک هستند
119
00:02:26,180 –> 00:02:26,600
.
120
00:02:26,600 –> 00:02:27,440
من به معنای واقعی کلمه فقط
121
00:02:27,440 –> 00:02:29,000
از این اسکرین شات گرفتم
122
00:02:29,000 –> 00:02:29,840
. بنابراین باید ابعاد
123
00:02:29,840 –> 00:02:30,950
بسیار دقیقی به من بدهد
124
00:02:30,950 –> 00:02:31,940
. و ما خواهیم دید، در این آموزش
125
00:02:32,090 –> 00:02:32,720
خواهیم دید که چگونه کار می کند
126
00:02:32,720 –> 00:02:33,350
.
127
00:02:34,070 –> 00:02:35,330
به هر حال،
128
00:02:35,330 –> 00:02:36,230
تصویر قالب یا
129
00:02:36,230 –> 00:02:37,790
تصاویر قالب
130
00:02:37,790 –> 00:02:39,140
خود را دریافت کنید، تصویر پایه خود را دریافت کنید،
131
00:02:39,140 –> 00:02:40,190
آنها را در کنار اسکریپت خود
132
00:02:40,190 –> 00:02:40,880
یا در پوشه دارایی ها بیاورید
133
00:02:40,880 –> 00:02:41,960
. مثل اینکه من آن را دارم
134
00:02:42,290 –> 00:02:42,920
و سپس می توانیم ادامه دهیم
135
00:02:42,920 –> 00:02:44,150
. خیلی خوب. بنابراین
136
00:02:44,150 –> 00:02:44,750
اولین کاری که میخواهم
137
00:02:44,750 –> 00:02:46,040
در اینجا انجام دهم این است که
138
00:02:46,040 –> 00:02:50,000
میخواهم بگویم num PI را بهعنوان
139
00:02:50,000 –> 00:02:51,710
N P وارد کنید، سپس
140
00:02:51,710 –> 00:02:53,870
CV را وارد کنم، کاری
141
00:02:53,870 –> 00:02:54,860
که میخواهم انجام دهم این است که
142
00:02:54,860 –> 00:02:56,060
هم تصویر الگو و هم تصویر پایهام را بارگذاری کنم
143
00:02:56,090 –> 00:02:57,830
. بنابراین
144
00:02:57,830 –> 00:02:58,670
من می خواهم با
145
00:02:58,670 –> 00:02:59,740
گفتن این جمله شروع کنم، ما تصویر پایه خود را انجام می دهیم
146
00:02:59,740 –> 00:03:00,730
. اول
147
00:03:00,730 –> 00:03:02,290
برابر است با CB two dot I
148
00:03:02,290 –> 00:03:03,730
am read، و من می خواهم
149
00:03:03,730 –> 00:03:04,990
از پوشه دارایی ها بخوانم
150
00:03:04,990 –> 00:03:06,340
و سپس
151
00:03:07,120 –> 00:03:08,350
فوتبال را اسلش کنم،
152
00:03:08,920 –> 00:03:12,070
نقطه تمرین زیر خط PNG، یا
153
00:03:12,100 –> 00:03:13,420
ببخشید، این JPEG است.
154
00:03:14,380 –> 00:03:16,030
باشه. سپس بعد از اینکه
155
00:03:16,030 –> 00:03:16,840
آن را داشتم، می
156
00:03:16,840 –> 00:03:18,730
خواهم در قالب خود بارگذاری کنم. پس
157
00:03:18,730 –> 00:03:20,260
الگو برابر است با CB
158
00:03:20,380 –> 00:03:22,720
two dot I خوانده می شود و
159
00:03:22,720 –> 00:03:24,730
سپس دارایی ها اسلش می شوند، و
160
00:03:24,730 –> 00:03:25,540
سپس من
161
00:03:25,540 –> 00:03:27,640
این یکی را چه می نامم؟ این
162
00:03:27,670 –> 00:03:29,740
PNG نقطه توپ است. ما بعد از
163
00:03:29,740 –> 00:03:30,730
آن از کفش استفاده خواهیم کرد، اما در
164
00:03:30,730 –> 00:03:31,450
حال حاضر فقط در کاسه بار می
165
00:03:31,450 –> 00:03:32,590
کنیم. و سپس
166
00:03:32,620 –> 00:03:33,400
خیلی سریع، من فقط
167
00:03:33,400 –> 00:03:34,750
قصد دارم یک کپی از
168
00:03:34,780 –> 00:03:36,040
این، اوه، این
169
00:03:36,070 –> 00:03:37,000
تصویر پایه را در اینجا تهیه کنم. و
170
00:03:37,000 –> 00:03:37,960
چرا در یک
171
00:03:37,960 –> 00:03:38,770
ثانیه، وقتی می گوییم
172
00:03:38,800 –> 00:03:39,580
تصویر دو برابر است با
173
00:03:39,580 –> 00:03:41,710
تصویر نقطه کپی بحث خواهیم کرد. همچنین
174
00:03:41,710 –> 00:03:42,490
می خواهید هر دوی
175
00:03:42,490 –> 00:03:42,970
این تصاویر
176
00:03:42,970 –> 00:03:44,800
را در مقیاس خاکستری بارگیری کنید. بنابراین
177
00:03:44,800 –> 00:03:45,580
من می خواهم یک صفر را
178
00:03:45,580 –> 00:03:46,330
در اینجا قرار دهم تا آنها را به عنوان
179
00:03:46,330 –> 00:03:47,470
مقیاس خاکستری بارگذاری کنم. حالا،
180
00:03:47,470 –> 00:03:48,190
دلیل اینکه میخواهم
181
00:03:48,190 –> 00:03:49,180
اینها را بهعنوان مقیاسهای خاکستری بارگیری کنم،
182
00:03:49,180 –> 00:03:50,230
زیرا درست مانند بسیاری
183
00:03:50,230 –> 00:03:51,220
از الگوریتمهای دیگر
184
00:03:51,220 –> 00:03:52,630
در CV باز،
185
00:03:52,630 –> 00:03:53,290
الگوریتمی که در
186
00:03:53,290 –> 00:03:54,130
اینجا استفاده میکنیم
187
00:03:54,130 –> 00:03:55,240
به تصاویر مقیاس خاکستری نیاز دارد
188
00:03:55,240 –> 00:03:56,410
. بنابراین ما فقط
189
00:03:56,410 –> 00:03:57,430
هر دو را در مقیاس خاکستری بارگذاری می کنیم
190
00:03:57,430 –> 00:03:58,420
. حالا ما
191
00:03:58,420 –> 00:03:59,260
بحث خواهیم کرد که چرا ما
192
00:03:59,260 –> 00:04:01,000
کپی را در یک ثانیه انجام دادیم،
193
00:04:01,000 –> 00:04:01,840
اما من
194
00:04:01,840 –> 00:04:02,980
ارتفاع و
195
00:04:02,980 –> 00:04:03,940
عرض تصویر الگوی خود را بدست میآورم.
196
00:04:03,940 –> 00:04:04,630
منظورم این است که فرض کنید ارتفاع،
197
00:04:04,930 –> 00:04:07,210
کاما w یا H کاما w
198
00:04:07,210 –> 00:04:08,530
برابر است و سپس
199
00:04:08,770 –> 00:04:11,350
شکل نقطه الگو.
200
00:04:11,380 –> 00:04:12,220
اکنون شکل
201
00:04:12,220 –> 00:04:13,510
تصویر قالب من در
202
00:04:13,510 –> 00:04:14,650
واقع یک
203
00:04:14,650 –> 00:04:16,060
توپال است که به سادگی
204
00:04:16,060 –> 00:04:17,260
دارای ارتفاع و
205
00:04:17,260 –> 00:04:18,130
عرض است. بنابراین، تعداد
206
00:04:18,130 –> 00:04:19,089
سطرها و تعداد
207
00:04:19,089 –> 00:04:20,649
ستونها، برخلاف
208
00:04:20,649 –> 00:04:21,549
زمانی است که ما در یک
209
00:04:21,550 –> 00:04:22,480
تصویر رنگی بارگذاری میکنیم
210
00:04:22,480 –> 00:04:23,230
که دارای شکل
211
00:04:23,230 –> 00:04:25,090
ارتفاع، عرض و سپس
212
00:04:25,090 –> 00:04:25,780
کانال است، که
213
00:04:25,780 –> 00:04:27,250
به احتمال زیاد کانالها
214
00:04:27,250 –> 00:04:27,790
برابر با
215
00:04:27,790 –> 00:04:28,780
سه هستند. قرار است
216
00:04:28,780 –> 00:04:30,250
BG و
217
00:04:30,250 –> 00:04:31,540
مقادیر ما را ذخیره کند. اکنون، از آنجایی که این
218
00:04:31,540 –> 00:04:32,680
یک تصویر در مقیاس خاکستری است،
219
00:04:32,710 –> 00:04:33,850
ما فقط یک
220
00:04:33,970 –> 00:04:35,080
عدد صحیح بین
221
00:04:35,080 –> 00:04:36,460
صفر تا دو عدد 55 داریم
222
00:04:36,640 –> 00:04:37,480
که هر یک از
223
00:04:37,480 –> 00:04:38,770
پیکسل های ما را نشان می دهد. بنابراین
224
00:04:38,770 –> 00:04:39,940
ما این
225
00:04:39,940 –> 00:04:41,170
بعد سوم را در رتبه خود نداریم.
226
00:04:41,500 –> 00:04:42,220
و فقط برای اینکه
227
00:04:42,220 –> 00:04:45,310
این را به شما نشان دهم، اگر چاپ کنم، من
228
00:04:45,310 –> 00:04:46,450
اینجا G هستم، می توانیم ببینیم که
229
00:04:46,460 –> 00:04:47,080
این یک
230
00:04:47,080 –> 00:04:48,310
پرتو دو بعدی است، نه یک عربستان
231
00:04:48,310 –> 00:04:48,910
سه بعدی
232
00:04:48,910 –> 00:04:49,600
، زیرا این
233
00:04:49,600 –> 00:04:51,100
یک تصویر در مقیاس خاکستری است. بنابراین
234
00:04:51,100 –> 00:04:51,190
235
00:04:51,190 –> 00:04:52,810
وقتی شکل
236
00:04:52,810 –> 00:04:53,770
تصویر الگوی خود را بدست
237
00:04:53,770 –> 00:04:54,910
می آوریم، ارتفاع و عرض را به ما می دهد
238
00:04:54,910 –> 00:04:56,110
. خیلی خوب.
239
00:04:56,110 –> 00:04:56,770
بنابراین اکنون که آن را
240
00:04:56,770 –> 00:04:57,310
داریم، من فقط میخواهم
241
00:04:57,310 –> 00:04:58,330
یک قطعه کد را
242
00:04:58,330 –> 00:04:59,320
در اینجا بچسبانم. من آن را توضیح خواهم
243
00:04:59,320 –> 00:05:00,700
داد. به این میگن
244
00:05:00,700 –> 00:05:02,140
روش. اوه، اجازه دهید
245
00:05:02,140 –> 00:05:03,070
این را از
246
00:05:03,070 –> 00:05:04,690
صفحه دیگرم اینجا بگیرم. خیلی خوب.
247
00:05:04,690 –> 00:05:06,280
بنابراین روش ها. بنابراین
248
00:05:06,280 –> 00:05:06,820
اینها همه
249
00:05:06,820 –> 00:05:07,900
روش های مختلف
250
00:05:07,900 –> 00:05:08,830
انجام تطبیق الگو هستند
251
00:05:08,830 –> 00:05:10,240
. بنابراین درست
252
00:05:10,240 –> 00:05:10,780
مانند برخی از الگوریتمهای دیگر
253
00:05:10,780 –> 00:05:11,590
،
254
00:05:11,590 –> 00:05:13,090
ویژگیها یا
255
00:05:13,090 –> 00:05:14,590
مقادیر متفاوتی وجود دارد، میتوانید به
256
00:05:14,590 –> 00:05:16,210
این الگوریتمها منتقل کنید و
257
00:05:16,210 –> 00:05:17,230
باعث میشود
258
00:05:17,230 –> 00:05:17,530
کمی
259
00:05:17,530 –> 00:05:18,070
متفاوت عمل کنند، درست است؟
260
00:05:18,070 –> 00:05:18,580
261
00:05:18,580 –> 00:05:19,660
روش های مختلفی وجود دارد بنابراین در این
262
00:05:19,660 –> 00:05:20,860
مورد، شش
263
00:05:20,860 –> 00:05:21,670
روش اصلی برای انجام
264
00:05:21,670 –> 00:05:22,630
تطبیق قالب وجود دارد.
265
00:05:22,780 –> 00:05:23,740
اینها همه هستند.
266
00:05:23,770 –> 00:05:24,400
من به شما توصیه می کنم
267
00:05:24,400 –> 00:05:25,720
فقط این را کپی کنید. من
268
00:05:25,720 –> 00:05:26,530
قصد ندارم توضیح دهم
269
00:05:26,530 –> 00:05:27,130
که همه این
270
00:05:27,130 –> 00:05:28,390
روش ها چیست و چرا
271
00:05:28,390 –> 00:05:29,320
باید از هر یک از آنها استفاده کنید
272
00:05:29,320 –> 00:05:30,640
. اوه، اما آنچه
273
00:05:30,640 –> 00:05:31,150
در مستندات توصیه میشود این
274
00:05:31,150 –> 00:05:32,380
است
275
00:05:32,380 –> 00:05:33,130
که وقتی شروع به
276
00:05:33,130 –> 00:05:33,940
انجام
277
00:05:33,940 –> 00:05:35,320
تطبیق الگو میکنید،
278
00:05:35,320 –> 00:05:36,070
همه روشهای متفاوتی را
279
00:05:36,070 –> 00:05:37,270
نسبت به روشی
280
00:05:37,270 –> 00:05:37,810
که به شما ارائه میدهد امتحان کنید.
281
00:05:37,810 –> 00:05:38,770
بهترین نتیجه آن چیزی است
282
00:05:38,770 –> 00:05:39,550
که
283
00:05:39,550 –> 00:05:41,140
بعد از آن به استفاده از آن ادامه دهید. بنابراین
284
00:05:41,140 –> 00:05:41,620
285
00:05:41,620 –> 00:05:42,430
286
00:05:42,430 –> 00:05:43,090
، اگر
287
00:05:43,090 –> 00:05:43,990
میخواهید بیشتر در مورد
288
00:05:43,990 –> 00:05:44,710
این موارد ببینید، اسناد و توضیحات را پیوند خواهم داد، اما روشهای
289
00:05:44,710 –> 00:05:46,120
کمی متفاوت
290
00:05:46,120 –> 00:05:47,710
برای اجرای این
291
00:05:47,710 –> 00:05:48,720
الگو بر روی
292
00:05:48,720 –> 00:05:50,140
تصاویر ما وجود دارد. بنابراین اینها
293
00:05:50,140 –> 00:05:51,010
مواردی هستند که ما
294
00:05:51,010 –> 00:05:52,330
آنها را در یک لیست داریم. بنابراین کاری
295
00:05:52,330 –> 00:05:53,020
که میخواهم انجام دهم این است
296
00:05:53,020 –> 00:05:53,590
که
297
00:05:53,590 –> 00:05:54,340
تمام این روشها را مرور کنم.
298
00:05:54,370 –> 00:05:54,970
چهار
299
00:05:54,970 –> 00:05:57,860
روش را در روش ها می گویم. و
300
00:05:57,860 –> 00:05:58,790
برای هر یک از
301
00:05:58,790 –> 00:05:59,810
این روش ها،
302
00:05:59,810 –> 00:06:00,890
سعی می کنم
303
00:06:00,890 –> 00:06:02,030
این تطبیق الگو را انجام دهم.
304
00:06:02,270 –> 00:06:03,020
و ما فقط خواهیم دید
305
00:06:03,110 –> 00:06:04,250
که کدام یک بهترین عملکرد
306
00:06:04,250 –> 00:06:05,270
را دارد و همه نتایج را نشان خواهیم داد
307
00:06:05,270 –> 00:06:06,050
. و سپس می توانیم به
308
00:06:06,050 –> 00:06:06,710
نوعی انتخاب کنیم که کدام
309
00:06:06,710 –> 00:06:08,090
یک را می خواهیم. بنابراین ما
310
00:06:08,150 –> 00:06:09,410
چهار روش در متدها داریم.
311
00:06:09,680 –> 00:06:10,430
و سپس کاری که من
312
00:06:10,430 –> 00:06:11,120
در اینجا انجام می دهم این است که می
313
00:06:11,120 –> 00:06:12,290
خواهم بگویم، تصویر برابر
314
00:06:12,290 –> 00:06:14,300
است، و سپس تصویر دو
315
00:06:14,810 –> 00:06:16,220
نقطه کپی کنید. در واقع، اکنون
316
00:06:16,220 –> 00:06:16,910
که دارم این را می نویسم،
317
00:06:16,910 –> 00:06:17,630
متوجه می شوم
318
00:06:17,630 –> 00:06:18,200
که نیازی به
319
00:06:18,200 –> 00:06:19,940
کپی کردن اینجا ندارم. من می توانم آن را حذف
320
00:06:19,940 –> 00:06:20,660
کنم. می خواهم بگویم
321
00:06:20,690 –> 00:06:21,800
تصویر دو برابر است
322
00:06:21,800 –> 00:06:22,640
و سپس تصویر نقطه
323
00:06:22,640 –> 00:06:23,900
کپی کنید. اوم، من نمی دانم
324
00:06:23,900 –> 00:06:24,560
چرا آن را در
325
00:06:24,560 –> 00:06:26,000
بالا نوشتم. باشه. به هر حال
326
00:06:26,060 –> 00:06:26,960
آن خطی را که قبلا نوشتم نادیده بگیرید
327
00:06:26,960 –> 00:06:27,770
،
328
00:06:27,770 –> 00:06:28,640
اشتباه بود. ما فقط
329
00:06:28,640 –> 00:06:29,540
می خواهیم بگوییم که تصویر
330
00:06:29,540 –> 00:06:30,380
دو برابر است و سپس
331
00:06:30,410 –> 00:06:31,700
تصویر نقطه کپی کنید.
332
00:06:31,700 –> 00:06:32,630
دلیل کپی کردن این
333
00:06:32,630 –> 00:06:34,100
تصویر این است که می
334
00:06:34,100 –> 00:06:35,630
خواهم مستطیل را
335
00:06:35,630 –> 00:06:37,010
روی این تصویر بکشم. و اگر من
336
00:06:37,010 –> 00:06:37,580
فقط
337
00:06:37,580 –> 00:06:38,840
مستطیل را بکشم، این نشان میدهد
338
00:06:38,990 –> 00:06:40,310
که در کجای
339
00:06:40,310 –> 00:06:41,930
تصویر الگو را در
340
00:06:41,930 –> 00:06:42,860
تصویر اصلی پیدا میکنیم،
341
00:06:42,860 –> 00:06:43,700
سپس چندین
342
00:06:43,700 –> 00:06:44,870
مستطیل روی آن خواهم داشت.
343
00:06:44,870 –> 00:06:45,770
زمانی که به
344
00:06:45,770 –> 00:06:47,000
آخرین روش خود رسیدیم. بنابراین برای
345
00:06:47,000 –> 00:06:47,780
هر روش،
346
00:06:47,780 –> 00:06:48,740
باید یک نوع
347
00:06:48,740 –> 00:06:49,790
تصویر شروع جدید داشته باشم. بنابراین من
348
00:06:49,790 –> 00:06:51,440
فقط
349
00:06:51,440 –> 00:06:53,060
تصویر پایه را در اینجا کپی می کنم. باشه.
350
00:06:53,060 –> 00:06:53,780
بنابراین اکنون که
351
00:06:53,780 –> 00:06:55,160
این تصویر را کپی کردیم، کاری
352
00:06:55,160 –> 00:06:55,850
که می توانم انجام دهم این است که در واقع تطبیق الگو را انجام دهم
353
00:06:55,850 –> 00:06:56,720
354
00:06:56,720 –> 00:06:57,260
. بنابراین
355
00:06:57,260 –> 00:06:58,580
میخواهم بگویم نتیجه
356
00:06:58,610 –> 00:06:59,870
برابر است، و سپس این
357
00:06:59,870 –> 00:07:01,550
358
00:07:01,550 –> 00:07:03,110
الگوی تطبیق نقطهای خواهد بود. من تصویر
359
00:07:03,110 –> 00:07:04,100
پایه ام
360
00:07:04,100 –> 00:07:05,330
را که تصویر
361
00:07:05,330 –> 00:07:07,010
دو است، پاس می کنم و سپس
362
00:07:07,010 –> 00:07:08,150
قالبم را پاس می کنم.
363
00:07:08,720 –> 00:07:09,560
حال، کاری که این روش
364
00:07:09,560 –> 00:07:10,310
در واقع
365
00:07:10,310 –> 00:07:11,300
برای ما انجام می دهد، انجام یک
366
00:07:11,330 –> 00:07:12,890
کانولوشن است. اکنون ما
367
00:07:12,890 –> 00:07:14,300
کانولوشن اساساً
368
00:07:14,300 –> 00:07:15,230
شامل گرفتن
369
00:07:15,230 –> 00:07:16,850
تصویر الگوی خود میشود و به
370
00:07:16,850 –> 00:07:18,440
نوعی آن را در
371
00:07:18,440 –> 00:07:19,910
اطراف تصویر پایه خود میچرخانیم و
372
00:07:19,910 –> 00:07:21,020
میبینیم
373
00:07:21,020 –> 00:07:22,220
که در
374
00:07:22,220 –> 00:07:23,810
هر ناحیه از
375
00:07:23,810 –> 00:07:25,310
تصویر پایه ما چقدر نزدیک است. بنابراین آنچه که
376
00:07:25,310 –> 00:07:26,120
این
377
00:07:26,120 –> 00:07:27,170
قرار است به ما بازگرداند، یک
378
00:07:27,170 –> 00:07:29,000
تصویر جدید خواهد بود. من مردد هستم
379
00:07:29,000 –> 00:07:29,720
که آن را تصویر بنامم
380
00:07:29,750 –> 00:07:30,710
زیرا واقعاً
381
00:07:30,710 –> 00:07:31,640
یک تصویر نیست. این
382
00:07:31,640 –> 00:07:32,600
یک آرایه دو بعدی دیگر خواهد بود
383
00:07:32,600 –> 00:07:33,410
.
384
00:07:33,770 –> 00:07:34,580
این تقریباً به ما نشان
385
00:07:34,580 –> 00:07:36,530
میدهد
386
00:07:36,530 –> 00:07:37,520
که در
387
00:07:37,550 –> 00:07:38,900
هر ناحیه از
388
00:07:38,900 –> 00:07:40,070
تصویر ما چقدر تطابق وجود دارد. حال،
389
00:07:40,070 –> 00:07:41,660
تصویر به دست آمده در اینجا یا
390
00:07:41,660 –> 00:07:43,070
آرایه 2 بعدی
391
00:07:43,220 –> 00:07:43,940
حاصل به
392
00:07:43,940 –> 00:07:45,200
اندازه سقوط خواهد بود.
393
00:07:45,200 –> 00:07:46,730
عرض آن خواهد بود.
394
00:07:47,000 –> 00:07:49,610
بنابراین w منهای w به علاوه یک
395
00:07:49,850 –> 00:07:52,730
و سپس H منهای H به علاوه
396
00:07:52,730 –> 00:07:53,510
یک. حالا می توانید
397
00:07:53,510 –> 00:07:54,230
آن را به ترتیب دیگر انجام دهید،
398
00:07:54,230 –> 00:07:54,770
اگر می خواهید
399
00:07:54,770 –> 00:07:55,640
ابتدا ارتفاع را انجام دهیم، سپس با
400
00:07:55,640 –> 00:07:56,540
دوم. اما
401
00:07:56,540 –> 00:07:58,220
ابعاد این
402
00:07:58,220 –> 00:07:58,860
پرتو دوبعدی
403
00:07:58,860 –> 00:07:59,570
سقوط کرده است.
404
00:08:00,230 –> 00:08:01,790
حالا، وقتی میگویم w و
405
00:08:02,000 –> 00:08:03,380
w حرف بزرگ w
406
00:08:03,380 –> 00:08:04,400
نشاندهنده
407
00:08:04,460 –> 00:08:06,320
عرض تصویر پایه ما است.
408
00:08:06,320 –> 00:08:07,610
بنابراین حروف بزرگ w با
409
00:08:07,790 –> 00:08:08,810
تصویر پایه، بنابراین
410
00:08:08,810 –> 00:08:10,610
عرض بزرگتر، سپس W کوچکتر
411
00:08:10,620 –> 00:08:11,090
412
00:08:11,090 –> 00:08:12,230
413
00:08:12,230 –> 00:08:13,370
عرض تصویر الگوی ما
414
00:08:13,370 –> 00:08:14,480
خواهد بود. سپس
415
00:08:14,480 –> 00:08:15,620
یکی را اضافه می کنیم. در حال حاضر،
416
00:08:15,620 –> 00:08:16,760
دلیل اینکه ما این را دریافت می کنیم این است
417
00:08:16,760 –> 00:08:17,360
که وقتی در حال
418
00:08:17,360 –> 00:08:17,960
اجرای یک
419
00:08:17,960 –> 00:08:19,370
کانولوشن هستیم،
420
00:08:19,370 –> 00:08:20,330
اساساً این
421
00:08:20,330 –> 00:08:21,470
تصویر الگو را می گیریم. و همانطور
422
00:08:21,470 –> 00:08:22,070
که گفتم، ما فقط
423
00:08:22,070 –> 00:08:23,600
آن را به اطراف می کشانیم. بنابراین
424
00:08:23,600 –> 00:08:24,200
ما می خواهیم موقعیت های
425
00:08:24,200 –> 00:08:27,320
w منهای w به اضافه
426
00:08:27,320 –> 00:08:29,390
یک را در
427
00:08:29,390 –> 00:08:31,310
عرض یا در محور X بررسی کنیم.
428
00:08:31,310 –> 00:08:32,390
همانطور که ما این را به
429
00:08:32,390 –> 00:08:34,159
اطراف می چرخانیم. حالا بیایید یک
430
00:08:34,159 –> 00:08:35,059
مثال واقعاً اساسی انجام دهیم.
431
00:08:35,059 –> 00:08:35,629
فرض کنید یک
432
00:08:35,630 –> 00:08:36,770
تصویر چهار در
433
00:08:36,770 –> 00:08:37,850
چهار داشتیم و سپس
434
00:08:37,850 –> 00:08:38,600
یک تصویر الگو داریم.
435
00:08:38,600 –> 00:08:40,310
اون یکی یکی اوه،
436
00:08:40,340 –> 00:08:40,880
در واقع این
437
00:08:40,880 –> 00:08:41,330
احتمالاً
438
00:08:41,330 –> 00:08:42,020
نمونه بدی خواهد بود. فرض
439
00:08:42,020 –> 00:08:42,830
کنید یک تصویر قالب
440
00:08:42,830 –> 00:08:44,600
دو به دو داشتیم. پس این
441
00:08:44,600 –> 00:08:45,860
یعنی w برابر با
442
00:08:45,860 –> 00:08:48,110
چهار است. این به این معنی است که
443
00:08:48,140 –> 00:08:49,520
W برابر با
444
00:08:49,520 –> 00:08:51,980
دو H برابر با چهار
445
00:08:52,310 –> 00:08:54,080
و ببخشید، H برابر
446
00:08:54,080 –> 00:08:55,410
با چهار، و H Loki
447
00:08:55,410 –> 00:08:57,000
برابر با دو است. بنابراین اگر
448
00:08:57,000 –> 00:08:57,960
این معادله را اجرا کنیم،
449
00:08:58,350 –> 00:08:59,370
450
00:08:59,430 –> 00:09:01,320
بعد از آرایه خروجی خود را
451
00:09:01,320 –> 00:09:03,000
در اینجا از این
452
00:09:03,000 –> 00:09:03,990
تابع دریافت خواهیم کرد
453
00:09:03,990 –> 00:09:04,770
که سقوط خواهد بود. بنابراین چهار
454
00:09:04,770 –> 00:09:05,820
منهای دو، به علاوه یک،
455
00:09:05,880 –> 00:09:06,360
می شود
456
00:09:06,360 –> 00:09:08,010
سه و سه.
457
00:09:08,010 –> 00:09:08,610
حالا دلیل
458
00:09:08,610 –> 00:09:09,630
اینکه سه به سه می گیریم
459
00:09:09,780 –> 00:09:10,530
این است که
460
00:09:10,530 –> 00:09:11,670
تعداد دفعاتی است که می توانیم
461
00:09:11,670 –> 00:09:13,080
این تصویر را در
462
00:09:13,080 –> 00:09:14,760
جهت X و در
463
00:09:14,790 –> 00:09:16,950
جهت Y بلغزانیم. اجازه دهید سعی کنم
464
00:09:16,950 –> 00:09:17,850
465
00:09:17,850 –> 00:09:19,080
در اینجا کمی تصویرسازی کنم.
466
00:09:19,530 –> 00:09:20,550
بنابراین در یک ثانیه ادامه خواهیم داد
467
00:09:20,550 –> 00:09:21,390
، اما
468
00:09:21,390 –> 00:09:21,870
باید سریعا
469
00:09:21,870 –> 00:09:22,890
از اسپانسر
470
00:09:22,890 –> 00:09:23,760
این ویدیو و این
471
00:09:23,760 –> 00:09:25,110
مجموعه تشکر کنم که متخصص الگوریتم
472
00:09:25,110 –> 00:09:26,670
است، متخصص
473
00:09:26,670 –> 00:09:27,570
الگوریتم بهترین بستر
474
00:09:27,570 –> 00:09:28,380
برای آماده سازی برای مهندسی
475
00:09:28,380 –> 00:09:29,010
نرم افزار شماست
476
00:09:29,010 –> 00:09:29,940
،
477
00:09:29,970 –> 00:09:30,930
مصاحبه های کدنویسی با
478
00:09:30,930 –> 00:09:32,010
کیفیت ترین کدنویسی هستند.
479
00:09:32,010 –> 00:09:33,000
سوالات مصاحبه
480
00:09:33,000 –> 00:09:34,350
روی پلتفرم،
481
00:09:34,350 –> 00:09:35,250
ساختارهای داده،
482
00:09:35,280 –> 00:09:35,790
دوره خرابی، نکات
483
00:09:35,790 –> 00:09:36,780
مصاحبه رفتاری
484
00:09:36,780 –> 00:09:37,710
و پلتفرم واقعا
485
00:09:37,710 –> 00:09:38,400
جالب و عالی دارند
486
00:09:38,400 –> 00:09:39,300
که
487
00:09:39,300 –> 00:09:40,560
آمادگی
488
00:09:40,560 –> 00:09:41,220
برای مهندسی نرم افزار
489
00:09:41,220 –> 00:09:42,120
،
490
00:09:42,120 –> 00:09:43,080
مصاحبه های کدنویسی را بسیار آسان تر می کند. بنابراین، با توجه به
491
00:09:43,080 –> 00:09:44,040
آنچه گفته شد،
492
00:09:44,040 –> 00:09:44,850
متخصص algo را از
493
00:09:44,850 –> 00:09:45,930
لینک در توضیحات بررسی کنید
494
00:09:45,960 –> 00:09:46,770
و از فناوری کد
495
00:09:46,770 –> 00:09:48,000
با Tim برای تخفیف
496
00:09:48,000 –> 00:09:49,530
در پلتفرم استفاده کنید. بسیار
497
00:09:49,530 –> 00:09:50,040
خوب، بنابراین
498
00:09:50,040 –> 00:09:50,670
من یک
499
00:09:50,670 –> 00:09:52,110
نمونه کوچک در اینجا نوشته ام. ما یک
500
00:09:52,110 –> 00:09:53,310
تصویر پایه و تصویر الگوی خود داریم
501
00:09:53,310 –> 00:09:54,420
، و
502
00:09:54,420 –> 00:09:55,050
کاری که میخواهیم انجام دهیم این است
503
00:09:55,050 –> 00:09:55,860
که این تصویر الگو را بگیریم
504
00:09:55,860 –> 00:09:57,600
و آن را
505
00:09:57,600 –> 00:09:58,800
روی تصویر پایه بکشیم.
506
00:09:59,190 –> 00:10:00,180
پس این را از کجا شروع
507
00:10:00,180 –> 00:10:00,780
کنیم؟ خوب، ما
508
00:10:00,780 –> 00:10:02,250
شروع به لغزش آن در
509
00:10:02,250 –> 00:10:03,660
چهار مقدار B می کنیم. بنابراین
510
00:10:03,660 –> 00:10:04,890
آنهایی که آنلاین هستند،
511
00:10:04,890 –> 00:10:06,240
23 و 24، و سپس
512
00:10:06,240 –> 00:10:07,230
دو عنصر اول در
513
00:10:07,230 –> 00:10:08,640
این آرایه ها. پس از
514
00:10:08,640 –> 00:10:09,660
اینجاست که من این تصاویر الگو را شروع می کنم
515
00:10:09,720 –> 00:10:10,620
516
00:10:10,650 –> 00:10:11,550
. من
517
00:10:11,550 –> 00:10:12,960
آن را به اطراف می چرخانم. بنابراین
518
00:10:12,960 –> 00:10:13,740
آنچه قرار است اتفاق بیفتد
519
00:10:13,800 –> 00:10:14,820
این است که ما
520
00:10:14,880 –> 00:10:15,780
این تصویر الگو را می گیریم.
521
00:10:15,810 –> 00:10:16,680
ما در اینجا آن
522
00:10:16,680 –> 00:10:17,910
را روی این چهار
523
00:10:17,910 –> 00:10:19,140
پیکسل قرار می دهیم. و ما
524
00:10:19,140 –> 00:10:19,740
تقریباً می خواهیم
525
00:10:19,740 –> 00:10:21,240
بگوییم، بسیار خوب،
526
00:10:21,240 –> 00:10:22,470
چقدر تطابق
527
00:10:22,470 –> 00:10:24,330
وجود دارد؟ این دو تصویر چقدر با هم مطابقت دارند
528
00:10:24,330 –> 00:10:25,500
؟ حالا،
529
00:10:25,500 –> 00:10:26,220
در این مورد، این
530
00:10:26,220 –> 00:10:27,060
یک تطابق یکسان است،
531
00:10:27,060 –> 00:10:27,960
درست است؟ هر چهار
532
00:10:27,960 –> 00:10:29,190
این پیکسل با هم مطابقت دارند. بنابراین
533
00:10:29,190 –> 00:10:29,460
چیزی که
534
00:10:29,460 –> 00:10:30,360
به ما می گوید این است، هی،
535
00:10:30,360 –> 00:10:31,650
این یک تطابق کامل بود. بنابراین
536
00:10:31,650 –> 00:10:32,640
ما آن را اکنون در یک آرایه خروجی علامت گذاری می کنیم
537
00:10:32,670 –> 00:10:33,990
. بنابراین اگر من در حال
538
00:10:33,990 –> 00:10:34,830
ایجاد نوعی
539
00:10:34,830 –> 00:10:36,390
آرایه خروجی هستم، بیایید
540
00:10:36,390 –> 00:10:39,300
این کار را انجام دهیم. و من
541
00:10:39,300 –> 00:10:39,990
نمی دانم چرا به
542
00:10:39,990 –> 00:10:40,830
تصحیح خودکار و
543
00:10:40,860 –> 00:10:41,700
اضافه کردن اعداد در اینجا ادامه می دهد،
544
00:10:41,700 –> 00:10:42,390
اما شما این ایده را دریافت می کنید.
545
00:10:42,390 –> 00:10:43,140
ما مقداری
546
00:10:43,140 –> 00:10:44,190
آرایه خروجی داریم و برای
547
00:10:44,190 –> 00:10:45,270
اولین مقدار در
548
00:10:45,270 –> 00:10:45,960
آرایه خروجی خود،
549
00:10:45,960 –> 00:10:47,010
یک عدد قرار می دهیم.
550
00:10:47,010 –> 00:10:47,820
اکنون ممکن است در
551
00:10:47,820 –> 00:10:48,690
واقع یک مورد قرار ندهیم، اما من فقط
552
00:10:48,690 –> 00:10:49,410
میخواهم یکی را برای
553
00:10:49,410 –> 00:10:50,190
نشان دادن، هی،
554
00:10:50,190 –> 00:10:51,000
میدانید، این مقادیر
555
00:10:51,000 –> 00:10:52,110
مطابقت دارند. پس کاری که
556
00:10:52,110 –> 00:10:52,800
ما انجام خواهیم داد این است که بگوییم،
557
00:10:52,800 –> 00:10:53,430
بسیار خوب، خوب، ما
558
00:10:53,430 –> 00:10:54,240
متوجه شدیم که در
559
00:10:54,240 –> 00:10:55,710
این ربع یا این
560
00:10:55,710 –> 00:10:57,060
ناحیه چهار پیکسلی،
561
00:10:57,240 –> 00:10:58,530
کاملاً مطابقت دارند.
562
00:10:59,130 –> 00:10:59,850
بنابراین کاری که بعد از
563
00:10:59,850 –> 00:11:00,690
آن انجام خواهیم داد این است که اکنون این را می
564
00:11:00,690 –> 00:11:01,830
گیریم و آن را
565
00:11:01,830 –> 00:11:03,450
به سمت راست می کشیم. بنابراین
566
00:11:03,450 –> 00:11:04,050
ما می گوییم، خوب،
567
00:11:04,050 –> 00:11:05,070
ما این
568
00:11:05,070 –> 00:11:05,820
دو مقدار را فراموش می کنیم. بنابراین
569
00:11:05,820 –> 00:11:07,410
دو عنصر اول در
570
00:11:07,410 –> 00:11:08,730
خط 27 را
571
00:11:08,730 –> 00:11:09,990
در خط 28 پاک کنید و سپس
572
00:11:09,990 –> 00:11:10,710
به این
573
00:11:10,710 –> 00:11:11,580
چهار عنصر نگاه خواهیم کرد که
574
00:11:11,580 –>