در این مطلب، ویدئو Open-CV، Google Colab و هیستوگرام تصویر در پایتون | پردازش تصویر هیستوگرام پایتون با زیرنویس فارسی را برای دانلود قرار داده ام. شما میتوانید با پرداخت 15 هزار تومان ، این ویدیو به علاوه تمامی فیلم های سایت را دانلود کنید.اکثر فیلم های سایت به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
مدت زمان فیلم: 00:11:56
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
00:00:01,040 –> 00:00:02,720
در این ویدیو می خواهیم در
2
00:00:02,720 –> 00:00:05,040
مورد پردازش تصویر در opencv بحث کنیم
3
00:00:05,040 –> 00:00:06,240
و سپس هیستوگرام یک تصویر را ترسیم می کنیم،
4
00:00:06,240 –> 00:00:08,160
5
00:00:08,160 –> 00:00:09,679
بنابراین ابتدا چند کتابخانه وارد کرده ام
6
00:00:09,679 –> 00:00:11,360
که می توانید numpy را
7
00:00:11,360 –> 00:00:14,639
به عنوان np pandas spd cv2scv
8
00:00:14,639 –> 00:00:16,960
و همچنین برای استفاده از واردات وصله های google collab مشاهده کنید.
9
00:00:16,960 –> 00:00:17,680
10
00:00:17,680 –> 00:00:19,600
برای in show برای نمایش یک تصویر در
11
00:00:19,600 –> 00:00:21,359
google collab از
12
00:00:21,359 –> 00:00:24,160
پچ های collab دو کتابخانه جدید وارد کرده ایم در اینجا
13
00:00:24,160 –> 00:00:25,039
می توانید ببینید که
14
00:00:25,039 –> 00:00:28,560
sk image import io و pil import image
15
00:00:28,560 –> 00:00:31,199
این دو کتابخانه است ابتدا sk image
16
00:00:31,199 –> 00:00:32,079
مجموعه ای از
17
00:00:32,079 –> 00:00:34,480
الگوریتم های پردازش تصویر و
18
00:00:34,480 –> 00:00:35,680
بینایی کامپیوتری است.
19
00:00:35,680 –> 00:00:37,760
و پیل همه ما می دانیم که این
20
00:00:37,760 –> 00:00:38,960
کتابخانه تصویر پایتون برای
21
00:00:38,960 –> 00:00:41,760
پردازش تصویر و وارد کردن matplotlib
22
00:00:41,760 –> 00:00:43,600
dot pylab splt برای
23
00:00:43,600 –> 00:00:45,760
رسم است، بنابراین اینها کتابخانه
24
00:00:45,760 –> 00:00:46,719
هایی هستند که ما
25
00:00:46,719 –> 00:00:49,520
وارد کرده ایم و اکنون می خواهیم
26
00:00:49,520 –> 00:00:50,320
تصویر را
27
00:00:50,320 –> 00:00:53,120
از یک URL زودتر بخوانیم آنچه قبلا انجام می
28
00:00:53,120 –> 00:00:55,360
دادیم. برای وارد کردن یا آپلود یک
29
00:00:55,360 –> 00:00:56,960
تصویر خاص که دانلود کرده اید و
30
00:00:56,960 –> 00:00:58,160
سپس برای پردازش آن استفاده می کردیم،
31
00:00:58,160 –> 00:01:00,320
اما اکنون می خواهیم از یک URL برای
32
00:01:00,320 –> 00:01:01,840
پردازش تصویر خود استفاده کنیم
33
00:01:01,840 –> 00:01:04,400
و در اینجا می توانید ببینید که از sk image
34
00:01:04,400 –> 00:01:05,360
35
00:01:05,360 –> 00:01:07,920
io را وارد کرده ایم اکنون با کمک io
36
00:01:07,920 –> 00:01:09,280
این url خاص
37
00:01:09,280 –> 00:01:11,119
را که تصویر در آن ذخیره می شود را خوانده ایم یا می
38
00:01:11,119 –> 00:01:12,400
توانیم مکان
39
00:01:12,400 –> 00:01:14,320
تصویر را طوری بگوییم که در تصویر نام متغیر خوانده ایم
40
00:01:14,320 –> 00:01:15,920
41
00:01:15,920 –> 00:01:18,880
و در تصویر 2 ما رنگ را تغییر داده اند،
42
00:01:18,880 –> 00:01:19,759
43
00:01:19,759 –> 00:01:21,759
یعنی رنگ اصلی تصویر از
44
00:01:21,759 –> 00:01:22,960
bgr به
45
00:01:22,960 –> 00:01:25,119
rgb تغییر کرده است، یعنی ما اجزای رنگ را تغییر داده ایم
46
00:01:25,119 –> 00:01:26,080
47
00:01:26,080 –> 00:01:27,920
و آن را در فریم نهایی ذخیره کرده ایم
48
00:01:27,920 –> 00:01:30,000
و فریم نهایی در واقع
49
00:01:30,000 –> 00:01:31,040
همان الحاق است
50
00:01:31,040 –> 00:01:32,960
که می توانیم بگوییم هر دو تصویر یک تصویر پیوسته هستند.
51
00:01:32,960 –> 00:01:34,079
52
00:01:34,079 –> 00:01:36,320
و تصویر 2 و سپس فریم نهایی
53
00:01:36,320 –> 00:01:37,200
54
00:01:37,200 –> 00:01:39,119
نمایش داده می شود، بنابراین وقتی این
55
00:01:39,119 –> 00:01:40,320
سلول خاص را
56
00:01:40,320 –> 00:01:42,479
در اینجا اجرا می کنم، می توانید ببینید که هر دو تصویر
57
00:01:42,479 –> 00:01:44,799
در واقع به شکلی به هم پیوسته اند،
58
00:01:44,799 –> 00:01:46,240
بنابراین این تصویر اصلی
59
00:01:46,240 –> 00:01:48,159
پرنده است که می توانید پرنده آبی را اینجا ببینید
60
00:01:48,159 –> 00:01:50,320
و بعد از آن ما حالت رنگ را
61
00:01:50,320 –> 00:01:51,360
از
62
00:01:51,360 –> 00:01:54,399
bgr به rgb تغییر داده ایم در اینجا می بینید که پس از
63
00:01:54,399 –> 00:01:56,079
تغییر حالت رنگ
64
00:01:56,079 –> 00:01:58,560
آن را به عنوان تصویر دو نشان داده ایم و این
65
00:01:58,560 –> 00:01:59,920
را با کمک
66
00:01:59,920 –> 00:02:02,799
m show تابع cv2 و نام
67
00:02:02,799 –> 00:02:04,560
فریم نهایی است، بنابراین این فریم نهایی
68
00:02:04,560 –> 00:02:06,159
است که پس از تغییر رنگ
69
00:02:06,159 –> 00:02:06,799
70
00:02:06,799 –> 00:02:09,919
با کمک لبهای
71
00:02:09,919 –> 00:02:11,760
که برای به هم پیوستن هر دو فریم استفاده کردهایم،
72
00:02:11,760 –> 00:02:13,040
73
00:02:13,040 –> 00:02:16,480
اگر بخواهم نوع
74
00:02:16,480 –> 00:02:18,480
شکل و اندازه تصویر را چاپ کنم، نمایش داده میشود. می توانم به سادگی انجام دهم
75
00:02:18,480 –> 00:02:19,920
می توانم در بیانیه چاپ
76
00:02:19,920 –> 00:02:22,160
تصویر بنویسم نقطه b نوع تصویر نقطه شکل و
77
00:02:22,160 –> 00:02:22,959
78
00:02:22,959 –> 00:02:25,520
اندازه نقطه تصویر برای محاسبه تصویر اصلی
79
00:02:25,520 –> 00:02:26,239
که در
80
00:02:26,239 –> 00:02:28,000
آنجا تصویر تولید شده پس از
81
00:02:28,000 –> 00:02:30,160
تغییر رنگ نیست، بنابراین باید به سادگی
82
00:02:30,160 –> 00:02:31,040
اینگونه بنویسید
83
00:02:31,040 –> 00:02:34,239
و زمانی که من این سلول خاص را
84
00:02:34,239 –> 00:02:36,319
در اینجا اجرا کنید، می بینید که نوع تصویر
85
00:02:36,319 –> 00:02:37,519
واحد 8 است
86
00:02:37,519 –> 00:02:41,200
، شکل تصویر 443 به 590 به
87
00:02:41,200 –> 00:02:43,120
سه است، بنابراین در واقع
88
00:02:43,120 –> 00:02:45,200
عرض، ارتفاع و مولفه رنگی
89
00:02:45,200 –> 00:02:47,280
تصویر اصلی که rgb است
90
00:02:47,280 –> 00:02:49,360
و ضرب بالا به ما می دهد.
91
00:02:49,360 –> 00:02:51,040
اندازه تصویر که ترکیبی
92
00:02:51,040 –> 00:02:52,640
از ضرب عرض ارتفاع و
93
00:02:52,640 –> 00:02:54,239
رنگ است
94
00:02:54,239 –> 00:02:57,599
7 لک 84 110 به ما می دهد
95
00:02:57,599 –> 00:03:00,239
بنابراین اندازه واقعی تصویر
96
00:03:00,239 –> 00:03:01,840
برای ضرب عرض
97
00:03:01,840 –> 00:03:02,879
ارتفاع و c است. جزء رنگی
98
00:03:02,879 –> 00:03:05,040
بعد از کاری که قرار است انجام
99
00:03:05,040 –> 00:03:06,480
دهیم، هیستوگرام را تولید
100
00:03:06,480 –> 00:03:08,560
می کنیم یا می توانیم فرکانس یک پیکسل را بگوییم،
101
00:03:08,560 –> 00:03:09,840
102
00:03:09,840 –> 00:03:11,760
بنابراین برای آن مقدار
103
00:03:11,760 –> 00:03:13,920
import numpy را به عنوان np در نظر گرفتیم و سپس
104
00:03:13,920 –> 00:03:15,920
یک آرایه دو بعدی رسم کردیم که می توانیم
105
00:03:15,920 –> 00:03:18,159
بگوییم 2d. آرایه با کمک آرایه نقطهای np
106
00:03:18,159 –> 00:03:19,440
و این مقادیری هستند که
107
00:03:19,440 –> 00:03:20,480
داده
108
00:03:20,480 –> 00:03:22,560
شده است، آرایه را چاپ کردهایم همچنین اکنون در
109
00:03:22,560 –> 00:03:24,080
اینجا از دو تابع
110
00:03:24,080 –> 00:03:27,120
چاپ یک نقطه راول و یک نقطه صاف کردن
111
00:03:27,120 –> 00:03:29,120
استفاده کردهایم، اکنون استفاده از تابع راول در واقع
112
00:03:29,120 –> 00:03:30,239
ماژول numpy
113
00:03:30,239 –> 00:03:32,400
برای تغییر است. یک آرایه دو بعدی خاص
114
00:03:32,400 –> 00:03:34,799
به آرایه مسطح مسری
115
00:03:34,799 –> 00:03:35,599
می توانیم بگوییم یک
116
00:03:35,599 –> 00:03:37,680
آرایه 1d بنابراین هر دو تابع کار یکسانی را انجام می دهند،
117
00:03:37,680 –> 00:03:39,280
اما در اینجا من
118
00:03:39,280 –> 00:03:40,319
هر دو را پیاده سازی کرده ام تا بتوانیم
119
00:03:40,319 –> 00:03:42,560
آن را به گونه ای ببینیم که به طور مرتب و مسطح همان
120
00:03:42,560 –> 00:03:44,000
کار را انجام می دهد که در واقع برای تبدیل یک مورد استفاده می شود.
121
00:03:44,000 –> 00:03:46,080
آرایه دو بعدی را در
122
00:03:46,080 –> 00:03:46,560
یک
123
00:03:46,560 –> 00:03:49,120
آرایه 1d قرار دادم سپس
124
00:03:49,120 –> 00:03:49,920
هیستوگرام را
125
00:03:49,920 –> 00:03:51,680
با کمک matplotlib
126
00:03:51,680 –> 00:03:53,599
ترسیم کردم که در مورد plt.hist
127
00:03:53,599 –> 00:03:55,920
a dot ravel ما به دانه ها اشاره
128
00:03:55,920 –> 00:03:57,519
کردیم اکنون در واقع لوبیا لوبیا چیست که در
129
00:03:57,519 –> 00:03:59,519
واقع نشان داده می شود. تعداد
130
00:03:59,519 –> 00:04:02,480
پیکسلها برای هر مقدار پیکسلی است که
131
00:04:02,480 –> 00:04:05,599
از 0 تا 255 برای هر
132
00:04:05,599 –> 00:04:07,360
طیف رنگی که میتوانیم بگوییم میتوانیم بگوییم، اما در اینجا ما
133
00:04:07,360 –> 00:04:08,879
فقط محدوده beans ساده
134
00:04:08,879 –> 00:04:10,799
را 50 و محدوده را 0
135
00:04:10,799 –> 00:04:13,040
تا 50 دادهایم. در
136
00:04:13,040 –> 00:04:14,959
واقع فقط یک فرکانس هیستوگرام برای
137
00:04:14,959 –> 00:04:16,639
پیکسل های آرایه ای که
138
00:04:16,639 –> 00:04:18,798
داده ایم رسم می کنیم، در نظر می گیریم که آرایه
139
00:04:18,798 –> 00:04:20,238
فقط این است، اما می دانیم که
140
00:04:20,238 –> 00:04:22,560
یک آرایه تصویر پیکسل های بیشتری دارد که
141
00:04:22,560 –> 00:04:24,560
در تصویر اصلی نیز دیده ایم،
142
00:04:24,560 –> 00:04:27,440
بنابراین وقتی این کار را انجام می دهم و این سلول خاص را اجرا کنید
143
00:04:27,440 –> 00:04:28,080
144
00:04:28,080 –> 00:04:30,240
بنابراین در اینجا می توانید ببینید که اینگونه
145
00:04:30,240 –> 00:04:31,919
است که یک آرایه 2 بعدی با
146
00:04:31,919 –> 00:04:34,160
کمک np dot io ایجاد می شود که ما ساختیم
147
00:04:34,160 –> 00:04:35,680
این آرایه دو بعدی است و
148
00:04:35,680 –> 00:04:37,280
در اینجا می توانید تبدیلی را
149
00:04:37,280 –> 00:04:39,120
که با کمک راول انجام می شود مشاهده کنید. و
150
00:04:39,120 –> 00:04:40,800
تابع مسطح که در آنجاست در
151
00:04:40,800 –> 00:04:43,199
واقع آرایه 2 بعدی را به
152
00:04:43,199 –> 00:04:45,040
آرایه یک بعدی تبدیل کرده است بدون اینکه
153
00:04:45,040 –> 00:04:46,400
مقادیر را تغییر دهد فقط بعد را تغییر دهد
154
00:04:46,400 –> 00:04:48,800
و در ادامه می توانید ببینید که
155
00:04:48,800 –> 00:04:51,040
هیستوگرام را نیز
156
00:04:51,040 –> 00:04:52,560
با کمک میانگین و th رسم کرده است. محدوده ای
157
00:04:52,560 –> 00:04:54,720
که شما داده اید، بنابراین در اینجا می توانید ببینید
158
00:04:54,720 –> 00:04:55,840
که مقدار
159
00:04:55,840 –> 00:04:57,680
یک فقط یک بار در یک آرایه خاص آمده است،
160
00:04:57,680 –> 00:04:59,600
بنابراین دو بعدی را به این صورت ترسیم کرده است و
161
00:04:59,600 –> 00:05:01,759
سه بار می آید، بنابراین
162
00:05:01,759 –> 00:05:03,360
تا اینجا محدوده می شود، می توانید
163
00:05:03,360 –> 00:05:04,800
مقدار دو را ببینید. محدوده به این صورت است
164
00:05:04,800 –> 00:05:06,400
و به طور مشابه برای ده در مقدار می آید
165
00:05:06,400 –> 00:05:08,160
و هیستوگرام
166
00:05:08,160 –> 00:05:10,160
رسم می شود بنابراین در واقع در این محور
167
00:05:10,160 –> 00:05:11,759
مقدار پیکسل وجود دارد که می توانیم بگوییم و
168
00:05:11,759 –> 00:05:12,320
این
169
00:05:12,320 –> 00:05:13,919
فرکانس است که محور y در واقع
170
00:05:13,919 –> 00:05:15,440
فرکانسی است که آن خاص چند بار است.
171
00:05:15,440 –> 00:05:17,120
مقدار پیکسل در
172
00:05:17,120 –> 00:05:20,240
اینجا تولید میشود، ما در
173
00:05:20,240 –> 00:05:22,479
مورد تصویری که
174
00:05:22,479 –> 00:05:24,080
برای این تصویر آبی از پرنده که قبلاً داشتیم، همین موضوع را
175
00:05:24,080 –> 00:05:26,160
مورد بحث قرار میدهیم، اکنون هیستوگرام آن را ترسیم میکنیم
176
00:05:26,160 –> 00:05:28,880
، بنابراین آنچه انجام دادیم
177
00:05:28,880 –> 00:05:30,960
به سادگی نوشتیم. plt.hist برای
178
00:05:30,960 –> 00:05:31,880
ترسیم
179
00:05:31,880 –> 00:05:34,639
image.gravel در اینجا ما از a به عنوان
180
00:05:34,639 –> 00:05:36,400
نام آرایه استفاده می کنیم و اکنون از
181
00:05:36,400 –> 00:05:38,960
تصویر استفاده می کنیم به این معنی که تا 256 داده ایم و
182
00:05:38,960 –> 00:05:40,400
محدوده نیز 0 تا
183
00:05:40,400 –> 00:05:43,120
256 است و plt dot نشان می دهد تا
184
00:05:43,120 –> 00:05:44,240
هیستوگرام را نشان دهیم که در هنگام
185
00:05:44,240 –> 00:05:46,720
اجرا رسم می شود. این سلول خاص
186
00:05:46,720 –> 00:05:47,280
187
00:05:47,280 –> 00:05:49,199
اینجا yo شما می توانید ببینید که یک هیستوگرام
188
00:05:49,199 –> 00:05:51,520
اکنون رسم شده است زیرا آن تصویر دارای
189
00:05:51,520 –> 00:05:53,120
اجزای رنگی زیادی است، به همین دلیل است که می
190
00:05:53,120 –> 00:05:54,720
توانید هیستوگرام مانند این را ببینید
191
00:05:54,720 –> 00:05:56,560
زیرا دارای چندین جزء از
192
00:05:56,560 –> 00:05:58,639
هر مقدار پیکسل است و فرکانس افزایش می
193
00:05:58,639 –> 00:06:00,800
یابد زیرا یک تصویر رنگی
194
00:06:00,800 –> 00:06:03,759
است به همین دلیل است که ما
195
00:06:03,759 –> 00:06:05,520
اگر بخواهم با کمک
196
00:06:05,520 –> 00:06:06,080
رنگی
197
00:06:06,080 –> 00:06:07,