در این مطلب، ویدئو تشخیص شکل ساده – Opencv با پایتون 3 با زیرنویس فارسی را برای دانلود قرار داده ام. شما میتوانید با پرداخت 15 هزار تومان ، این ویدیو به علاوه تمامی فیلم های سایت را دانلود کنید.اکثر فیلم های سایت به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
00:00:00,410 –> 00:00:02,970
سلام و به این آموزش ویدیویی جدید خوش آمدید،
2
00:00:02,970 –> 00:00:05,910
ما میخواهیم
3
00:00:05,910 –> 00:00:09,870
تشخیص شکل واقعاً ابتدایی را با CV باز ببینیم،
4
00:00:09,870 –> 00:00:13,940
به عنوان مثال این تصویر به نام
5
00:00:13,940 –> 00:00:19,859
اشکال را در نظر بگیریم.
6
00:00:19,859 –> 00:00:24,480
7
00:00:24,480 –> 00:00:26,910
8
00:00:26,910 –> 00:00:29,340
سبزه مربع است و
9
00:00:29,340 –> 00:00:35,880
این مستطیل است بیایید ببینیم چگونه این کار را انجام
10
00:00:35,880 –> 00:00:45,200
می دهیم که CV را وارد می کنیم – numpy را به عنوان
11
00:00:45,200 –> 00:00:49,200
MP وارد می کنیم تصویر را بارگذاری می کنیم mg برابر است با C
12
00:00:49,200 –> 00:01:00,539
2 که در قرمز و che dot jpg می خواهیم
13
00:01:00,539 –> 00:01:02,760
این تصویر را بخوانیم در فرمت خاکستری
14
00:01:02,760 –> 00:01:04,709
چون نیازی به استفاده از هیچ رنگی
15
00:01:04,709 –> 00:01:08,189
برای تشخیص شکل نیست، بنابراین C ما در
16
00:01:08,189 –> 00:01:11,700
مقیاس خاکستری خواندن خیلی نقطه می کنیم، بیایید تصویر را به دلیل
17
00:01:11,700 –> 00:01:18,930
آن تصویر نشان دهیم اشکال EMG وزن
18
00:01:18,930 –> 00:01:25,530
داده شده بنابراین CV به طوری که y 0 و در نهایت
19
00:01:25,530 –> 00:01:30,360
آن را ببینیم تا تمام ویندوزها را نابود کنید، بیایید
20
00:01:30,360 –> 00:01:32,400
کد را اجرا کنیم تا ببینیم آیا همه چیز درست است
21
00:01:32,400 –> 00:01:36,229
یا نه و اینجاست که همه شکل ها را داریم.
22
00:01:36,229 –> 00:01:38,880
یک چیزی که در ابتدا می توانیم متوجه
23
00:01:38,880 –> 00:01:42,649
شویم این است که همه آنها رنگ های متفاوتی دارند و
24
00:01:42,649 –> 00:01:46,020
منظور من گرادیان متفاوت است،
25
00:01:46,020 –> 00:01:48,630
این یکی واقعاً واضح است. تیره تر از
26
00:01:48,630 –> 00:01:52,350
این o واقعاً تاریک است و غیره
27
00:01:52,350 –> 00:01:56,340
ما نیازی به این نداریم که برای داشتن اشکال
28
00:01:56,340 –> 00:01:59,969
فقط سیاه و سفید نیاز داریم، بنابراین اکنون به
29
00:01:59,969 –> 00:02:05,659
آستانه آستانه نیاز داریم آستانه زیر خط
30
00:02:05,659 –> 00:02:09,318
برابر است با C V بنابراین
31
00:02:09,318 –> 00:02:13,110
آستانه نقطه تصویر
32
00:02:13,110 –> 00:02:22,160
ما مقدار مثلاً 200 می دهیم. و 255 و
33
00:02:22,160 –> 00:02:27,750
ببینید ما آن باینری سطل زباله را انداختیم، بیایید
34
00:02:27,750 –> 00:02:30,840
ببینیم با این آستانه چه چیزی به دست میآوریم، در واقع
35
00:02:30,840 –> 00:02:33,660
من آن را نشان نمیدهم، بنابراین بیایید
36
00:02:33,660 –> 00:02:38,820
سطل زباله Savita dot را در آستانه نمایش نشان دهیم
37
00:02:38,820 –> 00:02:47,730
و آستانه این تصویر را از دست دادهایم،
38
00:02:47,730 –> 00:02:51,960
بنابراین باید همیشه آن را بسازم. تصویر Brother را بگیرید
39
00:02:51,960 –> 00:02:56,490
پس آستانه چقدر است ابتدا
40
00:02:56,490 –> 00:02:59,340
باید بدانیم که مقدار هر
41
00:02:59,340 –> 00:03:02,190
پیکسل از صفر می رود که یک سیاه
42
00:03:02,190 –> 00:03:06,570
است به 2055 که سفید است و در
43
00:03:06,570 –> 00:03:07,890
وسط شیب های مختلفی وجود دارد
44
00:03:07,890 –> 00:03:10,830
این یکی بسیار تاریک است بنابراین
45
00:03:10,830 –> 00:03:15,380
به صفر نزدیک تر است. و این یکی به 255 نزدیک تر است،
46
00:03:15,380 –> 00:03:20,250
اکنون می خواهیم تمام پیکسل های
47
00:03:20,250 –> 00:03:22,860
زیر یک عدد مرکزی را به صفر برسانیم و
48
00:03:22,860 –> 00:03:25,830
تمام پیکسل های زیر یک عدد دیگر را به 2055
49
00:03:25,830 –> 00:03:28,440
برسانیم، بنابراین ما فقط در واقع
50
00:03:28,440 –> 00:03:32,040
استقبال خواهیم کرد، بنابراین فقط سفید و
51
00:03:32,040 –> 00:03:38,280
سیاه خواهیم داشت. ما می گوییم که همه مقدار پیکسل
52
00:03:38,280 –> 00:03:44,340
زیر 255 20:45 سیاه خواهد بود تمام
53
00:03:44,340 –> 00:03:49,430
مقدار پیکسل بالا سفید خواهد بود
54
00:03:50,600 –> 00:03:55,200
همه چیز درست کار می کند اینجا
55
00:03:55,200 –> 00:03:57,810
همه اشکال سیاه و سفید را داریم فقط برای
56
00:03:57,810 –> 00:04:01,680
کار روی اولین چیزی که باید بدانیم
57
00:04:01,680 –> 00:04:05,459
چگونه می توانیم ابتدا شکل را تشخیص
58
00:04:05,459 –> 00:04:11,070
دهیم. اشکالی را داشته باشید که میتوانیم از تابع ترسیم
59
00:04:11,070 –> 00:04:13,950
کانتور استفاده کنیم، اگر نمیدانید چیست
60
00:04:13,950 –> 00:04:16,829
، میتوانید ویدیوی دیگری را که
61
00:04:16,829 –> 00:04:19,440
در مجموعه آموزش رایگان در YouTube
62
00:04:19,440 –> 00:04:23,520
در مورد پیدا کردن و ترسیم کانتورها در یوتیوب ساختهام، بررسی کنید یا
63
00:04:23,520 –> 00:04:24,760
حتی ونیزی در اینجا کافی است،
64
00:04:24,760 –> 00:04:28,630
پس بیایید بیایید این
65
00:04:28,630 –> 00:04:33,760
شمارندههای خطوط را پیدا کنید، سه مقدار را برمیگرداند
66
00:04:33,760 –> 00:04:37,840
که ما فقط به یکی نیاز داریم، بنابراین وقتی
67
00:04:37,840 –> 00:04:41,460
به اولین
68
00:04:41,460 –> 00:04:43,990
مورد نیاز نداریم، آن را
69
00:04:43,990 –> 00:04:48,820
زیر خط
70
00:04:48,820 –> 00:04:53,230
71
00:04:53,230 –> 00:04:57,430
بکشید. برای پیدا کردن آنها
72
00:04:57,430 –> 00:05:03,660
در آستانه، حالت CV به نقطه قرمز
73
00:05:03,660 –> 00:05:09,850
قرمز است سه فقط مولاریته برای پیدا
74
00:05:09,850 –> 00:05:13,420
کردن مسیر روی خطوط است، نه اجازه
75
00:05:13,420 –> 00:05:16,270
دهید وارد جزئیات در مورد این نشویم و سپس C
76
00:05:16,270 –> 00:05:19,020
ما به صورت نقطه زنجیر شده در
77
00:05:19,020 –> 00:05:25,510
پراگ شناخته شده است، خوب یک توضیح سریع
78
00:05:25,510 –> 00:05:27,670
79
00:05:27,670 –> 00:05:31,930
اگر به عنوان مثال در یک کانتور
80
00:05:31,930 –> 00:05:37,270
خطی داشته باشیم که زنجیر کرده ایم تقریبی وجود ندارد،
81
00:05:37,270 –> 00:05:40,180
در این مورد،
82
00:05:40,180 –> 00:05:42,460
شمارش فقط تمام نقاط اطراف یک
83
00:05:42,460 –> 00:05:46,720
منطقه خاص است، در این مورد ما
84
00:05:46,720 –> 00:05:51,730
دقیقاً به آن اشاره خواهیم کرد، این زنجیره چیست. هر نقطه اگر
85
00:05:51,730 –> 00:05:54,700
بگوییم به عنوان مثال زنجیره تقریباً ساده است اگر
86
00:05:54,700 –> 00:05:57,160
یک خط وجود داشته باشد نیازی به دادن
87
00:05:57,160 –> 00:05:59,830
تمام نقاط نیست شما فقط می توانید یک
88
00:05:59,830 –> 00:06:01,420
نقطه و نقطه دوم را بدهید و سپس
89
00:06:01,420 –> 00:06:03,490
خط را وصل کنید نتیجه یکسان خواهد بود
90
00:06:03,490 –> 00:06:06,970
بنابراین طول می کشد.
91
00:06:06,970 –> 00:06:09,370
تقریب های حافظه کمتر در واقع بیایید تقریباً
92
00:06:09,370 –> 00:06:11,710
ساده بگوییم نتیجه یکسان
93
00:06:11,710 –> 00:06:17,050
خواهد بود اما حافظه کمتری می گیرد. ما
94
00:06:17,050 –> 00:06:21,790
خطوط را داریم و می توانیم آنها را روی
95
00:06:21,790 –> 00:06:35,069
تصویر اصلی برای CNT در
96
00:06:35,069 –> 00:06:41,289
خطوط ترسیم کنیم.
97
00:06:41,289 –> 00:06:55,659
تصویر روی EMG خطوط CNT آن من
98
00:06:55,659 –> 00:06:57,849
چیزی را از دست داده
99
00:06:57,849 –> 00:07:03,180
ام که کلمات را برای این مقدار صفر به یاد آوردم
100
00:07:05,900 –> 00:07:08,669
[موسیقی]
101
00:07:08,669 –> 00:07:12,969
تمام capo این یکی است برای کنترل برای بستن
102
00:07:12,969 –> 00:07:15,659
آن احتمالاً به هر حال خطوط را بکشید
103
00:07:15,659 –> 00:07:21,580
و سپس رنگ رنگ
104
00:07:21,580 –> 00:07:27,639
آنها را سیاه و سفید بکشیم تا صفر و این
105
00:07:27,639 –> 00:07:30,870
باید باشد کافی
106
00:07:31,680 –> 00:07:33,639
است نتیجه را ببینیم
107
00:07:33,639 –> 00:07:36,789
بله ما آنها را ترسیم می کنیم، می توانید
108
00:07:36,789 –> 00:07:41,020
اینجا را ببینید بیایید اندازه را کمی بزرگتر
109
00:07:41,020 –> 00:07:43,689
بدهیم تا اندازه کانتو
110
00:07:43,689 –> 00:07:49,569
را نتوانیم مثلاً پنج بشنویم و می توانیم همه این
111
00:07:49,569 –> 00:07:57,490
خطوط سیاه را که می توانیم ببینیم، زیرا
112
00:07:57,490 –> 00:08:03,459
تصویر کامل نیست. که در اینجا ممکن است
113
00:08:03,459 –> 00:08:05,800
برخی از پیکسلها را از دست بدهد که کمی بیرون میآیند، به
114
00:08:05,800 –> 00:08:08,469
عنوان مثال، حتی مثلث مانند یک
115
00:08:08,469 –> 00:08:11,289
خط کامل نیست
116
00:08:11,289 –> 00:08:14,229
، اگر میخواهید به
117
00:08:14,229 –> 00:08:17,909
Techcon شکلی که میتواند
118
00:08:17,909 –> 00:08:20,319
مشکلساز باشد، کمی از پیکسل خارج میشود. استفاده برای
119
00:08:20,319 –> 00:08:24,279
تشخیص شکل، شمارش تمام رئوس
120
00:08:24,279 –> 00:08:28,029
هایی است که در آن خط تبدیل می شود، بنابراین در مربع
121
00:08:28,029 –> 00:08:31,240
می دانیم که در یک مثلث چهار
122
00:08:31,240 –> 00:08:36,490
داریم، سه در مستطیل 4 در
123
00:08:36,490 –> 00:08:39,309
پنتاگون پنج برای دایره داریم و
124
00:08:39,309 –> 00:08:41,400
بیضی ها کمی متفاوت هستند.
125
00:08:41,400 –> 00:08:46,380
باید روی آن کار کنیم، بنابراین اگر
126
00:08:46,380 –> 00:08:48,060
نقصی داریم که می تواند مشکل ساز باشد،
127
00:08:48,060 –> 00:08:53,420
زیرا با
128
00:08:53,420 –> 00:08:55,650
تابع contours رئوس بیشتری می گیریم، تابع دیگری داریم
129
00:08:55,650 –> 00:08:59,240
که به ما این شانس را می دهد که
130
00:08:59,240 –> 00:09:05,940
چند ضلعی را تقریب بزنیم تا این
131
00:09:05,940 –> 00:09:08,640
نقص کوچک را برطرف کنیم.
132
00:09:08,640 –> 00:09:13,430
مقداری می دهیم بیایید ببینیم چگونه کار می کند
133
00:09:13,940 –> 00:09:17,160
پس این ترسیم
134
00:09:17,160 –> 00:09:20,820
کانتورها بیایید اکنون کانتورهای رو به بالا را تقریب
135
00:09:20,820 –> 00:09:23,880
136
00:09:23,880 –> 00:09:30,960
137
00:09:30,960 –> 00:09:31,770
138
00:09:31,770 –> 00:09:35,790
139
00:09:35,790 –> 00:09:41,580
بزنیم.
140
00:09:41,580 –> 00:09:42,510
تقریبی
141
00:09:42,510 –> 00:09:48,470
بنابراین بیایید طول قوس نقطهای C v2
142
00:09:48,470 –> 00:09:53,730
از کانتور C و T را بنویسیم و میخواهیم
143
00:09:53,730 –> 00:09:59,130
نزدیک باشد و بیایید یک نسبت
144
00:09:59,130 –> 00:10:01,320
بدهیم تا ببینیم نسبت متفاوتی کار میکنند
145
00:10:01,320 –> 00:10:07,709
، مثلاً 0.05
146
00:10:07,709 –> 00:10:13,140
طول قوس را بدهیم حالا میخواهیم باشیم.
147
00:10:13,140 –> 00:10:18,110
دوباره بسته شد این چند ضلعی باید
148
00:10:21,140 –> 00:10:23,339
مثلاً بسته باشد چون مثلاً اگر
149
00:10:23,339 –> 00:10:24,420
پنتاگون
150
00:10:24,420 –> 00:10:29,580
داشتیم بسته می شد فقط اگر false قرار
151
00:10:29,580 –> 00:10:34,470
می دادید 1 2 3 4 طول می کشد و این باعث می شود
152
00:10:34,470 –> 00:10:38,220
که بدون وصل کردنش باز
153
00:10:38,220 –> 00:10:41,910
بماند به هر حال ببینیم چه بود تفاوت در
154
00:10:41,910 –> 00:10:45,130
خطوطی که این اختلال را اعمال میکند،
155
00:10:45,130 –> 00:10:52,