در این مطلب، ویدئو AI Hand Pose Estimation با MediaPipe و Python با زیرنویس فارسی را برای دانلود قرار داده ام. شما میتوانید با پرداخت 15 هزار تومان ، این ویدیو به علاوه تمامی فیلم های سایت را دانلود کنید.اکثر فیلم های سایت به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
مدت زمان فیلم: 00:36:02
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
00:00:00,000 –> 00:00:01,839
چه خبر نیک روی چه کار میکنی، اوه،
2
00:00:01,839 –> 00:00:03,600
فقط یک ردیابی دستی میدانی که
3
00:00:03,600 –> 00:00:05,279
به شما امکان میدهد این کار را انجام دهید
4
00:00:05,279 –> 00:00:08,559
، عالی است،
5
00:00:08,559 –> 00:00:11,920
میخواهید یاد بگیرید چگونه این کار را انجام دهید، بیایید این کار را انجام دهیم
6
00:00:11,920 –> 00:00:13,759
، بچهها نام من
7
00:00:13,759 –> 00:00:15,679
نیکولاس رنیت است و در این ویدیو ما میخواهیم
8
00:00:15,679 –> 00:00:17,760
تخمین پوز دست را
9
00:00:17,760 –> 00:00:19,600
با استفاده از لوله رسانه انجام دهید تا بتوانید
10
00:00:19,600 –> 00:00:21,520
از وب کم خود استفاده کنید تا بتوانید
11
00:00:21,520 –> 00:00:22,080
12
00:00:22,080 –> 00:00:24,480
تمام مفاصل دست خود را در زمان واقعی ردیابی و تشخیص
13
00:00:24,480 –> 00:00:25,199
14
00:00:25,199 –> 00:00:26,400
دهید، بیایید نگاه عمیق تری
15
00:00:26,400 –> 00:00:28,320
داشته باشیم. در این ویدیو
16
00:00:28,320 –> 00:00:29,920
ما قرار است چیزهای زیادی را مرور کنیم،
17
00:00:29,920 –> 00:00:31,359
اما به طور خاص
18
00:00:31,359 –> 00:00:32,000
19
00:00:32,000 –> 00:00:33,920
سه مشکل کلیدی را حل خواهیم کرد، بنابراین نصب
20
00:00:33,920 –> 00:00:36,000
لوله رسانه، بنابراین لوله رسانه کتابخانه ای است که
21
00:00:36,000 –> 00:00:37,200
به ما امکان می دهد
22
00:00:37,200 –> 00:00:39,680
ردیابی ژست دستی را در میان مجموعه ای
23
00:00:39,680 –> 00:00:40,879
از راه حل های دیگر انجام دهیم.
24
00:00:40,879 –> 00:00:42,399
سپس میخواهیم
25
00:00:42,399 –> 00:00:44,480
دست خود و دست دوم خود را شناسایی کنیم تا
26
00:00:44,480 –> 00:00:45,760
بتوانیم
27
00:00:45,760 –> 00:00:46,320
28
00:00:46,320 –> 00:00:48,480
با استفاده از وبکم خود ردیابی چند دستی را در زمان واقعی انجام دهیم و شما در
29
00:00:48,480 –> 00:00:49,840
واقع میتوانید آن
30
00:00:49,840 –> 00:00:51,120
نتایج را که روی صفحه نمایش داده میشوند
31
00:00:51,120 –> 00:00:52,480
و سپس آنچه را که ما انجام میدهیم مشاهده کنید. انجام خواهم داد ما همچنین
32
00:00:52,480 –> 00:00:54,320
برخی از تصاویر را با تشخیص خود ذخیره میکنیم،
33
00:00:54,320 –> 00:00:55,920
بنابراین میتوانید
34
00:00:55,920 –> 00:00:57,760
خروجیها را برای یک لوله رسانه و
35
00:00:57,760 –> 00:00:59,199
از مدل تشخیص وضعیت خود بگیرید
36
00:00:59,199 –> 00:01:01,680
و آنها را به یک فایل jpeg یا
37
00:01:01,680 –> 00:01:03,120
هر فرمت فایلی که میخواهید با استفاده از
38
00:01:03,120 –> 00:01:04,400
opencv به
39
00:01:04,400 –> 00:01:06,000
اندازه کافی در خروجی بگیرید. بیایید نگاهی بیندازیم
40
00:01:06,000 –> 00:01:07,520
که این همه چگونه کار می کند،
41
00:01:07,520 –> 00:01:08,960
بنابراین ابتدا کاری که می خواهیم انجام دهیم
42
00:01:08,960 –> 00:01:11,360
نصب مدیاپایپ برای پایتون است، بنابراین به
43
00:01:11,360 –> 00:01:13,040
طور خاص از یک پیپ استفاده می کنیم و برای
44
00:01:13,040 –> 00:01:14,400
آن کاملاً ساده
45
00:01:14,400 –> 00:01:16,159
آنچه را که می خواهیم انجام دهیم، استفاده خواهیم کرد. برای انجام این کار این است که
46
00:01:16,159 –> 00:01:18,320
دستها و بهویژه دستهای ما را
47
00:01:18,320 –> 00:01:21,520
در زمان واقعی از فید وبکم خود شناسایی کنیم، بنابراین برای
48
00:01:21,520 –> 00:01:23,119
این کار ما در واقع از
49
00:01:23,119 –> 00:01:24,720
opencv برای دریافت فید
50
00:01:24,720 –> 00:01:27,280
از وبکم خود استفاده میکنیم، سپس
51
00:01:27,280 –> 00:01:28,799
مدل تشخیص لوله رسانه خود را پوشش میدهیم تا شما
52
00:01:28,799 –> 00:01:29,920
واقعاً بتوانیم
53
00:01:29,920 –> 00:01:32,079
تمام آن اتصالات رندر شده را در زمان واقعی
54
00:01:32,079 –> 00:01:33,119
ببینیم و سپس ما در واقع می خواهیم
55
00:01:33,119 –> 00:01:36,000
آن تصاویر را برای باز کردن cv خروجی بگیریم، اکنون
56
00:01:36,000 –> 00:01:37,520
این قسمت اول است، در
57
00:01:37,520 –> 00:01:39,200
واقع قسمت دوم این سری خواهد بود که در
58
00:01:39,200 –> 00:01:40,400
واقع کمی انجام خواهیم داد.
59
00:01:40,400 –> 00:01:42,240
تشخیص های پیچیده تر
60
00:01:42,240 –> 00:01:43,680
با ou r مدل خاص، بنابراین ما در
61
00:01:43,680 –> 00:01:45,280
واقع تعیین خواهیم کرد کدام دست چپ
62
00:01:45,280 –> 00:01:46,479
و کدام دست راست است
63
00:01:46,479 –> 00:01:48,159
و شاید کارهای دیگری انجام دهیم،
64
00:01:48,159 –> 00:01:49,759
اما این قسمت اول است که ما
65
00:01:49,759 –> 00:01:51,200
آن را بسیار ساده نگه می داریم و
66
00:01:51,200 –> 00:01:53,840
آماده انجام آن هستیم.
67
00:01:53,840 –> 00:01:55,439
بچه ها، بنابراین برای ساختن
68
00:01:55,439 –> 00:01:57,520
مدل ژست دست، کاری که باید
69
00:01:57,520 –> 00:01:58,560
انجام دهیم این
70
00:01:58,560 –> 00:02:00,399
است که طبق معمول سه کار کلیدی را انجام دهیم، ما
71
00:02:00,399 –> 00:02:02,079
این مرحله را مرحله به مرحله طی می کنیم،
72
00:02:02,079 –> 00:02:04,000
بنابراین ابتدا کاری که می خواهیم انجام دهیم این است که
73
00:02:04,000 –> 00:02:05,840
نصب کنیم و وابستگیهایمان را وارد کنیم تا
74
00:02:05,840 –> 00:02:06,640
مرحله
75
00:02:06,640 –> 00:02:09,280
شماره یک باشد، سپس کاری که میخواهیم انجام دهیم این
76
00:02:09,280 –> 00:02:09,679
است
77
00:02:09,679 –> 00:02:11,680
که تشخیص دست خود را ترسیم کنیم، بنابراین چیزی که در
78
00:02:11,680 –> 00:02:13,599
واقع قادر به دیدن آن هستیم این است که وقتی
79
00:02:13,599 –> 00:02:15,200
دستهایمان را روی وبکم قرار
80
00:02:15,200 –> 00:02:17,040
میدهیم، در واقع میتوانیم همه چیز را ببینیم. از
81
00:02:17,040 –> 00:02:18,879
مفاصل داخل دست ما
82
00:02:18,879 –> 00:02:21,599
در زمان واقعی شناسایی میشود، بنابراین این مرحله اولیه
83
00:02:21,599 –> 00:02:23,200
یا یکی از اولین
84
00:02:23,200 –> 00:02:24,400
آموزشهایی است که میخواهم به صورت دستی انجام دهم.
85
00:02:24,400 –> 00:02:26,480
86
00:02:26,480 –> 00:02:27,680
87
00:02:27,680 –> 00:02:29,760
برای آن
88
00:02:29,760 –> 00:02:31,760
پس از آن آخرین اما نه کم اهمیت به اضافه کردن
89
00:02:31,760 –> 00:02:33,440
کمی طعم اضافی آنچه ما
90
00:02:33,440 –> 00:02:34,080
g کاری که باید انجام دهیم این است
91
00:02:34,080 –> 00:02:36,080
که تصاویر را از تشخیص ما خارج کنیم، بنابراین
92
00:02:36,080 –> 00:02:37,440
شما در واقع قادر خواهید بود
93
00:02:37,440 –> 00:02:38,400
تصاویر را با
94
00:02:38,400 –> 00:02:40,959
تمام مدلهای ژست دست یا نشانههایی
95
00:02:40,959 –> 00:02:42,480
که در واقع
96
00:02:42,480 –> 00:02:44,480
به یک فایل jpeg کشیده شدهاند، مشاهده کنید تا بتوانید
97
00:02:44,480 –> 00:02:45,680
آنها را برای کار با آنها انتخاب کنید.
98
00:02:45,680 –> 00:02:48,640
اگر میخواهید
99
00:02:48,640 –> 00:02:49,920
ابتدا چیزهایی را که میخواهید
100
00:02:49,920 –> 00:02:50,720
انجام دهیم این
101
00:02:50,720 –> 00:02:53,120
است که وابستگیهایمان را نصب کنیم، با
102
00:02:53,120 –> 00:02:55,519
آنها بازی
103
00:02:58,800 –> 00:03:01,280
کنید، بنابراین امروز وابستگیها کاملاً
104
00:03:01,280 –> 00:03:02,159
ساده
105
00:03:02,159 –> 00:03:03,760
هستند، بنابراین آنچه که ما رفتیم
106
00:03:03,760 –> 00:03:05,599
و نوشتیم علامت تعجب pip
107
00:03:05,599 –> 00:03:08,959
install است. media pipe و سپس open cv dash
108
00:03:08,959 –> 00:03:11,440
python، بنابراین media pipe و open cv
109
00:03:11,440 –> 00:03:13,519
دو وابستگی اصلی ما خواهند بود،
110
00:03:13,519 –> 00:03:15,519
بنابراین اگر برخی از آموزشهای قبلی من را در این مورد
111
00:03:15,519 –> 00:03:17,200
112
00:03:17,200 –> 00:03:20,000
دیدهاید، مجموعهای از
113
00:03:20,000 –> 00:03:22,000
راهحلهای بینایی کامپیوتری مختلف را به شما ارائه میدهد. قادر به استفاده از
114
00:03:22,000 –> 00:03:23,920
آن برای ردیابی ژست دستی ردیابی
115
00:03:23,920 –> 00:03:24,560
116
00:03:24,560 –> 00:03:26,480
ژست بدن ردیابی کل نقاش چهره
117
00:03:26,480 –> 00:03:28,080
ردیابی کل چیزهای واقعاً
118
00:03:28,080 –> 00:03:29,040
جالب است،
119
00:03:29,040 –> 00:03:32,000
سپس opencv یک کتابخانه بینایی کامپیوتری باز
120
00:03:32,000 –> 00:03:33,360
است که به شما امکان می دهد با
121
00:03:33,360 –> 00:03:34,879
وب کم خود کار کنید. شما با
122
00:03:34,879 –> 00:03:35,440
تصاویر
123
00:03:35,440 –> 00:03:37,440
واقعاً خوب کار کنید، بنابراین در مورد کتابخانههای بینایی
124
00:03:37,440 –> 00:03:38,799
کامپیوتری تقریباً استاندارد است،
125
00:03:38,799 –> 00:03:40,080
126
00:03:40,080 –> 00:03:41,760
اکنون کار بعدی که میخواهیم
127
00:03:41,760 –> 00:03:43,120
جلو برویم و انجام دهیم این است که در واقع
128
00:03:43,120 –> 00:03:44,720
آن وابستگیها را به
129
00:03:44,720 –> 00:03:46,640
نوت بوک jupyter وارد کنیم، پس بیایید جلو برویم و
130
00:03:46,640 –> 00:03:48,959
انجام دهیم. اشکالی
131
00:03:53,200 –> 00:03:56,080
ندارد، پس این وابستگیهای ما هستند که اکنون
132
00:03:56,080 –> 00:03:57,840
به نوت بوک ما وارد شدهاند، بنابراین ما رفتهایم
133
00:03:57,840 –> 00:03:58,640
و
134
00:03:58,640 –> 00:04:00,799
یک دو سه پنج خط کد را در آنجا نوشتهایم،
135
00:04:00,799 –> 00:04:01,920
بنابراین اولین مورد
136
00:04:01,920 –> 00:04:05,040
واردات media pipe به عنوان mp است، بنابراین این
137
00:04:05,040 –> 00:04:06,400
همه راهحلهای لوله رسانه ما را وارد میکند
138
00:04:06,400 –> 00:04:08,000
و اگر من واقعاً به شما
139
00:04:08,000 –> 00:04:10,159
media
140
00:04:10,159 –> 00:04:12,720
pipe را نشان دهم، یک دسته کامل از لوله های رسانه ای مختلف وجود دارد. اوه
141
00:04:12,720 –> 00:04:14,159
، یک لوله رسانه مخزن github است،
142
00:04:14,159 –> 00:04:18,798
بنابراین یک دسته کامل از
143
00:04:18,798 –> 00:04:19,358
144
00:04:19,358 –> 00:04:21,358
راه حل های مختلف در داخل mediapipe موجود است،
145
00:04:21,358 –> 00:04:22,639
بنابراین به طور خاص ما
146
00:04:22,639 –> 00:04:24,960
با api پایتون کار می
147
00:04:24,960 –> 00:04:26,880
کنیم و می رویم. برای کار با این
148
00:04:26,880 –> 00:04:28,800
مدل دست در اینجا، بنابراین اگر دستها
149
00:04:28,800 –> 00:04:31,919
را انتخاب میکنیم، بتوانید دستها را ببینید، بنابراین میتوانید ببینید که
150
00:04:31,919 –> 00:04:33,120
151
00:04:33,120 –> 00:04:35,040
اکنون میتوانید ردیابی دست واقعاً پیچیدهای داشته باشید،
152
00:04:35,040 –> 00:04:36,800
نکته جالب در این مورد این است که
153
00:04:36,800 –> 00:04:37,919
واقعاً خیلی سریع است،
154
00:04:37,919 –> 00:04:40,880
بنابراین روی رایانه شما کار میکند، بنابراین میتوانید
155
00:04:40,880 –> 00:04:41,440
156
00:04:41,440 –> 00:04:43,040
آن تشخیصها را در زمان واقعی ببینید، بنابراین
157
00:04:43,040 –> 00:04:44,560
مزیت سریع بودن آن این است که
158
00:04:44,560 –> 00:04:45,919
میتوان در زمان واقعی از آن استفاده کرد،
159
00:04:45,919 –> 00:04:48,400
بنابراین این یک نمونه از
160
00:04:48,400 –> 00:04:49,919
نشانههای دستی است و من در واقع این را
161
00:04:49,919 –> 00:04:51,280
در داخل نوت بوک دارم که
162
00:04:51,280 –> 00:04:52,639
در یک ثانیه به شما نشان خواهم داد،
163
00:04:52,639 –> 00:04:54,080
اما اساساً این همان کاری است که ما
164
00:04:54,080 –> 00:04:55,759
می توانیم انجام دهیم،
165
00:04:55,759 –> 00:04:57,280
بنابراین احتمالاً آن را کمی دوباره رنگ
166
00:04:57,280 –> 00:04:58,800
می کنیم تا کمی بهتر به نظر برسد.
167
00:04:58,800 –> 00:05:02,240
اگر چه خوب است پس مدیاپایپ است،
168
00:05:02,240 –> 00:05:03,919
پس کاری که میخواهیم انجام دهیم این است که cv2 را وارد کنیم
169
00:05:03,919 –> 00:05:07,440
که opencv است،
170
00:05:07,440 –> 00:05:09,440
بنابراین cv2 را وارد کنیم تا opencv به ما بدهد و ما عمدتاً
171
00:05:09,440 –> 00:05:11,520
از opencv
172
00:05:11,520 –> 00:05:14,320
برای فید وبکم خود استفاده میکنیم، بنابراین از opencv
173
00:05:14,320 –> 00:05:15,919
برای اتصال به وبکم
174
00:05:15,919 –> 00:05:18,479
ما سپس numpy را به عنوان mp
175
00:05:18,479 –> 00:05:19,840
وارد میکنیم، بنابراین وارد کردن numpy
176
00:05:19,840 –> 00:05:22,560
به عنوان mp so numpy فقط کار با
177
00:05:22,560 –> 00:05:23,280
178
00:05:23,280 –> 00:05:25,120
خروجیهای مختلف خود را از
179
00:05:25,120 –> 00:05:26,880
مدل mediapipe شما آسان میکند،
180
00:05:26,880 –> 00:05:28,960
سپس دو مورد بعدی واقعاً
181
00:05:28,960 –> 00:05:30,400
به خروجی مربوط میشوند، بنابراین ما از آن استفاده نمیکنیم.
182
00:05:30,400 –> 00:05:31,759
uuid و os
183
00:05:31,759 –> 00:05:33,759
تا زمانی که به مرحله شماره سه برسیم اما
184
00:05:33,759 –> 00:05:35,919
uuid به شما اجازه می دهد تا ge کنید یک
185
00:05:35,919 –> 00:05:38,800
شناسه یکنواخت یکنواخت یا
186
00:05:38,800 –> 00:05:40,800
شناسه یکنواخت یکنواخت یکی از این روش ها ایجاد کنید،
187
00:05:40,800 –> 00:05:42,320
بنابراین اساساً به شما امکان می دهد
188
00:05:42,320 –> 00:05:43,919
یک رشته تصادفی ایجاد کنید که سپس می توانید از آن
189
00:05:43,919 –> 00:05:44,479
به
190
00:05:44,479 –> 00:05:46,639
عنوان تصویر خود استفاده کنید یا ما به عنوان
191
00:05:46,639 –> 00:05:48,000
نام تصویر خود استفاده کنیم، بنابراین این بدان معناست که ما وقتی
192
00:05:48,000 –> 00:05:49,840
193
00:05:49,840 –> 00:05:52,400
ما واقعاً تصاویر خود را می گیریم، هیچ همپوشانی پیدا نمی کنیم و سپس
194
00:05:52,400 –> 00:05:55,520
os مخفف سیستم عامل است، بنابراین این
195
00:05:55,520 –> 00:05:57,360
کتابخانه OS برای پایتون است، بنابراین
196
00:05:57,360 –> 00:05:58,960
کار با سیستم عامل های مختلف را آسان می کند، بسیار
197
00:05:58,960 –> 00:06:00,080
198
00:06:00,080 –> 00:06:02,560
خوب حالا چیزی که می
199
00:06:02,560 –> 00:06:03,280
خواهیم انجام
200
00:06:03,280 –> 00:06:05,600
این کار در واقع شروع به راه اندازی لوله رسانه است،
201
00:06:05,600 –> 00:06:07,120
بنابراین ما می خواهیم وارد کنیم یا
202
00:06:07,120 –> 00:06:08,560
ابزارهای طراحی خود را راه اندازی می کنیم و
203
00:06:08,560 –> 00:06:10,240
همچنین مدل عقربه ها را راه اندازی می کنیم
204
00:06:10,240 –> 00:06:11,759
زیرا به یاد داشته باشید که ما
205
00:06:11,759 –> 00:06:12,240
از
206
00:06:12,240 –> 00:06:14,560
این مدل در اینجا استفاده خواهیم کرد. و مجدداً همه
207
00:06:14,560 –> 00:06:16,479
پیوندهای این کد از جمله هر مرجعی
208
00:06:16,479 –> 00:06:18,160
در توضیحات زیر قرار خواهند گرفت،
209
00:06:18,160 –> 00:06:18,720
210
00:06:18,720 –> 00:06:20,160
مانند چند پیوند به
211
00:06:20,160 –> 00:06:21,919
آموزش های قبلی که من انجام داده ام، اما مجدداً اگر
212
00:06:21,919 –> 00:06:23,440
اصلاً سؤالی دارید،
213
00:06:23,440 –> 00:06:23,919
214
00:06:23,919 –> 00:06:25,520
آن را بزنید. من در ج در زیر نظر دهید و
215
00:06:25,520 –> 00:06:26,960
به سرور discord بپیوندید، زیرا ما
216
00:06:26,960 –> 00:06:29,120
همیشه در آنجا بسیار فعال هستیم،
217
00:06:29,120 –> 00:06:31,280
در این مورد، اجازه دهید ادامه دهیم و
218
00:06:31,280 –> 00:06:35,840
این را تنظیم کنیم،
219
00:06:38,800 –> 00:06:42,080
بنابراین این دو جزء لوله رسانه ما هستند که
220
00:06:42,080 –> 00:06:42,720
221
00:06:42,720 –> 00:06:44,639
اکنون انجام شده و گرد و غبار گرفته شده است، بنابراین ما رفته ایم و
222
00:06:44,639 –> 00:06:46,560
دو مورد دیگر را آورده ایم. چیزها در اینجا، بنابراین
223
00:06:46,560 –> 00:06:48,319
ابتدا ما ابزارهای طراحی خود را آورده ایم،
224
00:06:48,319 –> 00:06:49,520
بنابراین
225
00:06:49,520 –> 00:06:52,160
این خط در اینجا است و ابزارهای طراحی ما
226
00:06:52,160 –> 00:06:54,080
فقط این کار را برای ما آسان تر می کنند تا
227
00:06:54,080 –> 00:06:55,840
همه نشانه های مختلف را
228
00:06:55,840 –> 00:06:56,720
در دست خود رندر کنیم
229
00:06:56,720 –> 00:06:58,639
تا زمانی که شما واقعاً خروجی را از
230
00:06:58,639 –> 00:06:59,840
مدل لوله رسانه دریافت کنید. چیزی که میخواهید
231
00:06:59,840 –> 00:07:01,759
به دست آورید یک سری نشانههاست، بنابراین
232
00:07:01,759 –> 00:07:03,360
برای هر مفصل در دست شما یک نقطه عطف وجود خواهد داشت،
233
00:07:03,360 –> 00:07:03,759
234
00:07:03,759 –> 00:07:05,360
حالا اجازه دهید
235
00:07:05,360 –> 00:07:07,120
این را از نظر خود حذف کنم تا بتوانید
236
00:07:07,120 –> 00:07:10,400
ببینید که منظور من از نشانهها
237
00:07:10,400 –> 00:07:12,880
این است، بنابراین هر کدام از اینها نقطهها
238
00:07:12,880 –> 00:07:15,120
نقطههای قرمز نشاندهنده یک نقطه عطف هستند، بنابراین یک
239
00:07:15,120 –> 00:07:16,000
نقطه عطف
240
00:07:16,000 –> 00:07:17,840
واقعاً یک مفصل است در این مورد خاص،
241
00:07:17,840 –> 00:07:19,680
بنابراین مچ دست شما انگشت شست شما
242
00:07:19,680 –> 00:07:22,960
uh انگشت شست c m c انگشت شست mcp بنابراین من
243
00:07:22,960 –> 00:07:25,039
نمیدانم mcp cmc چیست، اما
244
00:07:25,039 –> 00:07:27,120
اساساً هر کدام از اینها g هستند میتوان
245
00:07:27,120 –> 00:07:28,800
یک نقطه عطف را نشان داد، بنابراین دوباره
246
00:07:28,800 –> 00:07:29,919
میتوانید ببینید که واقعاً
247
00:07:29,919 –> 00:07:31,440
248
00:07:31,440 –> 00:07:33,120
ردیابی مشترک بسیار پیچیدهای برای مدل خاص خود دریافت میکنید،
249
00:07:33,120 –> 00:07:34,319
بنابراین ما از ابزارهای طراحی استفاده
250
00:07:34,319 –> 00:07:36,160
میکنیم تا به ما کمک کنند همه آن
251
00:07:36,160 –> 00:07:38,000
نشانهها را روی صفحه بکشیم
252
00:07:38,000 –> 00:07:39,599
و در واقع آن را وارد کردهایم. مدل عقربهها
253
00:07:39,599 –> 00:07:41,360
برای انجام آن mp نوشته شده
254
00:07:41,360 –> 00:07:42,720
یا در واقع بیایید نگاهی بیندازیم که چگونه ابزارهای
255
00:07:42,720 –> 00:07:44,400
256
00:07:44,400 –> 00:07:47,319
طراحی را وارد کردهایم، بنابراین طراحی زیر خط mp برابر است با
257
00:07:47,319 –> 00:07:50,319
mp.solutions.drawing،
258
00:07:50,319 –> 00:07:52,160
سپس ما مدل را در دستان خود آوردهایم، بنابراین
259
00:07:52,160 –> 00:07:53,840
عقربههای mp underscore
260
00:07:53,840 –> 00:07:57,199
برابر با mp است. Solutions.nence و سپس ما
261
00:07:57,199 –> 00:07:58,479
آن را با موفقیت وارد کردیم، بنابراین
262
00:07:58,479 –> 00:07:59,599
مدل عقربهها
263
00:07:59,599 –> 00:08:01,520
در واقع این مدل است در اینجا، بنابراین
264
00:08:01,520 –> 00:08:03,199
همه چیزهایی که ما برای کار با
265
00:08:03,199 –> 00:08:04,560
این مدل دست نیاز داریم
266
00:08:04,560 –> 00:08:07,919
در این خط در اینجا خنک است،
267
00:08:07,919 –> 00:08:10,720
بنابراین همه چیز خوب و خوب
268
00:08:10,720 –> 00:08:12,080
است. کاری که ما در واقع می خواهیم انجام دهیم این است که
269
00:08:12,080 –> 00:08:14,720
در واقع شروع به کار با وب کم خود کنیم،
270
00:08:14,720 –> 00:08:16,639
پس بیایید فید خود را تنظیم کنیم و سپس
271
00:08:16,639 –> 00:08:18,240
شروع به ساختن از آن خواهیم کرد
272
00:08:18,240 –> 00:08:19,680
تا بتوانیم تشخیص های خود را از
273
00:08:19,680 –> 00:08:21,199
مدل mediapipe خود استخراج کنیم،
274
00:08:21,199 –> 00:08:22,639
بنابراین من فقط می خواهم اضافه کنم در یک سلول جدید
275
00:08:22,639 –> 00:08:27,840
در اینجا و شروع به نوشتن این مطلب
276
00:08:52,160 –> 00:08:55,200
کنید خوب، بنابراین این فید اصلی وبکم ما است،
277
00:08:55,200 –> 00:08:58,160
بنابراین من دوباره آن را
278
00:08:58,160 –> 00:09:00,000
خیلی سریع انجام دادم، اما اگر
279
00:09:00,000 –> 00:09:02,080
قبل از هر یک از ویدیوهای بیدرنگ من را تماشا کرده باشید،
280
00:09:02,080 –> 00:09:04,000
این بلوک کد
281
00:09:04,000 –> 00:09:05,680
واقعاً آشنا به نظر میرسد. شما اما کاری که
282
00:09:05,680 –> 00:09:06,640
من میخواهم انجام دهم این است که
283
00:09:06,640 –> 00:09:08,240
هر مرحله را طی میکنم، آن را اجرا میکنیم و سپس
284
00:09:08,240 –> 00:09:10,080
مدل لوله رسانه خود را در
285
00:09:10,080 –> 00:09:10,720
بالای آن قرار میدهیم،
286
00:09:10,720 –> 00:09:12,320
بنابراین ابتدا کاری که انجام میدهیم این است که ما دوباره
287
00:09:12,320 –> 00:09:14,399
فید وبکم خود را دریافت میکنیم تا این کار را انجام
288
00:09:14,399 –> 00:09:15,360
دهیم که cap
289
00:09:15,360 –> 00:09:18,240
برابر با cv2.video capture است و سپس از این موضوع
290
00:09:18,240 –> 00:09:19,600
عبور کردهایم که میخواهیم شماره دستگاه ضبط ویدیوی ما
291
00:09:19,600 –> 00:09:20,480
292
00:09:20,480 –> 00:09:23,760
صفر باشد، حالا دوباره ممکن است نیاز
293
00:09:23,760 –> 00:09:25,360
باشد بسته به
294
00:09:25,360 –> 00:09:26,640
نوع دستگاه با آن بازی کنید. دستگاهی که از
295
00:09:26,640 –> 00:09:29,440
آن استفاده میکنید و وبکم شما واقعاً چه دستگاهی است،
296
00:09:29,440 –> 00:09:31,680
بنابراین در دستگاه ویندوز من
297
00:09:31,680 –> 00:09:32,560
شماره دستگاه صفر است،
298
00:09:32,560 –> 00:09:34,720
اما در مک من دستگاه شماره دو است،
299
00:09:34,720 –> 00:09:36,160
گاهی اوقات
300
00:09:36,160 –> 00:09:36,640
301
00:09:36,640 –> 00:09:38,080
اگر خطایی دریافت کردید که
302
00:09:38,080 –> 00:09:40,240
تصویر خالی است یا اینکه تصویر خالی است، باید با آن بازی کنید. تصویر شما باید
303
00:09:40,240 –> 00:09:41,440
سه بعدی باشد
304
00:09:41,440 –> 00:09:42,880
سپس ممکن است بخواهید بازی کنید با
305
00:09:42,880 –> 00:09:44,880
این عدد و سپس کاری که ما انجام می دهیم این است
306
00:09:44,880 –> 00:09:45,920
که در واقع در حال
307
00:09:45,920 –> 00:09:48,160
خواندن هر فریم در فیلمبرداری خود
308
00:09:48,160 –> 00:09:49,200
309
00:09:49,200 –> 00:09:51,680
یا درون دوربین خود از وب کم خود هستیم، بنابراین کاری
310
00:09:51,680 –> 00:09:52,959
که انجام می دهیم این است که می گوییم
311
00:09:52,959 –> 00:09:54,959
در حالی که فیلمبرداری ما باز است، بنابراین در حالی که تصویربرداری ما باز است.
312
00:09:54,959 –> 00:09:56,880
ما به وبکم خود وصل شدهایم تا زمانی که
313
00:09:56,880 –> 00:09:59,760
درپوش نقطه باز است و سپس
314
00:09:59,760 –> 00:10:00,959
یک دونقطه اضافه
315
00:10:00,959 –> 00:10:02,720
کردهایم، کاری که میخواهیم انجام دهیم این است که هر
316
00:10:02,720 –> 00:10:04,880
فریم را از وبکم خود بخوانیم تا این کار را انجام
317
00:10:04,880 –> 00:10:06,800
دهیم، قاب کاما قرمز را
318
00:10:06,800 –> 00:10:10,079
برابر با cap dot read نوشتهایم. بنابراین متغیرهای ret و frame
319
00:10:10,079 –> 00:10:10,959
فقط
320
00:10:10,959 –> 00:10:13,600
نتایج را از تابع cap.read ما استخراج یا باز
321
00:10:13,600 –> 00:10:15,279
میکنند،
322
00:10:15,279 –> 00:10:16,800
بنابراین از این مقدار بازگشتی خود را دریافت
323
00:10:16,800 –> 00:10:18,880
میکنیم و نیازی نداریم که
324
00:10:18,880 –> 00:10:20,800
چیزی که بیشتر به آن علاقه داریم این
325
00:10:20,800 –> 00:10:22,640
متغیر فریم باشد. متغیر فریم در
326
00:10:22,640 –> 00:10:24,160
327
00:10:24,160 –> 00:10:27,680
واقع تصویری را از وبکم ما نمایش میدهد،
328
00:10:27,680 –> 00:10:29,600
سپس کاری که میخواهیم انجام دهیم این است
329
00:10:29,600 –> 00:10:31,360
که آن تصویر را روی صفحه نمایش دهیم، بنابراین باز
330
00:10:31,360 –> 00:10:32,480
هم از
331
00:10:32,480 –> 00:10:35,680
opencv استفاده میکنیم تا cv2.iamshow و سپس
332
00:10:35,680 –> 00:10:36,959
از آنچه میخواهیم عبور کردهایم. قاب ما
333
00:10:36,959 –> 00:10:38,320
نامگذاری شود تا
334
00:10:38,320 –> 00:10:40,000
در یک ثانیه یک بار در بالای صفحه ببینید در واقع این را اجرا کنید
335
00:10:40,000 –> 00:10:41,760
که نام فریم ما میگوید
336
00:10:41,760 –> 00:10:43,279
ردیابی دست اگر میخواهید این را تغییر دهید به هر طریقی آن را تغییر دهید،
337
00:10:43,279 –> 00:10:44,800
اما در این مورد
338
00:10:44,800 –> 00:10:46,800
ما آن را به عنوان ردیابی دست میگذاریم
339
00:10:46,800 –> 00:10:48,320
و سپس از یک کاما و سپس کادر عبور میکنیم.
340
00:10:48,320 –> 00:10:50,240
بنابراین این تصویر واقعی ما را نشان می
341
00:10:50,240 –> 00:10:52,800
دهد، بنابراین به تابع cv2.iamshow،
342
00:10:52,800 –> 00:10:54,240
بنابراین این خط در اینجا
343
00:10:54,240 –> 00:10:56,000
از دو متغیر عبور می کنید، بنابراین
344
00:10:56,000 –> 00:10:57,360
از نام فریم عبور می کنید
345
00:10:57,360 –> 00:10:59,120
یا حداقل دو متغیری که می خواهیم از
346
00:10:59,120 –> 00:11:00,320
آنها عبور کنیم، نام آن است.
347
00:11:00,320 –> 00:11:01,200
قاب
348
00:11:01,200 –> 00:11:03,200
یا نام چیزی که واقعاً
349
00:11:03,200 –> 00:11:04,880
میخواهید خروجی شما باشد و همچنین تصویری
350
00:11:04,880 –> 00:11:06,240
که میخواهید نشان دهید
351
00:11:06,240 –> 00:11:08,640
و سپس همه چیز در اینجا کاملاً
352
00:11:08,640 –> 00:11:10,880
استاندارد است از نظر بستن با ظرافت
353
00:11:10,880 –> 00:11:11,760
پنجره
354
00:11:11,760 –> 00:11:13,440
شما پس از اتمام کار، بنابراین این
355
00:11:13,440 –> 00:11:14,800
اساساً میگویند که
356
00:11:14,800 –> 00:11:16,399
اگر q را روی صفحهکلید خود بزنید یا اگر
357
00:11:16,399 –> 00:11:17,760
پنجرهتان را ببندید،
358
00:11:17,760 –> 00:11:20,240
از حلقه خارج میشوید و فید را متوقف میکنید
359
00:11:20,240 –> 00:11:22,320
و پس از اجرا،
360
00:11:22,320 –> 00:11:25,959
وبکم خود را با استفاده از cap.release و
361
00:11:25,959 –> 00:11:28,000
cv2.destroyor بسته میشود. قاب ما
362
00:11:28,000 –> 00:11:29,279
363
00:11:29,279 –> 00:11:31,200
بنابراین همه چیز خوب و خوب است، بیایید ادامه دهیم
364
00:11:31,200 –> 00:11:32,640
و این را آزمایش کنیم، فقط مطمئن شوید
365
00:11:32,640 –> 00:11:34,240
که می توانیم فید خود را از وب کم خود دریافت کنیم،
366
00:11:34,240 –> 00:11:36,480
بنابراین اگر Shift enter را فشار دهیم، به
367
00:11:36,480 –> 00:11:37,839
نظر می رسد که کمی خطا
368
00:11:37,839 –> 00:11:39,279
داریم، اوه، باید دو برابر شود،
369
00:11:39,279 –> 00:11:42,880
بیایید دوباره آن را اجرا کنید
370
00:11:42,880 –> 00:11:44,399
و در حالت ایده آل باید کمی
371
00:11:44,399 –> 00:11:46,079
به سمت پایین صفحه در
372
00:11:46,079 –> 00:11:47,360
نوار وظیفه خود باز شوید و می توانید ببینید که همه چیز
373
00:11:47,360 –> 00:11:48,320
خوب و خوب است بنابراین
374
00:11:48,320 –> 00:11:50,399
وب کم من فعال شده است و می توانم فید خود را
375
00:11:50,399 –> 00:11:51,440
روی صفحه ببینم و می توانید ببینید که
376
00:11:51,440 –> 00:11:52,959
زیباست سریع
377
00:11:52,959 –> 00:11:55,600
همه چیز خیلی خوب به نظر می رسد، بله،
378
00:11:55,600 –> 00:11:56,000
هیچ چیز
379
00:11:56,000 –> 00:11:58,160
دیوانه کننده ای در آن لحظه وجود ندارد، بنابراین
380
00:11:58,160 –> 00:11:59,200
ما اکنون فید وب کم خود را دریافت کرده ایم،
381
00:11:59,200 –> 00:12:01,279
چیزی که در واقع می خواهیم
382
00:12:01,279 –> 00:12:03,839
انجام دهیم این است که روی
383
00:12:03,839 –> 00:12:05,200
آن قرار دهیم، بنابراین کاری که می خواهیم انجام دهیم این است که
384
00:12:05,200 –> 00:12:08,399
فید را از وبکم خود
385
00:12:08,399 –> 00:12:11,120
بگیرید و آن را به لوله انتقال دهید تا تشخیصها
386
00:12:11,120 –> 00:12:12,720
نتایج را به تصویر ارائه دهند
387
00:12:12,720 –> 00:12:14,560
که میتوانید ببینید که در حال حاضر
388
00:12:14,560 –> 00:12:16,880
فریم نامیده میشود، اما قبل از اینکه آن را به
389
00:12:16,880 –> 00:12:19,839
تابع cv2.imshow ارسال کنیم، در واقع تشخیصهای
390
00:12:19,839 –> 00:12:20,480
391
00:12:20,480 –> 00:12:22,160
مختلف خود را اعمال میکنیم. به آن
392
00:12:22,160 –> 00:12:24,079
تصویر خاص بنابراین، در حالت ایدهآل، چیزی که
393
00:12:24,079 –> 00:12:25,120
دریافت
394
00:12:25,120 –> 00:12:28,240
میکنید فقط یک فید وبکم نیست، بلکه یک فید وبکم
395
00:12:28,240 –> 00:12:30,079
با تمام آن تشخیصهای بیدرنگ
396
00:12:30,079 –> 00:12:34,399
اعمال شده است، بنابراین بیایید به جلو برویم و این کار را انجام
397
00:12:34,399 –> 00:12:36,000
دهیم تا گام به گام آن را انجام دهیم، بنابراین
398
00:12:36,000 –> 00:12:38,000
من نمیروم برای انجام همه این کارها در یک حرکت بزرگ،
399
00:12:38,000 –> 00:12:40,399
بنابراین ابتدا لوله رسانه را برای کار
400
00:12:40,399 –> 00:12:41,760
با این فید راهاندازی میکنیم و احتمالاً فقط
401
00:12:41,760 –> 00:12:43,200
نتایج خود را چاپ میکنیم و سپس
402
00:12:43,200 –> 00:12:44,959
کاری که در واقع انجام میدهیم و انجام میدهیم این است که رندر شود،
403
00:12:44,959 –> 00:12:53,839
پس بیایید ادامه دهیم و این کار را به درستی انجام
404
00:13:07,360 –> 00:13:09,120
دهید، بنابراین قبل از اینکه جلوتر برویم،
405
00:13:09,120 –> 00:13:10,560
بیایید در واقع به آنچه در اینجا داریم نگاهی بیندازیم،
406
00:13:10,560 –> 00:13:11,920
بنابراین من تا اینجا رفتم و دو
407
00:13:11,920 –> 00:13:13,200
خط جدید
408
00:13:13,200 –> 00:13:15,040
نوشتم، اما قبل از اینکه ادامه دهیم،
409
00:13:15,040 –> 00:13:16,320
میخواستم کمی از آن استفاده کنم.
410
00:13:16,320 –> 00:13:18,000
پس ابتدا کاری که ما انجام میدهیم این است که
411
00:13:18,000 –> 00:13:20,480
مدل دستهای لوله رسانه خود را نمونهسازی میکنیم،
412
00:13:20,480 –> 00:13:22,000
بنابراین اساساً از
413
00:13:22,000 –> 00:13:22,399
این
414
00:13:22,399 –> 00:13:24,959
با استفاده از عبارت with استفاده میکنیم، بنابراین با عقربههای نقطهای mp
415
00:13:24,959 –> 00:13:26,079
underscore
416
00:13:26,079 –> 00:13:28,720
و سپس از
417
00:13:28,720 –> 00:13:31,040
دو کلمه کلیدی عبور میکنیم. بنابراین این دو در اینجا
418
00:13:31,040 –> 00:13:32,880
به من اجازه می دهند روی آن بزرگنمایی کنم، بنابراین با
419
00:13:32,880 –> 00:13:34,079
گذر از
420
00:13:34,079 –> 00:13:35,760
تشخیص حداقل خط زیر، اعتماد به نفس و
421
00:13:35,760 –> 00:13:37,120
ما آن را روی 80 تنظیم می
422
00:13:37,120 –> 00:13:38,880
کنیم، در یک ثانیه به
423
00:13:38,880 –> 00:13:40,959
آن باز می گردم و سپس اطمینان زیرخط ردیابی حداقل
424
00:13:40,959 –> 00:13:41,600
425
00:13:41,600 –> 00:13:44,959
0.5 یا 50 برابر است و سپس
426
00:13:44,959 –> 00:13:47,600
با این متغیر بزرگ
427
00:13:47,600 –> 00:13:49,360
به عنوان عقربه متغیر کار می کنیم، بنابراین هر زمان که به آن اشاره کنیم.
428
00:13:49,360 –> 00:13:50,560
429
00:13:50,560 –> 00:13:52,639
430
00:13:52,639 –> 00:13:55,120
این دو معیار در اینجا یا این دو
431
00:13:55,120 –> 00:13:56,720
آرگومان کلیدواژه نشان دهنده
432
00:13:56,720 –> 00:13:58,959
دو چیز خاص هستند، بنابراین وقتی برای اولین بار
433
00:13:58,959 –> 00:14:00,639
از مدل عقربه لوله رسانه استفاده می
434
00:14:00,639 –> 00:14:02,160
کنید، دست شما
435
00:14:02,160 –> 00:14:04,079
و سپس از آن تصویر خاص تشخیص داده می شود.
436
00:14:04,079 –> 00:14:05,199
سپس دست را ردیابی می کند
437
00:14:05,199 –> 00:14:07,120
، بنابراین آنچه که ما اساساً
438
00:14:07,120 –> 00:14:08,959
در اینجا می گوییم این است که در ابتدا می خواهیم
439
00:14:08,959 –> 00:14:10,560
اطمینان تشخیص ما
440
00:14:10,560 –> 00:14:12,639
برای اولین تشخیص 80 باشد و سپس
441
00:14:12,639 –> 00:14:14,800
برای ردیابی اگر می خواهیم 50 باشد،
442
00:14:14,800 –> 00:14:16,800
بنابراین در حالت ایده آل این تعیین می کند که مدل ما چقدر دقیق
443
00:14:16,800 –> 00:14:18,160
است.
444
00:14:18,160 –> 00:14:21,199
اکنون می توانید آن را روی 100 تنظیم کنید،
445
00:14:21,199 –> 00:14:22,560
اما ممکن است همیشه تشخیص های کامل را دریافت
446
00:14:22,560 –> 00:14:23,920
447
00:14:23,920 –> 00:14:24,959
نکنید
448
00:14:24,959 –> 00:14:26,480
یا اگر آن را خیلی پایین تنظیم کنید ممکن است چیزی را تشخیص ندهد، ممکن است
449
00:14:26,480 –> 00:14:28,639
دقت مناسب را قربانی کنید، بنابراین دوباره
450
00:14:28,639 –> 00:14:29,680
451
00:14:29,680 –> 00:14:32,000
من 80 را برای اطمینان در تشخیص و
452
00:14:32,000 –> 00:14:33,839
50 برای اطمینان ردیابی را
453
00:14:33,839 –> 00:14:36,480
به عنوان معیارهای بسیار خوبی پیدا کردم، سپس خط بعدی
454
00:14:36,480 –> 00:14:38,240
که من در واقع اینجا نوشتم این است
455
00:14:38,240 –> 00:14:40,959
این یکی در اینجا، بنابراین آنچه که ما در
456
00:14:40,959 –> 00:14:42,720
ابتدا انجام خواهیم داد این است که ما در واقع
457
00:14:42,720 –> 00:14:44,320
قرار است
458
00:14:44,320 –> 00:14:46,720
فریمی را که از وبکم دریافت میکنیم مجدداً رنگآمیزی کنیم، بنابراین
459
00:14:46,720 –> 00:14:49,279
میتوانید ببینید که فریم ما در اینجا قرار دارد،
460
00:14:49,279 –> 00:14:50,720
کاری که میخواهیم انجام دهیم این است که
461
00:14:50,720 –> 00:14:53,199
آن را از bgr به rgb تبدیل
462
00:14:53,199 –> 00:14:55,680
میکنیم تا زمانی که یک فید از آن دریافت کنیم. opencv به
463
00:14:55,680 –> 00:14:56,639
طور پیشفرض
464
00:14:56,639 –> 00:14:58,720
رنگ تصویر با فرمت
465
00:14:58,720 –> 00:15:00,639
bgr خواهد بود، بنابراین آبی سبز
466
00:15:00,639 –> 00:15:03,199
قرمز است، اما برای کار با media pipe
467
00:15:03,199 –> 00:15:04,880
باید آن تصویر را به عنوان یک فرمت rgb به مدل تشخیص ارسال کنیم،
468
00:15:04,880 –> 00:15:06,160
469
00:15:06,160 –> 00:15:08,160
بنابراین اساساً در
470
00:15:08,160 –> 00:15:09,839
اطراف آرایههای رنگی جابجا
471
00:15:09,839 –> 00:15:11,920
میشود. در ابتدا قصد داریم
472
00:15:11,920 –> 00:15:13,199
473
00:15:13,199 –> 00:15:15,920
با استفاده از این خط در اینجا آن را از bgr به rgb تبدیل کنیم، بنابراین برای انجام
474
00:15:15,920 –> 00:15:17,120
این کار، تصویر را
475
00:15:17,120 –> 00:15:20,160
برابر با رنگ cv2.cvt میآوریم، بنابراین این تابع
476
00:15:20,160 –> 00:15:22,240
به ما اجازه میدهد تا یک تصویر را دوباره رنگآمیزی کنیم
477
00:15:22,240 –> 00:15:24,320
و سپس از فریمی
478
00:15:24,320 –> 00:15:26,399
که دریافت کردیم عبور میکنیم. از اینجا و سپس ما
479
00:15:26,399 –> 00:15:28,480
مشخص می کنیم که چه ترکیب رنگی n ما
480
00:15:28,480 –> 00:15:30,079
در واقع می خواهیم اعمال کنیم، بنابراین در
481
00:15:30,079 –> 00:15:31,120
این مورد،
482
00:15:31,120 –> 00:15:35,199
رنگ نقطه cv2 bgr egr2 rgb است، بنابراین می توانید ببینید
483
00:15:35,199 –> 00:15:36,480
که در
484
00:15:36,480 –> 00:15:39,759
حال حاضر چیزی که در نهایت
485
00:15:39,759 –> 00:15:40,000
قرار
486
00:15:40,000 –> 00:15:41,680
است انجام دهیم و به طور خاص کاری که
487
00:15:41,680 –> 00:15:43,360
اکنون می خواهیم انجام دهیم، درست است.
488
00:15:43,360 –> 00:15:45,680
پرچم قابل نوشتن تصویر خود را برابر با false قرار دهید،
489
00:15:45,680 –> 00:15:47,360
بنابراین ما را از کپی کردن
490
00:15:47,360 –> 00:15:49,440
تصویر و در حالت ایدهآل از آهنگهای عملکردی باز میدارد
491
00:15:49,440 –> 00:15:51,440
، سپس تشخیص میدهیم که
492
00:15:51,440 –> 00:15:53,360
آن را روی قابل نوشتن برابر با true تنظیم میکنیم و سپس
493
00:15:53,360 –> 00:15:55,600
آن را دوباره به bgr تغییر میدهیم تا
494
00:15:55,600 –> 00:15:57,440
باشد. قادر به ارائه نتایج خود هستیم،
495
00:15:57,440 –> 00:16:09,839
پس بیایید ادامه دهیم و این کار را
496
00:16:16,160 –> 00:16:19,279
خوب انجام دهیم، بنابراین ما اکنون بسیار خوب
497
00:16:19,279 –> 00:16:19,920
به نظر می رسیم، بنابراین ما رفتیم
498
00:16:19,920 –> 00:16:22,240
و پنج خط کد اضافی را در
499
00:16:22,240 –> 00:16:23,360
آنجا نوشتیم، بنابراین
500
00:16:23,360 –> 00:16:25,839
همه این خطوط، بنابراین بیایید در واقع
501
00:16:25,839 –> 00:16:27,600
این را تقسیم کنیم، بنابراین ابتدا آنچه را انجام دادیم مشخص کنیم. آیا
502
00:16:27,600 –> 00:16:29,279
ما در واقع تصویر خود را تغییر رنگ دادیم، بنابراین
503
00:16:29,279 –> 00:16:30,480
به bgr به rgb رفتیم،
504
00:16:30,480 –> 00:16:33,519
سپس کاری که انجام دادیم این است که رفتیم
505
00:16:33,519 –> 00:16:34,480
و پرچم قابل نوشتن خود را
506
00:16:34,480 –> 00:16:36,079
برابر false قرار دادیم تا این کار را انجام دهیم
507
00:16:36,079 –> 00:16:37,759
که تصویر نقطه پرچم
508
00:16:37,759 –> 00:16:40,639
نقطه قابل نوشتن برابر با false است، پس دوباره
509
00:16:40,639 –> 00:16:42,560
پرچم را تنظیم
510
00:16:42,560 –> 00:16:44,000
کنیم و آنچه را که در واقع انجام دادیم رفت و این کار را کرد
511
00:16:44,000 –> 00:16:45,839
این خط اینجاست احتمالاً
512
00:16:45,839 –> 00:16:47,360
مهمترین خط از همه اینها است، بنابراین
513
00:16:47,360 –> 00:16:48,959
این در واقع در حال انجام است و
514
00:16:48,959 –> 00:16:50,639
باعث می شود که تشخیص ما به گونه ای انجام شود که ما
515
00:16:50,639 –> 00:16:51,759
نتایج را نوشته ایم
516
00:16:51,759 –> 00:16:54,240
برابر فرآیند نقطه عقربه ها و سپس
517
00:16:54,240 –> 00:16:55,839
از تصویر خود عبور کرده ایم
518
00:16:55,839 –> 00:16:57,680
که پرچم خود را دارد. روی false تنظیم کنید
519
00:16:57,680 –> 00:16:59,920
و همچنین به rgb تبدیل میشود، بنابراین
520
00:16:59,920 –> 00:17:01,759
در واقع تشخیصهای ما را تشخیص میدهد،
521
00:17:01,759 –> 00:17:04,880
سپس ما رفتهایم و میگوییم که
522
00:17:04,880 –> 00:17:06,000
پرچم قابل نوشتن ما
523
00:17:06,000 –> 00:17:07,760
به حالت true برمیگردد، بنابراین این به ما اجازه
524
00:17:07,760 –> 00:17:10,000
میدهد به این تصویر خاص رندر کنیم یا
525
00:17:10,000 –> 00:17:12,079
روی این تصویر خاص ترسیم کنیم.
526
00:17:12,079 –> 00:17:16,720
ما آن پرچم را روی true تنظیم کردیم
527
00:17:16,720 –> 00:17:18,160
و سپس کاری که رفتیم و انجام
528
00:17:18,160 –> 00:17:20,079
دادیم این بود که رفته بودیم و دوباره آن را
529
00:17:20,079 –> 00:17:22,319
به bgr رنگآمیزی کردیم، بنابراین دوباره
530
00:17:22,319 –> 00:17:23,919
آن را از rgb
531
00:17:23,919 –> 00:17:26,240
به bgr تبدیل کردیم و سپس کاری که انجام میدهیم آیا
532
00:17:26,240 –> 00:17:27,520
ما در واقع در حال چاپ کردن
533
00:17:27,520 –> 00:17:28,720
نتایج تشخیص خود
534
00:17:28,720 –> 00:17:30,400
در اینجا هستیم، بنابراین این باید در واقع به ما اجازه دهد
535
00:17:30,400 –> 00:17:33,280
که تشخیص های خود را ببینیم
536
00:17:33,280 –> 00:17:34,960
و برای انجام آن کاری که چاپ
537
00:17:34,960 –> 00:17:37,120
کرده ایم و سپس نتایج رمز عبور را انجام دهیم،
538
00:17:37,120 –> 00:17:38,919
بنابراین روی این پرچم ها نیز
539
00:17:38,919 –> 00:17:40,880
image.flags را تنظیم خواهیم کرد. Writable برابر با true و
540
00:17:40,880 –> 00:17:42,080
سپس conver است بازگشت
541
00:17:42,080 –> 00:17:45,520
به bgr تصویر نوشته شده برابر است با
542
00:17:45,520 –> 00:17:48,160
رنگ نقطه cvt از این تصویر
543
00:17:48,160 –> 00:17:49,760
در اینجا عبور کنید یا تقریباً تصویری را که
544
00:17:49,760 –> 00:17:50,960
در اینجا تنظیم کردیم
545
00:17:50,960 –> 00:17:53,440
و سپس به جای اینکه bgr به rgb داشته
546
00:17:53,440 –> 00:17:54,799
باشیم مانند آنچه در اینجا انجام
547
00:17:54,799 –> 00:17:57,679
دادیم، در واقع رفته ایم و آن را روی rgb تنظیم کرده ایم. به
548
00:17:57,679 –> 00:17:59,760
bgr برای تبدیل مجدد آن به pgr،
549
00:17:59,760 –> 00:18:01,280
بنابراین از هماکنون
550
00:18:01,280 –> 00:18:03,120
هیچ چیزی رندر شده برای تصویر ما نمیبینید،
551
00:18:03,120 –> 00:18:04,160
همچنان همان
552
00:18:04,160 –> 00:18:07,039
تصویر