در این مطلب، ویدئو آموزش OpenCV Python برای مبتدیان 23 – پیدا کردن و ترسیم خطوط با OpenCV در پایتون با زیرنویس فارسی را برای دانلود قرار داده ام. شما میتوانید با پرداخت 15 هزار تومان ، این ویدیو به علاوه تمامی فیلم های سایت را دانلود کنید.اکثر فیلم های سایت به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
مدت زمان فیلم: 00:10:51
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
00:00:00,060 –> 00:00:02,340
سلام بچه ها به ویدیوی بعدی
2
00:00:02,340 –> 00:00:04,859
آموزش CV باز برای مبتدیان با استفاده از
3
00:00:04,859 –> 00:00:07,589
پایتون خوش آمدید در این ویدیو ما می خواهیم
4
00:00:07,589 –> 00:00:10,170
بفهمیم که کانتورها چیست و می
5
00:00:10,170 –> 00:00:12,240
خواهیم ببینیم که چگونه کانتورها را پیدا کنیم و
6
00:00:12,240 –> 00:00:15,570
چگونه کانتورها را ترسیم کنیم، بنابراین اول از همه
7
00:00:15,570 –> 00:00:18,539
کانتورها چیست؟ می توان
8
00:00:18,539 –> 00:00:21,779
توضیح داد که منحنی اتصال تمام
9
00:00:21,779 –> 00:00:23,640
نقاط ممتد در امتداد مرز
10
00:00:23,640 –> 00:00:26,160
که دارای رنگ یا شدت یکسانی هستند
11
00:00:26,160 –> 00:00:30,420
اکنون می تواند ابزار مفیدی
12
00:00:30,420 –> 00:00:33,809
برای تجزیه و تحلیل شکل یا
13
00:00:33,809 –> 00:00:38,190
تشخیص اشیاء یا تشخیص اشیاء باشد اکنون برای
14
00:00:38,190 –> 00:00:41,520
دقت بهتر معمولاً از
15
00:00:41,520 –> 00:00:44,489
تصویر باینری برای پیدا کردن استفاده می کنیم. کانتورها، بنابراین اول
16
00:00:44,489 –> 00:00:47,370
از همه میخواهیم تصویر باینری را تولید کنیم
17
00:00:47,370 –> 00:00:49,710
و سپس قبل از پیدا
18
00:00:49,710 –> 00:00:52,110
کردن خطوط، میخواهیم از
19
00:00:52,110 –> 00:00:55,260
آستانه یا تشخیص لبهها برای
20
00:00:55,260 –> 00:00:58,770
پیدا کردن خطوط روی تصویر استفاده کنیم، بنابراین بیایید
21
00:00:58,770 –> 00:01:01,230
با یک مثال شروع کنیم، بنابراین در اینجا من یک مثال
22
00:01:01,230 –> 00:01:03,570
ساده دارم. کدی که یک تصویر را می خواند و
23
00:01:03,570 –> 00:01:06,119
سپس این تصویر را به یک تصویر در مقیاس خاکستری تبدیل می کند
24
00:01:06,119 –> 00:01:09,840
و سپس من فقط
25
00:01:09,840 –> 00:01:12,780
هر دو تصویر را با استفاده از روش I am show نشان می دهم،
26
00:01:12,780 –> 00:01:15,299
بنابراین اجازه دهید این کد را اجرا کنیم d ببینیم
27
00:01:15,299 –> 00:01:18,030
چه نتیجه ای می گیریم پس این
28
00:01:18,030 –> 00:01:21,330
تصویر اصلی با این رنگ هاست و
29
00:01:21,330 –> 00:01:24,390
بعد از تبدیل این تصویر به
30
00:01:24,390 –> 00:01:26,520
تصویر خاکستری این نتیجه ای است
31
00:01:26,520 –> 00:01:29,490
که می گیریم و سپس
32
00:01:29,490 –> 00:01:32,250
آستانه یا
33
00:01:32,250 –> 00:01:33,000
34
00:01:33,000 –> 00:01:36,150
لبه را پیدا می کنیم. در این مثال، ما
35
00:01:36,150 –> 00:01:39,630
فقط آستانه را اعمال می کنیم، بنابراین برای
36
00:01:39,630 –> 00:01:42,570
اعمال آستانه در این تصویر
37
00:01:42,570 –> 00:01:45,479
، ابتدا دو متغیر ret کاما را تعریف می کنیم.
38
00:01:45,479 –> 00:01:51,439
39
00:01:51,439 –> 00:01:54,450
40
00:01:54,450 –> 00:01:57,149
در ویدیوهای قبلی نحوه عملکرد
41
00:01:57,149 –> 00:01:59,610
آستانه را با جزئیات مشاهده
42
00:01:59,610 –> 00:02:02,219
کردید، بنابراین اولین آرگومان که این
43
00:02:02,219 –> 00:02:05,070
روش آستانه می گیرد، تصویر است، بنابراین
44
00:02:05,070 –> 00:02:07,680
ما می خواهیم تصویر مقیاس خاکستری خود را
45
00:02:07,680 –> 00:02:10,649
به عنوان منبع ارسال کنیم، آرگومان دوم
46
00:02:10,649 –> 00:02:13,170
مقدار آستانه است، بنابراین چون یک تصویر باینری است،
47
00:02:13,170 –> 00:02:13,880
48
00:02:13,880 –> 00:02:17,510
اجازه دهید مقدار را تنظیم کنیم. آستانه تا 127 که
49
00:02:17,510 –> 00:02:22,340
حدود نیمی از 255 سمت راست است، آرگومان سوم
50
00:02:22,340 –> 00:02:25,790
حداکثر مقادیر
51
00:02:25,790 –> 00:02:29,510
حداکثر مقدار در اینجا 255 خواهد بود، آرگومان بعدی
52
00:02:29,510 –> 00:02:31,550
نوع و نوع در اینجا
53
00:02:31,550 –> 00:02:34,910
0 خواهد بود. بنابراین این
54
00:02:34,910 –> 00:02:38,780
مقدار سطل زباله را برای این تصویر در مقیاس خاکستری به ما می
55
00:02:38,780 –> 00:02:40,670
دهد و پس از اینکه
56
00:02:40,670 –> 00:02:43,520
آستانه این تصویر را
57
00:02:43,520 –> 00:02:47,360
پیدا کردیم، خطوط خطوط را پیدا می کنیم، بنابراین برای این
58
00:02:47,360 –> 00:02:49,190
کار دو متغیر تعریف می کنیم که یکی از آنها
59
00:02:49,190 –> 00:02:52,850
contours است و دومی سلسله مراتبی
60
00:02:52,850 –> 00:02:55,790
چون روشی که قرار است
61
00:02:55,790 –> 00:03:00,370
از آن استفاده کنیم، یعنی CB برای یافتن خطوط خطوط،
62
00:03:00,370 –> 00:03:03,470
این روشی است که قرار است
63
00:03:03,470 –> 00:03:05,870
این دو مقدار خطوط و
64
00:03:05,870 –> 00:03:08,660
سلسله مراتب را به ما بدهد و ما بعد از اعمال این روش می خواهیم ببینیم
65
00:03:08,660 –> 00:03:11,690
که خطوط و سلسله مراتب ما در جزئیات چیست.
66
00:03:11,690 –> 00:03:14,900
در این تصویر،
67
00:03:14,900 –> 00:03:17,900
بنابراین اولین آرگومان Thresh خواهد بود
68
00:03:17,900 –> 00:03:20,930
که با استفاده از این روش آستانه به دست آوردیم،
69
00:03:20,930 –> 00:03:23,720
آرگومان دوم حالت کانتور خواهد بود،
70
00:03:23,720 –> 00:03:27,350
بنابراین به این
71
00:03:27,350 –> 00:03:30,470
حالت بازیابی کانتور نیز گفته می شود و
72
00:03:30,470 –> 00:03:33,530
در اینجا می توانیم چندین احتمال وجود داشته باشد که می توانیم از آنها استفاده کنیم
73
00:03:33,530 –> 00:03:36,710
اما برای سادگی در در پایان در
74
00:03:36,710 –> 00:03:40,400
رایج ترین حالت، ما از
75
00:03:40,400 –> 00:03:43,550
درخت زیر خط retr در اینجا استفاده می کنیم، بسیار خوب به عنوان حالت
76
00:03:43,550 –> 00:03:45,860
، آرگومان سوم در اینجا
77
00:03:45,860 –> 00:03:49,190
روشی است که می خواهیم اعمال کنیم و
78
00:03:49,190 –> 00:03:51,560
به آن کانتور نیز می گویند.
79
00:03:51,560 –> 00:03:53,930
روش تقریبی و در اینجا نیز چندین
80
00:03:53,930 –> 00:03:57,800
احتمال ممکن است، اما در حال حاضر
81
00:03:57,800 –> 00:04:00,709
چیزی که ما در اینجا استفاده می کنیم
82
00:04:00,709 –> 00:04:05,330
این است که CB 2 dot aprox nun است، بنابراین اکنون همانطور که
83
00:04:05,330 –> 00:04:07,850
در اینجا می بینید، این روش کانتور ظریف
84
00:04:07,850 –> 00:04:11,600
خطوط و سلسله مراتب را به ما می دهد، بنابراین
85
00:04:11,600 –> 00:04:15,680
کانتور یک پایتون است. لیستی از تمام خطوط
86
00:04:15,680 –> 00:04:19,279
در تصویر و هر کانتور مجزا
87
00:04:19,279 –> 00:04:22,669
یک آرایه داور از مختصات X کاما y
88
00:04:22,669 –> 00:04:25,490
از نقاط مرزی
89
00:04:25,490 –> 00:04:27,470
شی است و سلسله
90
00:04:27,470 –> 00:04:30,530
مراتب بردار خروجی اختیاری است که
91
00:04:30,530 –> 00:04:33,470
حاوی اطلاعات
92
00:04:33,470 –> 00:04:36,200
توپولوژی تصویر است و این را در ادامه خواهیم دید.
93
00:04:36,200 –> 00:04:39,380
ویدیوهای بعدی، بنابراین فعلاً ما فقط
94
00:04:39,380 –> 00:04:42,830
نگران یافتن خطوط هستیم،
95
00:04:42,830 –> 00:04:46,070
بنابراین همانطور که گفتم این شامل
96
00:04:46,070 –> 00:04:49,340
تعداد خطوط است، بنابراین ما میتوانیم
97
00:04:49,340 –> 00:04:53,330
این تعداد خطوط را چاپ
98
00:04:53,330 –> 00:04:56,690
کنیم و سپس فقط
99
00:04:56,690 –> 00:05:00,140
این عدد را تبدیل میکنیم. در رشته
100
00:05:00,140 –> 00:05:03,170
و متدی به نام طول وجود دارد و سپس در داخل
101
00:05:03,170 –> 00:05:04,820
این متد طول،
102
00:05:04,820 –> 00:05:08,420
متغیر contour خود را ارسال می کنیم، بنابراین این
103
00:05:08,420 –> 00:05:10,100
خط تعداد conto را چاپ می کند.
104
00:05:10,100 –> 00:05:13,460
ur هایی که در داخل
105
00:05:13,460 –> 00:05:15,680
تصویری که ما ارائه می کنیم یافت می شوند، بنابراین بیایید
106
00:05:15,680 –> 00:05:17,540
این کد را اجرا کنیم و ببینیم چه نتیجه ای به