در این مطلب، ویدئو تشخیص کلیک روی تصویر [7] | آموزش OpenCV پایتون برای مبتدیان با زیرنویس فارسی را برای دانلود قرار داده ام. شما میتوانید با پرداخت 15 هزار تومان ، این ویدیو به علاوه تمامی فیلم های سایت را دانلود کنید.اکثر فیلم های سایت به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
مدت زمان فیلم: 00:11:01
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
00:00:00,030 –> 00:00:02,399
سلام به همه امروز ما میخواهیم
2
00:00:02,399 –> 00:00:05,400
یاد بگیریم که چگونه کلیک های ماوس روی یک
3
00:00:05,400 –> 00:00:09,330
تصویر را با استفاده از OpenCV تشخیص دهیم، بنابراین اگر روی
4
00:00:09,330 –> 00:00:14,009
این تصویر کلیک کنیم می توانیم کلمه
5
00:00:14,009 –> 00:00:19,080
پرسپکتیو را به عنوان خروجی دریافت کنیم، بنابراین اگر
6
00:00:19,080 –> 00:00:21,119
هنوز مشترک نشده اید لطفاً این کار را انجام دهید و
7
00:00:21,119 –> 00:00:23,640
زنگ اعلان را کلیک کنید تا
8
00:00:23,640 –> 00:00:26,369
همانطور که پیش می رویم به دریافت ویدیوهای به روز شده ادامه دهیم،
9
00:00:26,369 –> 00:00:28,109
بنابراین بیایید شروع کنیم،
10
00:00:28,109 –> 00:00:29,760
بنابراین اولین کاری که انجام می دهیم این است که
11
00:00:29,760 –> 00:00:33,149
کتابخانه های خود را وارد می کنیم و سپس
12
00:00:33,149 –> 00:00:36,480
تصویر خود را اضافه می کنیم و با استفاده از تابع imshow آن را نشان می دهیم
13
00:00:36,480 –> 00:00:40,280
، بنابراین اگر روی run کلیک کنم
14
00:00:40,280 –> 00:00:43,530
این است چه چیزی به دست می آوریم، بنابراین ما
15
00:00:43,530 –> 00:00:47,910
کلیک های روی این تصویر
16
00:00:47,910 –> 00:00:50,700
را تشخیص می دهیم، بنابراین برای تشخیص کلیک ها به دو چیز نیاز داریم
17
00:00:50,700 –> 00:00:53,370
یکی تابعی است که
18
00:00:53,370 –> 00:00:57,230
در صورت دریافت رویداد فراخوانی می شود و
19
00:00:57,230 –> 00:01:01,980
دوم
20
00:01:01,980 –> 00:01:06,240
اینکه کلیک ها را روی کدام تصویر باید تشخیص دهیم.
21
00:01:06,240 –> 00:01:08,299
ابتدا با تابع شروع می کنیم و
22
00:01:08,299 –> 00:01:13,170
تابع خود را به عنوان نقطه نقطه ماوس تعریف می کنیم و
23
00:01:13,170 –> 00:01:18,360
می گوییم که رویدادها را داریم
24
00:01:18,360 –> 00:01:23,939
X و Y و پرچم ها و پارامترها
25
00:01:23,939 –> 00:01:29,490
دارای آرگومان هستند و سپس می گوییم
26
00:01:29,490 –> 00:01:37,820
اگر رویداد ما برابر با C V باشد. 2 نقطه
27
00:01:37,820 –> 00:01:43,590
دکمه سمت چپ رویداد را پایین بیاوریم، بنابراین اگر روی
28
00:01:43,590 –> 00:01:47,700
دکمه چپ کلیک کنیم، میخواهیم x
29
00:01:47,700 –> 00:01:54,630
+ y x + y را چاپ کنیم، بنابراین اکنون که
30
00:01:54,630 –> 00:01:56,909
کارمان با تابع تمام شد، باید تعریف کنیم که
31
00:01:56,909 –> 00:01:59,189
کلیکها روی کدام تصویر شناسایی میشود و
32
00:01:59,189 –> 00:02:04,950
میگوییم که C v2 dot Callback Mouse را تنظیم میکند
33
00:02:04,950 –> 00:02:07,979
و ما تعریف میکنیم که کدام تصویر
34
00:02:07,979 –> 00:02:10,709
و کدام تابع، پس میگوییم
35
00:02:10,709 –> 00:02:11,560
به این تصویر نیاز داریم
36
00:02:11,560 –> 00:02:14,380
، آن را کپی میکنم تا اشتباهی وجود
37
00:02:14,380 –> 00:02:15,520
نداشته باشد
38
00:02:15,520 –> 00:02:19,510
و باید تابع نقاط ماوس
39
00:02:19,510 –> 00:02:27,220
فراخوانی شود، بنابراین حالا که این را اجرا میکنیم، بیایید
40
00:02:27,220 –> 00:02:31,780
اجرا کنیم. ما تصویر خود را خواهیم دید و پس از
41
00:02:31,780 –> 00:02:34,630
کلیک کردن، می توانید در چاپ مشاهده کنید
42
00:02:34,630 –> 00:02:37,090
ما 74 68 داریم که مختصات x و y هستند،
43
00:02:37,090 –> 00:02:39,250
بنابراین اگر به کلیک کردن ادامه
44
00:02:39,250 –> 00:02:42,489
دهیم چندین نقطه در حال
45
00:02:42,489 –> 00:02:45,790
چاپ خواهیم بود، بنابراین اینگونه می توانید
46
00:02:45,790 –> 00:02:48,130
در واقع تشخیص دهید. نقاط و
47
00:02:48,130 –> 00:02:50,319
کلیک های روی تصویر اما اگر بخواهیم
48
00:02:50,319 –> 00:02:53,620
آن را پیاده سازی کنیم چه می شود، بنابراین برای پیاده سازی
49
00:02:53,620 –> 00:02:59,049
از ویدیوی قبلی خود از کد ویدیوی قبلی استفاده می
50
00:02:59,049 –> 00:03:00,940
کنیم که در
51
00:03:00,940 –> 00:03:05,260
واقع کلمه پرسپکتیو یک تصویر را دریافت کرده
52
00:03:05,260 –> 00:03:08,049
ایم اگر آن را اجرا کنیم این همان چیزی است که ما به عنوان
53
00:03:08,049 –> 00:03:11,280
ورودی اینها را تعریف کردیم به صورت دستی در
54
00:03:11,280 –> 00:03:16,750
هر نقطه، x و y را داریم، بنابراین همانطور
55
00:03:16,750 –> 00:03:18,370
که می بینید در این خط،
56
00:03:18,370 –> 00:03:20,140
همه این نقاط را تعریف می کنیم و سپس
57
00:03:20,140 –> 00:03:24,220
تصویر تاب خورده جهان را از آن می گیریم، بنابراین
58
00:03:24,220 –> 00:03:26,530
این نمای پرنده ای است که اکنون می
59
00:03:26,530 –> 00:03:28,000
خواهیم انجام دهیم. آیا ما قصد داریم این فرآیند را به طور خودکار انجام
60
00:03:28,000 –> 00:03:30,010
دهیم، جایی که ما کسانی هستیم که
61
00:03:30,010 –> 00:03:34,120
چهار نقطه را تعیین می
62
00:03:34,120 –> 00:03:37,269
کنیم تا بتوانیم کار کنیم و تصویر پرنده را از
63
00:03:37,269 –> 00:03:40,530
آن منطقه خاص که روی آن کلیک کرده ایم دریافت کنیم،
64
00:03:40,530 –> 00:03:43,209
بنابراین برای انجام این کار، این را کپی می
65
00:03:43,209 –> 00:03:46,750
کنیم و ما در اینجا پیست میکنیم،
66
00:03:46,750 –> 00:03:51,250
تابع خود را میگیریم و آن را در
67
00:03:51,250 –> 00:03:57,190
بالا میچسبانیم، همچنین callback خود را کپی
68
00:03:57,190 –> 00:04:04,569
میکنیم و تصویر فعل را حداقل فعلا مخفی میکنیم،
69
00:04:04,569 –> 00:04:08,620
بنابراین بیایید آن را اجرا کنیم
70
00:04:08,620 –> 00:04:10,660
و ببینیم آیا خطای no وجود دارد یا خیر. اشکالی
71
00:04:10,660 –> 00:04:12,840
ندارد که خوب است، بنابراین اگر اکنون
72
00:04:12,840 –> 00:04:16,029
دوباره کلیک کنم، می توانم ببینم که می توانم کلیک های
73
00:04:16,029 –> 00:04:20,099
روی کلیک های ماوس روی تصویر را تشخیص
74
00:04:20,099 –> 00:04:23,080
دهم، بنابراین بیایید حداقل فعلاً هیچ یک از نقاط را نشان ندهیم،
75
00:04:23,080 –> 00:04:24,850
76
00:04:24,850 –> 00:04:27,530
بنابراین آنچه اکنون باید انجام دهیم این است که باید
77
00:04:27,530 –> 00:04:30,500
این مقادیر را مقادیر
78
00:04:30,500 –> 00:04:32,690
کلیک هایی که دریافت می کنیم و نیاز داریم ذخیره کنید برای
79
00:04:32,690 –> 00:04:34,580
شمارش چند کلیک واقعاً انجام دادهایم
80
00:04:34,580 –> 00:04:37,220
، بنابراین کاری که میتوانیم انجام دهیم این است که بتوانیم
81
00:04:37,220 –> 00:04:43,820
یک آرایه یا یک ماتریس یا فراخوانی تعریف
82
00:04:43,820 –> 00:04:47,750
کنیم، میگوییم که نقطه صفر
83
00:04:47,750 –> 00:04:53,630
صفر است و میگوییم چهار در
84
00:04:53,630 –> 00:04:56,660
دو است و دلیل آن آیا ما به
85
00:04:56,660 –> 00:04:59,509
چهار نقطه نیاز داریم و هر نقطه دارای x و
86
00:04:59,509 –> 00:05:02,330
y است و همچنین می گوییم که یک
87
00:05:02,330 –> 00:05:06,380
عدد صحیح است زیرا معمولاً شناور است بنابراین
88
00:05:06,380 –> 00:05:10,220
می گوییم عدد صحیح numpy dot خوب است بنابراین در
89
00:05:10,220 –> 00:05:13,160
مرحله بعد باید شمارنده خود را تعریف کنیم که
90
00:05:13,160 –> 00:05:17,03