در این مطلب، ویدئو تشخیص بیدرنگ رنگ (وب کم) [8] | آموزش OpenCV پایتون برای مبتدیان 2020 با زیرنویس فارسی را برای دانلود قرار داده ام. شما میتوانید با پرداخت 15 هزار تومان ، این ویدیو به علاوه تمامی فیلم های سایت را دانلود کنید.اکثر فیلم های سایت به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
مدت زمان فیلم: 00:17:35
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
00:00:00,030 –> 00:00:02,879
سلام به همه امروز ما چیز
2
00:00:02,879 –> 00:00:05,879
خاصی داریم که میخواهیم یاد بگیریم که چگونه
3
00:00:05,879 –> 00:00:09,150
هر رنگی را در یک تصویر
4
00:00:09,150 –> 00:00:12,840
در زمان واقعی تشخیص دهیم، می توانید ببینید ما یک
5
00:00:12,840 –> 00:00:15,690
لامبورگینی نارنجی داریم که
6
00:00:15,690 –> 00:00:26,460
اگر دوربینم را به اطراف حرکت دهم می توانید آن را به خوبی ردیابی
7
00:00:26,460 –> 00:00:28,470
کنید. مشترک نیستید اما لطفاً این کار را انجام دهید و
8
00:00:28,470 –> 00:00:30,150
زنگ اعلان را بزنید تا
9
00:00:30,150 –> 00:00:32,430
هیچ یک از ویدیوهای آینده را از دست ندهید،
10
00:00:32,430 –> 00:00:35,550
بنابراین بیایید
11
00:00:35,550 –> 00:00:42,460
[Music] را شروع کنیم،
12
00:00:42,460 –> 00:00:46,070
بنابراین در اینجا ما کد جریان وبکم خود
13
00:00:46,070 –> 00:00:49,070
را داریم و اساساً
14
00:00:49,070 –> 00:00:50,570
کتابخانهها را وارد میکنیم.
15
00:00:50,570 –> 00:00:53,690
دوربین را مقداردهی اولیه می کنیم و سپس یک حلقه while داریم
16
00:00:53,690 –> 00:00:56,240
که تکرار می شود و خروجی هر فریم را به ما می دهد،
17
00:00:56,240 –> 00:00:59,890
بنابراین تصویر در متغیر IMG ما ذخیره می شود،
18
00:00:59,890 –> 00:01:05,930
بنابراین اگر اکنون این را اجرا کنم
19
00:01:05,930 –> 00:01:09,740
، خروجی وب کم را خواهید دید
20
00:01:09,740 –> 00:01:14,630
که ماشین روی یک دراز کشیده است. فرش، بنابراین
21
00:01:14,630 –> 00:01:17,119
ما میخواهیم با تبدیل
22
00:01:17,119 –> 00:01:21,530
این تصویر که BGR است به HSV شروع کنیم، اکنون
23
00:01:21,530 –> 00:01:24,460
آنچه HSV است HSV یک فضای رنگی است که
24
00:01:24,460 –> 00:01:28,160
کاملاً با روشی که انسانها
25
00:01:28,160 –> 00:01:31,610
تصور میکنند در دهه 1970 اختراع شده است، همسو
26
00:01:31,610 –> 00:01:34,850
است و کار با آن کمی سادهتر است.
27
00:01:34,850 –> 00:01:37,850
به جای فضای رنگی BGR یا RGB
28
00:01:37,850 –> 00:01:41,180
بنابراین ما از فضای رنگی HSV استفاده می کنیم
29
00:01:41,180 –> 00:01:43,580
که اشباع رنگ است و
30
00:01:43,580 –> 00:01:47,810
مقدار شما این است که اشباع
31
00:01:47,810 –> 00:01:51,020
رنگ چقدر خالص است و
32
00:01:51,020 –> 00:01:53,810
مقدار روشن بودن رنگ است بنابراین
33
00:01:53,810 –> 00:01:56,600
تصویر خود را به HSV بنابراین ما
34
00:01:56,600 –> 00:02:05,900
آن را mg3 برابر با CB به نقطه c bt رنگ می نامیم
35
00:02:05,900 –> 00:02:10,429
، می خواهیم تصویر خود را به
36
00:02:10,429 –> 00:02:14,870
رنگ دو نقطه ای CV تبدیل کنیم و می گوییم که
37
00:02:14,870 –> 00:02:21,130
باید آن را از یک BG r به HS تبدیل کنیم
38
00:02:21,130 –> 00:02:25,450
بنابراین این رنگ تصویر ما را تغییر می دهد. در
39
00:02:25,450 –> 00:02:28,340
فضای رنگی HSV، پس بیایید چاپ کنیم و
40
00:02:28,340 –> 00:02:32,709
ببینیم چگونه به نظر می رسد
41
00:02:34,530 –> 00:02:40,170
تا زمانی که یک روش mths داشته باشیم و من نمی
42
00:02:40,170 –> 00:02:55,719
گویم رنگ می کنیم، بنابراین در اینجا می توانیم
43
00:02:55,719 –> 00:02:59,139
تفاوت بین فضای رنگی PGR و HSV
44
00:02:59,139 –> 00:03:02,170
را ببینیم و می توانیم ببینیم که رنگ ها
45
00:03:02,170 –> 00:03:04,659
آنها بسیار بیشتر ظاهر می شوند، بنابراین ما
46
00:03:04,659 –> 00:03:10,120
می خواهیم طیفی از رنگ ها را از این مقادیر HSV دریافت
47
00:03:10,120 –> 00:03:12,220
کنیم تا بتوانیم یک
48
00:03:12,220 –> 00:03:15,879
رنگ خاص را تشخیص دهیم، بنابراین اکنون باید بدانیم
49
00:03:15,879 –> 00:03:20,590
که سه متغیر HSN داریم، اما برای هر
50
00:03:20,590 –> 00:03:22,989
یک از آنها در واقع به دو مقدار نیاز داریم
51
00:03:22,989 –> 00:03:25,359
زیرا ما به یک محدوده نیاز داریم بنابراین به
52
00:03:25,359 –> 00:03:28,060
حداقل و حداکثر برای مثال ما نیاز داریم
53
00:03:28,060 –> 00:03:30,280
به حداقل رنگ و حداکثر رنگ
54
00:03:30,280 –> 00:03:32,829
و سپس حداقل اشباع حداکثر
55
00:03:32,829 –> 00:03:36,040
اشباع و غیره نیاز داریم، اما ما
56
00:03:36,040 –> 00:03:38,590
این مقادیر را نمی دانیم، بنابراین باید
57
00:03:38,590 –> 00:03:40,510
با آنها بازی کنیم تا به
58
00:03:40,510 –> 00:03:42,549
نتایج دلخواه برسیم، بنابراین برای انجام این کار
59
00:03:42,549 –> 00:03:44,409
قصد داریم آن را معرفی کنیم. چیزی
60
00:03:44,409 –> 00:03:47,769
که به عنوان نوار مسیر شناخته می شود نوار ردیابی
61
00:03:47,769 –> 00:03:49,629
فقط یک نوار لغزنده است که به جلو و عقب حرکت می کند
62
00:03:49,629 –> 00:03:53,530
و مقدار آن را تغییر می دهد و OpenCV
63
00:03:53,530 –> 00:03:56,680
عملکرد بسیار خوبی برای این کار دارد بنابراین برای
64
00:03:56,680 –> 00:03:58,689
معرفی آن می خواهیم پنجره جدید خود را نام گذاری کنیم
65
00:03:58,689 –> 00:04:00,729
که در آن معرفی خواهیم کرد.
66
00:04:00,729 –> 00:04:02,979
این نوارهای آهنگ را می نویسیم، بنابراین ما
67
00:04:02,979 –> 00:04:07,930
نقطه CB 2 را با نام نام پنجره می نویسیم و
68
00:04:07,930 –> 00:04:11,189
پنجره خود را به عنوان آدرس ما نام گذاری می کنیم و
69
00:04:11,189 –> 00:04:14,650
سپس می گوییم که می خواهیم اندازه
70
00:04:14,650 –> 00:04:18,849
پنجره خود را تغییر اندازه دهیم، پنجره ای که می خواهیم اندازه HS را تغییر
71
00:04:18,849 –> 00:04:21,699
دهیم و سپس اندازه آن را تغییر می دهیم.
72
00:04:21,699 –> 00:04:27,849
فرض کنید 640 در دو چهل و شش در
73
00:04:27,849 –> 00:04:31,810
240 و سپس ما می خواهیم نوار آهنگ خود را ایجاد کنیم
74
00:04:31,810 –> 00:04:36,940
تا CB به صورت نقطه ای نوار آهنگ ایجاد کند
75
00:04:36,940 –> 00:04:41,380
و مقدار خود را که hue است نام گذاری می
76
00:04:41,380 –> 00:04:45,590
کنیم و می گوییم حداقل است
77
00:04:45,590 –> 00:04:48,560
و می خواهیم آن را در پنجره HSV قرار
78
00:04:48,560 –> 00:04:53,350
دهید تا اکنون ما باید
79
00:04:53,350 –> 00:04:58,850
مقدار شروع را به مقدار پیش فرض تعریف کنیم در
80
00:04:58,850 –> 00:05:02,450
حالت عادی ما رنگ را از صفر
81
00:05:02,450 –> 00:05:06,860
تا 360 داریم، اما در CV باز آن را از
82
00:05:06,860 –> 00:05:11,780
صفر تا 180 پس از صفر تا 179 تا 180 مقدار
83
00:05:11,780 –> 00:05:14,570
داریم بنابراین می گوییم که مقدار اولیه ما
84
00:05:14,570 –> 00:05:15,139
صفر است.
85
00:05:15,139 –> 00:05:20,000
و حداکثر مقدار ما 179 است و بعد از
86
00:05:20,000 –> 00:05:22,820
آن تابعی را تعریف می کنیم
87
00:05:22,820 –> 00:05:25,310
که باید هر بار که
88
00:05:25,310 –> 00:05:30,080
رویداد نوار آهنگ فراخوانی شود، بنابراین ما حقوق خواهیم داشت که
89
00:05:30,080 –> 00:05:32,120
لازم نیست چیزی اینجا بنویسیم، اما
90
00:05:32,120 –> 00:05:34,820
باید تابع را تعریف کنیم و می توانیم
91
00:05:34,820 –> 00:05:38,600
این تابع را خالی تعریف کنید و
92
00:05:38,600 –> 00:05:44,350
می گوییم که اگر فراخوانی شد فقط پاس دهید،
93
00:05:44,350 –> 00:05:48,440
بنابراین اگر اکنون این را اجرا کنیم باید بتوانیم
94
00:05:48,440 –> 00:05:50,990
یک نوار آهنگ را ببینیم، بنابراین در اینجا یک
95
00:05:50,990 –> 00:05:53,660
پنجره به نام HSV داریم و یک
96
00:05:53,660 –> 00:05:56,900
humanum um داریم که از صفر می رود. به یک
97
00:05:56,900 –> 00:05:59,780
هفت نه، بنابراین به این ترتیب ما می خواهیم
98
00:05:59,780 –> 00:06:02,479
بقیه نوارهای مسیر را معرفی کنیم، بنابراین
99
00:06:02,479 –> 00:06:04,729
حداقل رنگ حداکثر
100
00:06:04,729 –> 00:06:07,190
اشباع حداکثر مقدار اشباع حداقل مقدار حداقل
101
00:06:07,190 –> 00:06:12,560
و مقدار حداکثر، بنابراین در اینجا می توانید ببینید که من
102
00:06:12,560 –> 00:06:14,840
بقیه نوارهای آهنگ را یادداشت کرده
103
00:06:14,840 –> 00:06:17,090
ام و من. مقدارها را
104
00:06:17,090 –> 00:06:19,400
کمی تغییر دادم همانطور که می بینید همه
105
00:06:19,400 –> 00:06:22,340
مینیمم ها صفر هستند و همه ماکزیمم
106
00:06:22,340 –> 00:06:25,190
ها در واقع حداکثر مقادیر هستند بنابراین در
107
00:06:25,190 –> 00:06:28,639
رنگ حداکثر تا 179 را داریم اما
108
00:06:28,639 –> 00:06:31,310
در اشباع و
109
00:06:31,310 –> 00:06:35,180
مقدار حداکثر تا 255 داریم بنابراین حداقل
110
00:06:35,180 –> 00:06:38,090
صفر و حداکثر خواهد بود. مقادیر پیشفرض 255 خواهد بود،
111
00:06:38,090 –> 00:06:41,900
بنابراین اگر اکنون اجرا را فشار دهم
112
00:06:41,900 –> 00:06:47,419
باید شش نوار آهنگ را ببینیم، اوه
113
00:06:47,419 –> 00:06:50,380
کجا رفت، بله، بنابراین میتوانیم شش نوار آهنگ را ببینیم،
114
00:06:50,380 –> 00:06:54,380
بنابراین حداقل حداکثر حداقل حداکثر و
115
00:06:54,380 –> 00:06:55,400
حداقل، و
116
00:06:55,400 –> 00:06:58,550
میتوانیم آن را در حال حاضر تغییر دهیم که باید
117
00:06:58,550 –> 00:07:00,380
انجام دهیم. ما باید این مقادیر
118
00:07:00,380 –> 00:07:02,870
این نوارهای آهنگ را دریافت کنیم و سپس
119
00:07:02,870 –> 00:07:06,820
میخواهیم بگوییم که خوب، باید
120
00:07:06,820 –> 00:07:09,289
با استفاده از این مقادیر فیلتر کنید، باید یک رنگ را فیلتر کنید،
121
00:07:09,289 –> 00:07:13,310
بنابراین بیایید این کار را انجام دهیم که
122
00:07:13,310 –> 00:07:16,639
به حلقه while خود میرویم و در اینجا
123
00:07:16,639 –> 00:07:19,280
این مقادیر را میگیریم. بنابراین ما آنها را در متغیرها قرار می دهیم
124
00:07:19,280 –> 00:07:23,389
بنابراین H فرض کنید حداقل
125
00:07:23,389 –> 00:07:28,419
برابر است با C v2 dot موقعیت نوار مسیر را دریافت کنید
126
00:07:28,419 –> 00:07:31,940
و می
127
00:07:31,940 –> 00:07:37,030
گوییم نام نوار آهنگ را که
128
00:07:37,030 –> 00:07:44,810
حداقل U است یادداشت می کنیم و سپس می گوییم که این
129
00:07:44,810 –> 00:07:53,090
در دسترس است HS ما پنجره بنابراین
130
00:07:53,090 –> 00:07:56,720
ما دریافت می کنیم آن را از آنجا می بینیم، بنابراین بیایید ببینیم
131
00:07:56,720 –> 00:08:00,490
چاپ آن را چاپ کنیم H
132
00:08:00,490 –> 00:08:04,690
حداقل زیرخط، پس بیایید آن را امتحان کنیم،
133
00:08:04,690 –> 00:08:07,910
بنابراین اکنون مقدار همانطور که در
134
00:08:07,910 –> 00:08:10,130
چاپ مشاهده می کنید، صفر می شود، اگر آن را جابه
135
00:08:10,130 –> 00:08:12,440
جا کنم، می توانید تغییرات مقدار را ببینید، بنابراین
136
00:08:12,440 –> 00:08:17,120
ما در حال دریافت خود هستیم مقدار، بنابراین، من
137
00:08:17,120 –> 00:08:21,530
بقیه آنها را یادداشت می کنم، بنابراین در اینجا
138
00:08:21,530 –> 00:08:24,260
می توانید ببینید که اکنون H حداقل H
139
00:08:24,260 –> 00:08:27,260
max s حداقل دارای مقادیر حداکثر
140
00:08:27,260 –> 00:08:30,409
V حداقل و V Max است، بنابراین در اینجا تمام کاری
141
00:08:30,409 –> 00:08:34,339
که من انجام دادم این بود که این نام ها را جایگزین این
142
00:08:34,339 –> 00:08:36,650
رشته ها کنم و بس. پنجره
143
00:08:36,650 –> 00:08:39,559
ثا