در این مطلب، ویدئو نحوه پیش پردازش تصاویر برای متن OCR در پایتون (OCR در آموزش پایتون 02.02) با زیرنویس فارسی را برای دانلود قرار داده ام. شما میتوانید با پرداخت 15 هزار تومان ، این ویدیو به علاوه تمامی فیلم های سایت را دانلود کنید.اکثر فیلم های سایت به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
مدت زمان فیلم: 00:53:23
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
00:00:03,570 –> 00:00:09,780
[موسیقی]
2
00:00:11,840 –> 00:00:14,080
سلام و خوش آمدید به سری
3
00:00:14,080 –> 00:00:18,000
پایتون و اجرای ocr و پایتون
4
00:00:18,000 –> 00:00:20,160
این مجموعه آموزشی برای
5
00:00:20,160 –> 00:00:22,160
هر کسی که درک کلی از
6
00:00:22,160 –> 00:00:22,880
پایتون دارد و
7
00:00:22,880 –> 00:00:25,519
میخواهد ocr را در آن اجرا کند در حال حاضر
8
00:00:25,519 –> 00:00:27,359
در آخرین ویدیویی که به شما یک کتابخانه نسبتاً ساده معرفی کردم ارائه شده
9
00:00:27,359 –> 00:00:29,920
است. برای بارگذاری تصاویر
10
00:00:29,920 –> 00:00:31,760
در حافظه و آن بالش
11
00:00:31,760 –> 00:00:34,079
یا کتابخانه تصویربرداری پایتون بود،
12
00:00:34,079 –> 00:00:35,120
بالش فقط یک چنگال
13
00:00:35,120 –> 00:00:37,040
از قرص بود، چیزی که در
14
00:00:37,040 –> 00:00:38,559
این ویدیو میخواهیم پوشش دهیم، اما یک
15
00:00:38,559 –> 00:00:40,719
کتابخانه متفاوت به نام opencv که مخفف
16
00:00:40,719 –> 00:00:41,440
17
00:00:41,440 –> 00:00:44,480
بینایی کامپیوتری است، یک مجموعه
18
00:00:44,480 –> 00:00:47,200
پیچیده است. کاری که از شما میخواهد
19
00:00:47,200 –> 00:00:48,000
20
00:00:48,000 –> 00:00:51,600
تصاویر یا فیدهای ویدیویی را واقعاً به روشهای پیچیده دستکاری کنید،
21
00:00:51,600 –> 00:00:52,719
22
00:00:52,719 –> 00:00:55,120
اکنون مزیت کتابخانهای که میتواند
23
00:00:55,120 –> 00:00:56,239
به آن دست یابد این
24
00:00:56,239 –> 00:00:58,879
است که میتوانید دستکاری تصویر واقعاً پیچیده را
25
00:00:58,879 –> 00:01:00,719
در پایتون انجام دهید
26
00:01:00,719 –> 00:01:02,480
، نکته منفی آن مانند هر
27
00:01:02,480 –> 00:01:04,000
زبان برنامهنویسی یا
28
00:01:04,000 –> 00:01:05,920
نرمافزار دیگری که وجود دارد این توانایی را دارد.
29
00:01:05,920 –> 00:01:08,000
انجام وظایف واقعاً قوی
30
00:01:08,000 –> 00:01:10,400
به این معنی است که توانایی انجام واقعی
31
00:01:10,400 –> 00:01:12,000
آن وظایف به صورت کد یا در
32
00:01:12,000 –> 00:01:14,400
برنامه لزوماً کمی
33
00:01:14,400 –> 00:01:15,280
پیچیدهتر است. ed
34
00:01:15,280 –> 00:01:17,680
و با opencv فرقی نمیکند کاری
35
00:01:17,680 –> 00:01:19,040
که من در این ویدیو انجام میدهم
36
00:01:19,040 –> 00:01:20,000
این است که
37
00:01:20,000 –> 00:01:23,520
تمام مراحل کلیدی پردازش تصویر را طی میکنم
38
00:01:23,520 –> 00:01:25,759
تا با pi
39
00:01:25,759 –> 00:01:28,080
tesseract یا به طور کلی tesseract
40
00:01:28,080 –> 00:01:30,720
با opencv و این دستکاریهای تصویر، نتایج بهتری بگیرم.
41
00:01:30,720 –> 00:01:31,600
42
00:01:31,600 –> 00:01:33,360
مراحل معمولاً چیزی است که من در ویدیوهای کوچکتر جداگانه پوشش می دهم،
43
00:01:33,360 –> 00:01:35,280
44
00:01:35,280 –> 00:01:37,680
اما چون می خواهم همه شما از این
45
00:01:37,680 –> 00:01:39,439
ویدیو به عنوان یک
46
00:01:39,439 –> 00:01:41,119
فروشگاه استفاده کنید، در اینجا یک استثنا قائل می شوم و این
47
00:01:41,119 –> 00:01:43,119
یک ویدیوی فوق العاده طولانی خواهد بود،
48
00:01:43,119 –> 00:01:44,799
اما باید داشته باشم. همه
49
00:01:44,799 –> 00:01:46,399
زمانها در قسمت پایین پایین
50
00:01:46,399 –> 00:01:48,320
در توضیحات درج شده است
51
00:01:48,320 –> 00:01:50,640
تا بتوانید به کاری که نیاز به تجدید نظر
52
00:01:50,640 –> 00:01:52,479
دارید بپرید، من شما را تشویق میکنم برای اولین بار
53
00:01:52,479 –> 00:01:54,560
این ویدیو بنشینید و یک فنجان
54
00:01:54,560 –> 00:01:55,200
قهوه بنوشید
55
00:01:55,200 –> 00:01:56,960
و فقط تماشا کنید زیرا من هستم قرار است
56
00:01:56,960 –> 00:01:58,880
از 9
57
00:01:58,880 –> 00:02:01,040
روش اصلی مختلف برای دستکاری یک
58
00:02:01,040 –> 00:02:02,640
تصویر استفاده کنید یا ممکن است نیاز به دستکاری یک تصویر
59
00:02:02,640 –> 00:02:03,200
60
00:02:03,200 –> 00:02:06,240
در پایتون داشته باشید تا نتایج ocr بهتری
61
00:02:06,240 –> 00:02:08,479
با tesseract داشته باشید، بنابراین اولین
62
00:02:08,479 –> 00:02:09,758
چیزی که در مورد آن صحبت خواهیم کرد،
63
00:02:09,758 –> 00:02:12,000
معکوس کردن تصاویر است و چرا شما ممکن است
64
00:02:12,000 –> 00:02:14,080
مایل نباشید آنها را در tesseract 4 انجام دهید،
65
00:02:14,080 –> 00:02:16,160
ما همچنین در مورد تغییر مقیاس صحبت خواهیم کرد
66
00:02:16,160 –> 00:02:18,080
، یعنی زمانی که شما dpi یک تصویر را تنظیم می
67
00:02:18,080 –> 00:02:18,480
68
00:02:18,480 –> 00:02:20,480
کنید که برای برخی از تصاویر ضروری نیست،
69
00:02:20,480 –> 00:02:22,400
70
00:02:22,400 –> 00:02:24,480
ما در مورد باینری
71
00:02:24,480 –> 00:02:26,400
سازی صحبت خواهیم کرد. یک تصویر سیاه و
72
00:02:26,400 –> 00:02:26,879
سفید
73
00:02:26,879 –> 00:02:28,400
ما در مورد حذف نویز صحبت خواهیم کرد
74
00:02:28,400 –> 00:02:30,080
که به نظر می رسد حذف
75
00:02:30,080 –> 00:02:30,560
76
00:02:30,560 –> 00:02:32,720
نویز از یک تصویر است که اغلب می
77
00:02:32,720 –> 00:02:33,920
تواند نتایج ضعیفی را ایجاد کند.
78
00:02:33,920 –> 00:02:36,000
ما در مورد
79
00:02:36,000 –> 00:02:38,000
اتساع و فرسایش صحبت خواهیم کرد و خواهید دید.
80
00:02:38,000 –> 00:02:38,800
81
00:02:38,800 –> 00:02:40,879
وقتی متن در اسناد تاریخی قدیمی دچار خونریزی می شود
82
00:02:40,879 –> 00:02:43,200
83
00:02:43,200 –> 00:02:44,959
و این راهی برای از
84
00:02:44,959 –> 00:02:47,200
بین بردن مواردی است که نتایج ocr را بهبود می بخشد،
85
00:02:47,200 –> 00:02:47,840
86
00:02:47,840 –> 00:02:49,120
ما در مورد چرخش
87
00:02:49,120 –> 00:02:50,959
و کج زدایی صحبت خواهیم کرد که اغلب
88
00:02:50,959 –> 00:02:52,480
نتیجه یک اسکن بد
89
00:02:52,480 –> 00:02:54,400
زمانی که صفحه در یک زاویه قرار دارد، ما در
90
00:02:54,400 –> 00:02:56,160
مورد حذف حاشیه ها
91
00:02:56,160 –> 00:02:58,879
92
00:02:58,879 –> 00:03:00,879
93
00:03:00,879 –> 00:03:02,080
94
00:03:02,080 –> 00:03:04,400
95
00:03:04,400 –> 00:03:05,760
صحبت خواهیم کرد. در مورد صحبت کردن
96
00:03:05,760 –> 00:03:07,680
نحوه حذف آن مرزها
97
00:03:07,680 –> 00:03:09,519
و سپس مشکل معکوس
98
00:03:09,519 –> 00:03:10,640
عدم وجود مرزها، ما در
99
00:03:10,640 –> 00:03:12,319
مورد نحوه اضافه کردن مرزها صحبت خواهیم کرد تا
100
00:03:12,319 –> 00:03:13,760
بتوانید نتایج بهتری داشته باشید
101
00:03:13,760 –> 00:03:15,120
و سپس در مورد موارد منحصر به فردی صحبت خواهیم کرد
102
00:03:15,120 –> 00:03:16,800
که
103
00:03:16,800 –> 00:03:18,720
ممکن است شفافیت و کانال های آلفا روی
104
00:03:18,720 –> 00:03:21,840
نتایج ocr شما تأثیر بگذارد، من
105
00:03:21,840 –> 00:03:23,280
هر یک از اینها را در نوت بوک احمقانهتری
106
00:03:23,280 –> 00:03:25,040
که در github قرار میدهم پوشش خواهم داد تا
107
00:03:25,040 –> 00:03:27,200
108
00:03:27,200 –> 00:03:28,720
اگر میخواهید
109
00:03:28,720 –> 00:03:31,200
مواردی را از اینجا کپی و پیست کنید، بتوانید وارد شوید و از آن به عنوان یک برگه تقلب استفاده کنید. و از
110
00:03:31,200 –> 00:03:32,959
آنها در اسکریپتهای خود استفاده کنید،
111
00:03:32,959 –> 00:03:35,120
اما من شما را تشویق میکنم که کنار بنشینید و
112
00:03:35,120 –> 00:03:36,640
همه این مراحل را تماشا کنید،
113
00:03:36,640 –> 00:03:38,080
زیرا همه این مراحل
114
00:03:38,080 –> 00:03:40,080
در حال حاضر به شما مربوط
115
00:03:40,080 –> 00:03:41,920
نمیشوند، اما در آینده
116
00:03:41,920 –> 00:03:43,440
در نقطهای که قرار است انجام دهید، در آینده خواهند بود.
117
00:03:43,440 –> 00:03:44,640
با سندی کار میکنید
118
00:03:44,640 –> 00:03:46,480
که خیلی بد اسکن شده است و باید
119
00:03:46,480 –> 00:03:48,239
آن را بچرخانید و
120
00:03:48,239 –> 00:03:49,519
در آینده آن
121
00:03:49,519 –> 00:03:51,519
را تغییر دهید، اسکنی خواهید داشت که
122
00:03:51,519 –> 00:03:52,799
حاشیههایی دارد که باید آنها را
123
00:03:52,799 –> 00:03:54,319
حذف کنید. باید بدانید که چگونه
124
00:03:54,319 –> 00:03:55,840
همه اینها را انجام دهید چیزهایی برای حل
125
00:03:55,840 –> 00:03:57,360
مشکلات مختلف ocr
126
00:03:57,360 –> 00:03:59,439
در طول دوره حرفه ای خود، بنابراین
127
00:03:59,439 –> 00:04:00,480
شما مجبور نیستید
128
00:04:00,480 –> 00:04:02,720
همه اینها را برای یک کار انجام دهید، اما
129
00:04:02,720 –> 00:04:04,080
مجبور خواهید بود همه اینها را در
130
00:04:04,080 –> 00:04:06,000
مقطعی برای کارهای مختلف انجام دهید
131
00:04:06,000 –> 00:04:07,680
. همان چیزی باشید که در این
132
00:04:07,680 –> 00:04:09,599
ویدیو به جلو می رویم، اما قبل از اینکه به آن
133
00:04:09,599 –> 00:04:11,120
برسیم، اولین چیزی که باید در
134
00:04:11,120 –> 00:04:12,080
مورد آن صحبت کنیم
135
00:04:12,080 –> 00:04:14,720
و به همین دلیل صفر صفر است این است که چگونه
136
00:04:14,720 –> 00:04:15,280
137
00:04:15,280 –> 00:04:20,000
یک تصویر را در پایتون با opencv باز کنیم،
138
00:04:20,000 –> 00:04:22,320
بنابراین نحوه باز کردن یک ویدیو یا
139
00:04:22,320 –> 00:04:24,880
یک فایل تصویری در پایتون با opencv
140
00:04:24,880 –> 00:04:28,240
این است که میخواهیم بگوییم یک نام تصویر ایجاد کنید،
141
00:04:28,240 –> 00:04:29,840
بگذارید آن را فایل زیر خط تصویر بنامیم،
142
00:04:29,840 –> 00:04:32,080
این مکان
143
00:04:32,080 –> 00:04:33,280
فایل ما خواهد بود و ما در
144
00:04:33,280 –> 00:04:35,040
145
00:04:35,040 –> 00:04:36,960
سراسر اسکریپت خود به فایل زیر خط تصویر مراجعه میکنیم.
146
00:04:36,960 –> 00:04:39,919
ما می دانیم که تصویر ما در داده است و
147
00:04:39,919 –> 00:04:40,639
148
00:04:40,639 –> 00:04:43,680
زیر خط صفحه underscore01.jpg است،
149
00:04:43,680 –> 00:04:48,000
بنابراین صفحه underscore01.jpg یک jpeg است
150
00:04:48,000 –> 00:04:49,440
و سپس کاری که باید انجام دهیم این است که باید
151
00:04:49,440 –> 00:04:52,320
آن فایل تصویر را در حافظه بارگذاری کنیم،
152
00:04:52,320 –> 00:04:54,800
اکنون راه های مختلفی
153
00:04:54,800 –> 00:04:57,680
برای در واقع همه این کارها را در پایتون
154
00:04:57,680 –> 00:05:00,160
یا py انجام دهید به طور کلی برخی از مردم می گویند من
155
00:05:00,160 –> 00:05:02,080
هستم دیگران می گویند img
156
00:05:02,080 –> 00:05:03,759
دیگران تصویر را هجی می کنند و
157
00:05:03,759 –> 00:05:05,759
مشکل این است
158
00:05:05,759 –> 00:05:06,960
159
00:05:06,960 –> 00:05:10,080
که اسناد opencv اغلب نادیده گرفته می شود و در مورد
160
00:05:10,080 –> 00:05:12,880
آن باید در واقع opencv را وارد کنید و
161
00:05:12,880 –> 00:05:14,639
اکنون اگر به اسناد opencv نگاه کنید
162
00:05:14,639 –> 00:05:16,400
متوجه خواهید شد که می
163
00:05:16,400 –> 00:05:16,800
گویند
164
00:05:16,800 –> 00:05:19,919
cv2 را به عنوان cv وارد کنید اجازه دهید من
165
00:05:19,919 –> 00:05:20,800
کمی برای
166
00:05:20,800 –> 00:05:23,039
شما بزرگنمایی کنم مشکل این است که
167
00:05:23,039 –> 00:05:24,080
انجمن
168
00:05:24,080 –> 00:05:26,639
این کار را انجام نداده است، بنابراین کاری که من می خواهم انجام دهم این است که من
169
00:05:26,639 –> 00:05:28,080
همان کاری را انجام می دهم که انجمن انجام می دهد
170
00:05:28,080 –> 00:05:29,280
زیرا این کار را انجام می دهد. زندگی شما را بسیار
171
00:05:29,280 –> 00:05:30,160
آسان تر خواهد کرد
172
00:05:30,160 –> 00:05:33,840
و ما قصد داریم cv2 را
173
00:05:33,840 –> 00:05:36,639
وارد کنیم، اکنون آن را به عنوان cv وارد نمی کنیم.
174
00:05:36,639 –> 00:05:38,080
175
00:05:38,080 –> 00:05:39,680
176
00:05:39,680 –> 00:05:41,280
177
00:05:41,280 –> 00:05:42,800
مشکل
178
00:05:42,800 –> 00:05:45,280
با opencv در پشته سرریز
179
00:05:45,280 –> 00:05:47,840
همه قرار است وارد کردن cv2
180
00:05:47,840 –> 00:05:49,280
یا حداقل تعداد زیادی از آنها را انجام دهند،
181
00:05:49,280 –> 00:05:52,080
بنابراین وقتی بارگذاری آن را دریافت کردید، اکنون
182
00:05:52,080 –> 00:05:54,400
زمان ایجاد فایل تصویری
183
00:05:54,400 –> 00:05:55,520
184
00:05:55,520 –> 00:05:57,440
می رسد و آیتم را در حافظه بارگذاری می کنیم و ما می رویم
185
00:05:57,440 –> 00:05:58,639
برای انجام این کار توسط با گفتن
186
00:05:58,639 –> 00:06:01,840
نقطه cv2 من
187
00:06:01,840 –> 00:06:04,880
خیلی تصویر خوانده شده است و ما در حال حاضر در
188
00:06:04,880 –> 00:06:06,400
یک آرگومان
189
00:06:06,400 –> 00:06:07,919
190
00:06:07,919 –> 00:06:08,400
191
00:06:08,400 –> 00:06:12,479
ارسال می کنیم.
192
00:06:12,479 –> 00:06:14,560
193
00:06:14,560 –> 00:06:15,840
حافظه
194
00:06:15,840 –> 00:06:17,280
و من یک خطای نحوی گرفتم زیرا
195
00:06:17,280 –> 00:06:20,160
فراموش کردم برابر
196
00:06:20,160 –> 00:06:23,520
را بزنم، حالا اگر در داخل اتم کار
197
00:06:23,520 –> 00:06:26,160
می کنم، می توانم یک تصویر را به روشی بسیار خاص
198
00:06:26,160 –> 00:06:26,960
199
00:06:26,960 –> 00:06:30,000
200
00:06:30,000 –> 00:06:32,319
نشان دهم، می توانم بگویم cv2 dot من نشان می دهم که مخفف تصویر نشان می دهد. من میخواهم
201
00:06:32,319 –> 00:06:33,520
در دو آرگومان عبور
202
00:06:33,520 –> 00:06:35,759
کنم، این را بهعنوان یک عنوان
203
00:06:35,759 –> 00:06:38,000
تصور کنید، بنابراین تصویر اصلی را در نظر بگیرید و مورد بعدی که
204
00:06:38,000 –> 00:06:41,280
میخواهم در آن ارسال کنم، خود تصویر است.
205
00:06:41,280 –> 00:06:42,960
206
00:06:42,960 –> 00:06:45,919
207
00:06:45,919 –> 00:06:47,680
اکنون منتظر بمانم، می توانم بر
208
00:06:47,680 –> 00:06:50,479
حسب میلی ثانیه تعیین کنم که چه مدت منتظر بمانم،
209
00:06:50,479 –> 00:06:53,120
بنابراین 100 میلی ثانیه می شود
210
00:06:53,120 –> 00:06:56,080
100 میلی ثانیه یا می توانم صفر را انجام دهم که
211
00:06:56,080 –> 00:06:56,560
مدت زمان نامشخصی خواهد بود
212
00:06:56,560 –> 00:06:58,880
اگر
213
00:06:58,880 –> 00:07:01,039
این را اجرا کنم، خواهید دید که من
214
00:07:01,039 –> 00:07:03,680
خطا دارم cv2 is not تعریف شده اجازه دهید به جلو برویم
215
00:07:03,680 –> 00:07:05,199
و این را شروع
216
00:07:05,199 –> 00:07:07,599
کنیم و سپس می توانم آن را باز
217
00:07:07,599 –> 00:07:08,560
کنم چون
218
00:07:08,560 –> 00:07:11,599
من از آزمایشگاه ژوپیتر استفاده می کنم، می بینید که
219
00:07:11,599 –> 00:07:12,960
اگر
220
00:07:12,960 –> 00:07:14,880
از نوت بوک های ژوپیتر استفاده می کنید،
221
00:07:14,880 –> 00:07:18,160
نه از آزمایشگاه ژوپیتر، ممکن است پایتون شما خراب شود، در واقع می توانم تصویر را باز کنم
222
00:07:18,160 –> 00:07:19,199
و اگر می خواهید این کار
223
00:07:19,199 –> 00:07:21,039
را انجام دهید، باید کاری انجام دهید. مانند
224
00:07:21,039 –> 00:07:22,560
cv2 dot تمام ویندوزها را از بین می برد
225
00:07:22,560 –> 00:07:24,479
، چند هک کوچک در اطراف وجود دارد،
226
00:07:24,479 –> 00:07:26,080
کاری که می خواهم انجام دهم این است
227
00:07:26,080 –> 00:07:27,520
که می خواهم
228
00:07:27,520 –> 00:07:30,000
در داخل نوت بوک jupyter نمایش داده شود، می خواهم
229
00:07:30,000 –> 00:07:31,520
بتوانم تصویر را
230
00:07:31,520 –> 00:07:33,199
در خط نمایش دهم، یعنی می خواهم بتوانم
231
00:07:33,199 –> 00:07:34,960
آن را ببینم. در تمام طول مسیر، من از
232
00:07:34,960 –> 00:07:36,400
این تابعی که
233
00:07:36,400 –> 00:07:38,960
در سرریز پشته پیدا
234
00:07:38,960 –> 00:07:39,680
235
00:07:39,680 –> 00:07:43,280
کردم استفاده خواهم کرد و این و از جایی که آن را از اینجا دریافت کردم را اضافه می کنم،
236
00:07:43,280 –> 00:07:45,199
بنابراین این پیوند است و این یک
237
00:07:45,199 –> 00:07:48,879
روش مفید برای استفاده از matplotlib است.
238
00:07:48,879 –> 00:07:52,240
در واقع نشان میدهم که چه اتفاقی میافتد، اجازه دهید
239
00:07:52,240 –> 00:07:54,720
سعی کنم از آن راه عبور کنم
240
00:07:54,720 –> 00:07:56,800
و من فقط آن را در آنجا قرار میدهم تا نشان دهم
241
00:07:56,800 –> 00:08:00,000
چه اتفاقی در
242
00:08:00,000 –> 00:08:02,960
خط از opencv میافتد و بنابراین من این
243
00:08:02,960 –> 00:08:04,960
مقدار کمی را در اینجا از matplotlib
244
00:08:04,960 –> 00:08:08,720
import pi نمودار به عنوان plt اضافه کردم. بنابراین کاری که اکنون می توانم انجام دهم این
245
00:08:08,720 –> 00:08:09,120
246
00:08:09,120 –> 00:08:11,440
است که می توانم این سلول را اجرا کنم تا
247
00:08:11,440 –> 00:08:12,960
بارگیری کنم این تابع
248
00:08:12,960 –> 00:08:14,720
در حافظه و کاری که این
249
00:08:14,720 –> 00:08:15,840
تابع قرار است انجام دهد این است که به من این امکان را می دهد
250
00:08:15,840 –> 00:08:17,039
251
00:08:17,039 –> 00:08:19,599
که اندازه تصویر اصلی را حفظ کنم همانطور که از نقشه
252
00:08:19,599 –> 00:08:21,520
نمودار lib برای نمایش آن استفاده می کنم
253
00:08:21,520 –> 00:08:23,280
اکنون کاری که می توانم انجام دهم این است که فقط می توانم از یک تصویر
254
00:08:23,280 –> 00:08:25,520
ساده استفاده کنم. تابعی برای نمایش
255
00:08:25,520 –> 00:08:27,440
تصویر من است و به این تابع
256
00:08:27,440 –> 00:08:30,000
می گویند نمایش بنابراین می توانم بگویم نمایش
257
00:08:30,000 –> 00:08:31,759
و سپس می توانم در این
258
00:08:31,759 –> 00:08:34,320
بگذرم مسیر را طی می کنم و مسیر من
259
00:08:34,320 –> 00:08:37,360
فایل زیر خط تصویر است می توانم آن را اجرا کنم و سپس
260
00:08:37,360 –> 00:08:38,799
می توانم تصویر را
261
00:08:38,799 –> 00:08:42,240
در خط نمایش دهم من
262
00:08:42,240 –> 00:08:44,480
وضوح کامل تصویر را دارم بنابراین
263
00:08:44,480 –> 00:08:46,000
برای این ویدیو کمی بزرگ است،
264
00:08:46,000 –> 00:08:47,920
اما فکر می کنم مهم است زیرا اگر
265
00:08:47,920 –> 00:08:50,160
این کار را انجام نمی دادم و اگر فقط از
266
00:08:50,160 –> 00:08:52,800
matplotlib استفاده می کردم، یک فایل بسیار کوچک خواهد بود
267
00:08:52,800 –> 00:08:53,839
و می تواند
268
00:08:53,839 –> 00:08:56,959
همچنین رمزگشایی
269
00:08:56,959 –> 00:08:58,880
کاراکترهای واقعی یا کلمات
270
00:08:58,880 –> 00:08:59,600
حروف
271
00:08:59,600 –> 00:09:02,240
در این تصویر دشوار است، بنابراین این تصویر اصلی است
272
00:09:02,240 –> 00:09:03,360
که ما در
273
00:09:03,360 –> 00:09:04,800
طول این فیلمنامه
274
00:09:04,800 –> 00:09:06,080
با آن کار خواهیم کرد، کاری که اکنون
275
00:09:06,080 –> 00:09:07,600
در بقیه فیلمنامه انجام خواهیم داد. آیا
276
00:09:07,600 –> 00:09:08,320
ما به دنبال آن
277
00:09:08,320 –> 00:09:10,800
هستیم این نه گام برای معکوس کردن
278
00:09:10,800 –> 00:09:12,880
تصویر برای تغییر مقیاس تصویر برای باینریزه
279
00:09:12,880 –> 00:09:13,360
280
00:09:13,360 –> 00:09:15,600
کردن حذف نویز و غیره در لیست وجود دارد، به
281
00:09:15,600 –> 00:09:17,360
عبارت دیگر ما از opencv
282
00:09:17,360 –> 00:09:19,600
برای دستکاری این تصویر استفاده می کنیم و سپس در
283
00:09:19,600 –> 00:09:20,640
پایان این
284
00:09:20,640 –> 00:09:22,160
ویدیو به ما می رویم. در پایان این ویدیو،
285
00:09:22,160 –> 00:09:23,440
توابعی را برای انجام تمام این مراحل مختلف ایجاد
286
00:09:23,440 –> 00:09:24,640
287
00:09:24,640 –> 00:09:26,240
می کنیم
288
00:09:26,240 –> 00:09:27,920
، همه این تصاویر را
289
00:09:27,920 –> 00:09:31,040
در کنار هم در یک ستون 3×3
290
00:09:31,040 –> 00:09:32,880
با تصویر اصلی در بالا نمایش می دهیم و
291
00:09:32,880 –> 00:09:34,480
این به ما امکان می دهد ببینیم که چگونه هر کدام
292
00:09:34,480 –> 00:09:35,360
این مراحل
293
00:09:35,360 –> 00:09:38,399
کمی متفاوت بر خروجی ما تأثیر میگذارد،
294
00:09:38,399 –> 00:09:39,519
بنابراین سعی
295
00:09:39,519 –> 00:09:40,880
میکنیم از شر مرزها خلاص شویم، سعی میکنیم
296
00:09:40,880 –> 00:09:42,160
بخشی از این نویز را پاکسازی کنیم، ما آن
297
00:09:42,160 –> 00:09:43,600
را معکوس میکنیم و آن را تبدیل میکنیم.
298
00:09:43,600 –> 00:09:45,279
در چند مرحله بعدی همه چیز را سیاه و سفید کنید،
299
00:09:45,279 –> 00:09:46,000
300
00:09:46,000 –> 00:09:48,000
بنابراین بیایید جلوتر برویم و با
301
00:09:48,000 –> 00:09:49,360
تصاویر معکوس شروع
302
00:09:49,360 –> 00:09:51,360
کنیم، بنابراین اولین کار ما
303
00:09:51,360 –> 00:09:52,640
معکوس کردن یک تصویر است، یک تصویر وارونه
304
00:09:52,640 –> 00:09:54,480
305
00:09:54,480 –> 00:09:56,399
زمانی به نظر می رسد که وقتی تمام پیکسل های مختلف را می گیرید، به
306
00:09:56,399 –> 00:09:58,000
نظر می رسد. و شما آنها
307
00:09:58,000 –> 00:09:59,839
را دقیقا برعکس آنچه هستند می سازید
308
00:09:59,839 –> 00:10:01,920
بنابراین چیزهایی که در طیف سفید
309
00:10:01,920 –> 00:10:03,760
هستند به
310
00:10:03,760 –> 00:10:05,839
چیزهای سیاه در طیف
311
00:10:05,839 –> 00:10:06,800
312
00:10:06,800 –> 00:10:09,120
سیاه تبدیل می شوند، بنابراین پرتوهای خاکستری تیره سیاهان برعکس می شوند، بنابراین
313
00:10:09,120 –> 00:10:10,399
314
00:10:10,399 –> 00:10:13,120
همتای معکوس آنها در طیف سفید این
315
00:10:13,120 –> 00:10:14,079
316
00:10:14,079 –> 00:10:16,880
یک روش عالی برای پیش پردازش تصویر برای
317
00:10:16,880 –> 00:10:17,600
ocr بود.
318
00:10:17,600 –> 00:10:20,800
و tesseract با tesseract 3x، بنابراین
319
00:10:20,800 –> 00:10:22,000
320
00:10:22,000 –> 00:10:24,399
اگر از test direct 4.0 استفاده میکنید، rack 3.0 را تست کنید، این
321
00:10:24,399 –> 00:10:26,000
در واقع
322
00:10:26,000 –> 00:10:28,079
نتایج ضعیفی را نشان میدهد و روشی که در آن
323
00:10:28,079 –> 00:10:29,440
یک تصویر را از قبل پردازش میکنید این
324
00:10:29,440 –> 00:10:32,720
است که تصویر را به
325
00:10:32,720 –> 00:10:36,240
شکل uh یا روش بهینه برسانید. میتوان
326
00:10:36,240 –> 00:10:36,880
327
00:10:36,880 –> 00:10:38,399
آن را به روشی پردازش کرد که
328
00:10:38,399 –> 00:10:40,480
دادههای آموزشی پردازش میشوند، بنابراین روشی
329
00:10:40,480 –> 00:10:41,760
که سیستم
330
00:10:41,760 –> 00:10:43,920
در مورد انواع تصاویر یاد میگیرد، اینگونه است که
331
00:10:43,920 –> 00:10:45,440
میخواهید آن تصاویر
332
00:10:45,440 –> 00:10:48,640
را به سیستم ocr برسانید، بنابراین چه چیزی حتی
333
00:10:48,640 –> 00:10:50,079
اگر این برای آن بیربط باشد.
334
00:10:50,079 –> 00:10:52,399
tesseract 4.0 من هنوز می خواهم به شما نشان دهم
335
00:10:52,399 –> 00:10:53,760
که چگونه این کار را انجام دهید زیرا این یک
336
00:10:53,760 –> 00:10:55,279
گام مهم با روش های تمیز کردن خاص است،
337
00:10:55,279 –> 00:10:56,079
338
00:10:56,079 –> 00:10:58,560
بنابراین چگونه این کار را به خوبی انجام دهید
339
00:10:58,560 –> 00:11:00,399
خوشبختانه یک روش داخلی وجود دارد و می توانید این کار را
340
00:11:00,399 –> 00:11:01,839
با opencv انجام دهید،
341
00:11:01,839 –> 00:11:02,800
بنابراین آنچه ما هستیم این کار این است که
342
00:11:02,800 –> 00:11:04,240
یک شی جدید ایجاد می کنیم که
343
00:11:04,240 –> 00:11:06,000
این
344
00:11:06,000 –> 00:11:07,680
تصویر معکوس را می نامیم و آن را به صورت بیتی برابر
345
00:11:07,680 –> 00:11:09,680
با نقطه
346
00:11:09,680 –> 00:11:13,839
cv2 می کنیم و
347
00:11:13,839 –> 00:11:16,800
اگر به یاد داشته باشید تصویر خود را در img ارسال می کنیم.
348
00:11:16,800 –> 00:11:17,680
349
00:11:17,680 –> 00:11:20,800
این img را در بالا بارگذاری کردیم، بنابراین اجازه دهید به
350
00:11:20,800 –> 00:11:22,079
پایین اسکرول کنیم
351
00:11:22,079 –> 00:11:24,079
و سپس کاری که
352
00:11:24,079 –> 00:11:25,680
میخواهیم انجام دهیم این است که
353
00:11:25,680 –> 00:11:28,720
آن فایل را در پوشه داده موقت خود ذخیره میکنیم تا
354
00:11:28,720 –> 00:11:29,680
بتوانیم آن
355
00:11:29,680 –> 00:11:32,160
را با عملکرد خود نمایش دهیم. ما
356
00:11:32,160 –> 00:11:33,680
در بالا نوشتیم،
357
00:11:33,680 –> 00:11:34,560
بنابراین کاری که میخواهیم انجام دهیم این است که
358
00:11:34,560 –> 00:11:37,040
cv2.imright را بگوییم
359
00:11:37,040 –> 00:11:38,880
که به ما امکان میدهد آن
360
00:11:38,880 –> 00:11:41,040
فایل را در جایی از فهرست خود
361
00:11:41,040 –> 00:11:42,399
بنویسیم و میخواهیم بگوییم در کجا میخواهیم
362
00:11:42,399 –> 00:11:44,480
آن را بنویسیم. بنابراین ما میخواهیم بگوییم موقت
363
00:11:44,480 –> 00:11:48,240
معکوس نقطه معکوس
364
00:11:48,240 –> 00:11:51,120
jpg بنابراین jpeg و سپس میخواهیم بگوییم
365
00:11:51,120 –> 00:11:52,240
که آن فایل چیست،
366
00:11:52,240 –> 00:11:55,360
میخواهیم تصویر معکوس خود را ذخیره کنیم
367
00:11:55,360 –> 00:11:58,800
و اگر این کار را انجام دهیم میبینیم که
368
00:11:58,800 –> 00:12:01,760
یک خطای مشخصه داریم. bitwise است اوه
369
00:12:01,760 –> 00:12:04,240
اوه من فراموش کردم که زیر خط بیت
370
00:12:04,240 –> 00:12:06,880
را انجام دهم و به عنوان true برمی گردد،
371
00:12:06,880 –> 00:12:08,800
بنابراین ما اکنون آن فایل را رسما ذخیره کرده ایم
372
00:12:08,800 –> 00:12:11,360
حالا بیایید از تابع نمایش خود
373
00:12:11,360 –> 00:12:12,959
برای نمایش آن استفاده کنیم، بنابراین میخواهیم
374
00:12:12,959 –> 00:12:14,560
آن نقطه معکوس دمای
375
00:12:14,560 –> 00:12:17,360
jpg را فراخوانی کنیم و این را اجرا کنیم و
376
00:12:17,360 –> 00:12:18,399
اکنون
377
00:12:18,399 –> 00:12:22,240
یک تصویر معکوس از آن فایل
378
00:12:22,240 –> 00:12:24,079
اصلی داریم، بنابراین نسخه اصلی ما اینجا است و میبینیم
379
00:12:24,079 –> 00:12:25,360
اینکه وارونه
380
00:12:25,360 –> 00:12:27,600
دقیقاً همان کاری را انجام میدهد که گفتم همه
381
00:12:27,600 –> 00:12:29,519
مناطق روشنتر اکنون تاریک
382
00:12:29,519 –> 00:12:32,560
هستند همه مناطق تیرهتر اکنون روشن هستند،
383
00:12:32,560 –> 00:12:36,480
اما این یک مرحله ضروری
384
00:12:36,480 –> 00:12:39,279
در tesseract 4.0 نیست، اما این یک
385
00:12:39,279 –> 00:12:40,800
مهارت مهم برای درک
386
00:12:40,800 –> 00:12:43,040
نحوه اجرای بعدی است. چیزی که میخواهم
387
00:12:43,040 –> 00:12:43,839
به آن نگاه
388
00:12:43,839 –> 00:12:45,839
کنم چیزی است که اکنون به عنوان تغییر مقیاس شناخته میشود، من
389
00:12:45,839 –> 00:12:47,360
قرار نیست در اینجا کار زیادی با مقیاسگذاری مجدد
390
00:12:47,360 –> 00:12:47,920
391
00:12:47,920 –> 00:12:51,760
انجام دهم زیرا
392
00:12:51,760 –> 00:12:52,240
خوب
393
00:12:52,240 –> 00:12:53,760
انجام آن واقعاً دشوار است و کاملاً
394
00:12:53,760 –> 00:12:56,240
ضروری نیست، اساساً
395
00:12:56,240 –> 00:12:59,519
یک محدوده بهینه برای
396
00:12:59,519 –> 00:13:02,320
شما وجود دارد. فایل تصویری که باید در آن قرار گیرد تا
397
00:13:02,320 –> 00:13:03,920
ocr بهینه شده باشد
398
00:13:03,920 –> 00:13:05,680
و آن محدوده
399
00:13:05,680 –> 00:13:07,839
با ارتفاع کاراکترها که
400
00:13:07,839 –> 00:13:09,200
به dpi پایین می
401
00:13:09,200 –> 00:13:10,800
402
00:13:10,800 –> 00:13:13,040
403
00:13:13,040 –> 00:13:15,200
آید تعریف می شود. از آنجایی که
404
00:13:15,200 –> 00:13:18,079
برای انجام این کار به کمی دانش بیشتر در مورد opencv نیاز
405
00:13:18,079 –> 00:13:18,720
دارد
406
00:13:18,720 –> 00:13:20,639
و ما هنوز با این سری به آنجا
407
00:13:20,639 –> 00:13:21,839
نرسیدهایم، اما
408
00:13:21,839 –> 00:13:23,839
وقتی نوتبوک مشتری را
409
00:13:23,839 –> 00:13:25,440
روی github
410
00:13:25,440 –> 00:13:27,279
قرار میدهم این را پر میکنم تا بتوانید ببینید که ما
411
00:13:27,279 –> 00:13:29,120
فعلاً از آن صرف نظر
412
00:13:29,120 –> 00:13:30,560
می کنیم و به سمت باینریزه شدن می رویم.
413
00:13:30,560 –> 00:13:33,120
414
00:13:33,120 –> 00:13:36,399
باینریزه کردن فرآیندی است که در آن شما یک تصویر را باینریزه می کنید یا اکنون
415
00:13:36,399 –> 00:13:38,959
یک تصویر را به سیاه و سفید تبدیل می کنید تا یک تصویر به خوبی
416
00:13:38,959 –> 00:13:40,079
417
00:13:40,079 –> 00:13:41,519
به سیاه و سفید تبدیل شود.
418
00:13:41,519 –> 00:13:44,320
ابتدا باید در مقیاس خاکستری
419
00:13:44,320 –> 00:13:45,600
باشد، بنابراین اولین کاری که باید انجام دهیم این است که
420
00:13:45,600 –> 00:13:46,959
باید تابعی ایجاد کنیم که
421
00:13:46,959 –> 00:13:49,519
به طور خودکار
422
00:13:49,519 –> 00:13:52,000
تصویر ما را برای ما به مقیاس خاکستری تبدیل کند تا
423
00:13:52,000 –> 00:13:52,959
بتوانیم آن
424
00:13:52,959 –> 00:13:54,959
فایل خاکستری را ذخیره کنیم و سپس از آن فایل خاکستری استفاده کنیم.
425
00:13:54,959 –> 00:13:56,160
برای انجام
426
00:13:56,160 –> 00:13:59,199
binaurization بنابراین ابتدا اجازه دهید
427
00:13:59,199 –> 00:14:00,000
اولین مشکل را با
428
00:14:00,000 –> 00:14:01,920
یک تابع مقابله کنیم تا تصویر خود را به
429
00:14:01,920 –> 00:14:04,240
مقیاس خاکستری تبدیل کنیم، بنابراین ما این
430
00:14:04,240 –> 00:14:07,519
مقیاس خاکستری را صدا می زنیم و در واقع بله، اکنون
431
00:14:07,519 –> 00:14:08,959
آن را مقیاس خاکستری
432
00:14:08,959 –> 00:14:10,240
و کاری که می خواهیم انجام دهیم ما می
433
00:14:10,240 –> 00:14:11,440
خواهیم بگوییم این است یک چیز را می گیریم
434
00:14:11,440 –> 00:14:12,880
و این
435
00:14:12,880 –> 00:14:14,000
خود تصویر خواهد بود
436
00:14:14,000 –> 00:14:15,360
و سپس کاری که می خواهیم انجام دهیم این است که
437
00:14:15,360 –> 00:14:18,560
فقط برگردیم، رنگ
438
00:14:18,560 –> 00:14:22,079
cv2 dot cvt را
439
00:14:22,079 –> 00:14:24,720
با C بزرگ برگردانیم و می رویم
440
00:14:24,720 –> 00:14:25,920
برای تبدیل
441
00:14:25,920 –> 00:14:27,519
آن تصویر، این دو
442
00:14:27,519 –> 00:14:29,120
آرگومان به تصویر میگیرد
443
00:14:29,120 –> 00:14:30,720
و سپس اینکه چگونه میخواهیم آن تصویر
444
00:14:30,720 –> 00:14:32,240
تبدیل شود و این
445
00:14:32,240 –> 00:14:33,360
بخشی از
446
00:14:33,360 –> 00:14:35,440
نحو نحوی opencv
447
00:14:35,440 –> 00:14:37,199
خواهد بود، اگر آشنا نیستید برای شما کمی عجیب به نظر میرسد.
448
00:14:37,199 –> 00:14:37,760
با آن
449
00:14:37,760 –> 00:14:40,320
ما میخواهیم نقطه cv2 را بگوییم،
450
00:14:40,320 –> 00:14:41,760
میخواهیم بگوییم که حروف بزرگ
451
00:14:41,760 –> 00:14:45,360
رنگ زیر خط b g
452
00:14:45,360 –> 00:14:48,560
r به عدد دو
453
00:14:48,560 –> 00:14:50,480
خاکستری میگوییم.
454
00:14:50,480 –> 00:14:51,600
455
00:14:51,600 –> 00:14:54,880
456
00:14:54,880 –> 00:14:57,040
در آنجا کار کنید
457
00:14:57,040 –> 00:14:59,040
و حالا بیایید آن تصویر خاکستری را ایجاد کنیم، بنابراین
458
00:14:59,040 –> 00:15:00,480
ما می خواهیم ایجاد یک شی
459
00:15:00,480 –> 00:15:02,399
به نام تصویر زیر خط خاکستری را فراخوانی
460
00:15:02,399 –> 00:15:03,680
کنیم و آن را برابر با
461
00:15:03,680 –> 00:15:05,839
462
00:15:05,839 –> 00:15:08,079
img در مقیاس خاکستری کنیم، بنابراین آن شی
463
00:15:08,079 –> 00:15:09,120
را به آن منتقل می کنیم و سپس
464
00:15:09,120 –> 00:15:10,880
آنچه را که من میخواهم انجام دهم، میخواهم بگویم cv2
465
00:15:10,880 –> 00:15:12,560
dot من
466
00:15:12,560 –> 00:15:14,160
درست میگویم، بنابراین ما میخواهیم اکنون یک تصویر را
467
00:15:14,160 –> 00:15:16,639
دوباره در پوشه temp خود بنویسید، این
468
00:15:16,639 –> 00:15:18,079
تصویر در مقیاس خاکستری
469
00:15:18,079 –> 00:15:21,600
ما خواهد بود که آن را gray.jpg
470
00:15:21,600 –> 00:15:23,600
می نامیم و مطمئن می شویم که
471
00:15:23,600 –> 00:15:24,800
این تصویر خاکستری است
472
00:15:24,800 –> 00:15:28,480
و اگر این را اجرا کنیم
473
00:15:28,480 –> 00:15:30,880
همه چیز عالی کار می کند. همه
474
00:15:30,880 –> 00:15:32,240
خوشحالیم که درست شدیم
475
00:15:32,240 –> 00:15:35,040
یعنی تصویر ما اکنون ذخیره شده است، بیایید به
476
00:15:35,040 –> 00:15:35,839
جلو برویم و
477
00:15:35,839 –> 00:15:39,040
آن تصویری را که قرار است نمایش دهیم، آن را
478
00:15:39,040 –> 00:15:43,279
نمایش می
479
00:15:43,279 –> 00:15:44,880
480
00:15:44,880 –> 00:15:46,959
481
00:15:46,959 –> 00:15:47,920
482
00:15:47,920 –> 00:15:50,240
دهیم. فایل و اگر آن را در کنار هم دیدید
483
00:15:50,240 –> 00:15:51,120
، خیلی متفاوت به نظر نمی رسد،
484
00:15:51,120 –> 00:15:54,320
اما متوجه خواهید شد
485
00:15:54,320 –> 00:15:57,360
که برنزه یا رنگ های قهوه ای مایل به زرد، بنابراین
486
00:15:57,360 –> 00:15:58,560
رنگ های بژ اکنون
487
00:15:58,560 –> 00:16:00,480
خاکستری شده اند، این همان چیزی است که اکنون که ما تصویر سیاه و سفید به
488
00:16:00,480 –> 00:16:01,759
نظر می رسد.
489
00:16:01,759 –> 00:16:03,600
یک تصویر خاکستری داشته باشید، وقت آن رسیده است که
490
00:16:03,600 –> 00:16:06,000
آن تصویر را باینریزه کنید
491
00:16:06,000 –> 00:16:09,279
و آن را به
492
00:16:09,279 –> 00:16:12,399
نوعی سیاه و سفید تبدیل کنید
493
00:16:12,399 –> 00:16:13,759
و دلیل اینکه می خواهید
494
00:16:13,759 –> 00:16:15,600
ابتدا به مقیاس خاکستری تبدیل کنید این است که
495
00:16:15,600 –> 00:16:18,079
اجازه می دهد تا این فرآیند خیلی بیشتر انجام شود.
496
00:16:18,079 –> 00:16:19,920
به راحتی
497
00:16:19,920 –> 00:16:21,759
و بنابراین آنچه که ما می رویم در حال حاضر
498
00:16:21,759 –> 00:16:23,040
میخواهیم بگوییم
499
00:16:23,040 –> 00:16:27,120
کاما thresh i’m underscore bw
500
00:16:27,120 –> 00:16:29,440
این به معنای آستانه است و
501
00:16:29,440 –> 00:16:31,120
تصویر سیاه و سفید است.
502
00:16:31,120 –> 00:16:32,560
503
00:16:32,560 –> 00:16:34,880
504
00:16:34,880 –> 00:16:36,959
505
00:16:36,959 –> 00:16:39,360
به این صورت است که
506
00:16:39,360 –> 00:16:40,160
آستانه یک تصویر را
507
00:16:40,160 –> 00:16:43,279
در opencv تنظیم می کنیم و می گوییم
508
00:16:43,279 –> 00:16:46,800
تصویر خاکستری بنابراین اولین شی یا اولین
509
00:16:46,800 –> 00:16:48,720
پارامتر در اینجا باید اولین
510
00:16:48,720 –> 00:16:50,079
آرگومان خود تصویر باشد
511
00:16:50,079 –> 00:16:51,600
و سپس دو
512
00:16:51,600 –> 00:16:53,279
عدد صحیح i داشته باشیم. بعداً این
513
00:16:53,279 –> 00:16:54,959
اعداد صحیح را با جزئیات بسیار بیشتری توضیح خواهم داد،
514
00:16:54,959 –> 00:16:58,079
زیرا در حال حاضر فقط درک کنید که
515
00:16:58,079 –> 00:17:00,240
این اعداد آستانه و محدوده را کنترل می کنند،
516
00:17:00,240 –> 00:17:01,279
517
00:17:01,279 –> 00:17:02,560
اغلب اوقات شما
518
00:17:02,560 –> 00:17:04,880
با یک 2 7 شروع
519
00:17:04,880 –> 00:17:05,599
می کنید و با 2
520
00:17:05,599 –> 00:17:08,319
5 شروع می کنید. 5 در اینجا من می خواهم توضیح دهم که چرا با
521
00:17:08,319 –> 00:17:08,959
متن
522
00:17:08,959 –> 00:17:12,240
این همیشه پارامترهای درست
523
00:17:12,240 –> 00:17:13,280
در اینجا درست نیست
524
00:17:13,280 –> 00:17:14,720
و من این را فقط در یک ثانیه تنظیم می کنم
525
00:17:14,720 –> 00:17:16,000
این فقط برای
526
00:17:16,000 –> 00:17:18,160
نشان دادن آنچه در مورد بعدی
527
00:17:18,160 –> 00:17:19,599
که قرار است انجام دهیم است. اگر بگوییم
528
00:17:19,599 –> 00:17:22,319
cp2 dot thresh است، این همه
529
00:17:22,319 –> 00:17:23,359
530
00:17:23,359 –> 00:17:25,760
زیر خط بزرگ است و باینری تقریباً شش یا
531
00:17:25,760 –> 00:17:27,039
هفت روش مختلف برای
532
00:17:27,039 –> 00:17:29,200
تنظیم آستانه وجود دارد و من در
533
00:17:29,200 –> 00:17:30,559
حال حاضر به همه آنها نمی پردازم
534
00:17:30,559 –> 00:17:31,760
زیرا ما فقط سعی می
535
00:17:31,760 –> 00:17:33,760
536
00:17:33,760 –> 00:17:37,679
کنیم پس از انجام این کار اصول اولیه این فرآیند را پایین بیاوریم که اکنون می توانیم بگو
537
00:17:37,679 –> 00:17:41,600
cv2 cb2. من درست می گویم
538
00:17:41,600 –> 00:17:45,039
ما زیر خط im
539
00:17:45,039 –> 00:17:46,720
bw را می نویسیم، آن تصویر سیاه و
540
00:17:46,720 –> 00:17:48,080
سفید را پایین
541
00:17:48,080 –> 00:17:49,760
می نویسیم، بنابراین برای انجام این کار می گوییم temp
542
00:17:49,760 –> 00:17:51,600
backslash bw
543
00:17:51,600 –> 00:17:54,480
یا متاسفم bw تصویر تا سیاه و تصویر سفید
544
00:17:54,480 –> 00:17:55,280
545
00:17:55,280 –> 00:17:58,240
نقطه jpg و سپس میخواهیم بگوییم که
546
00:17:58,240 –> 00:18:00,480
میخواهیم imbw باشد،
547
00:18:00,480 –> 00:18:02,080
بیایید آن را اجرا کنیم و
548
00:18:02,080 –> 00:18:03,679
مطمئن شویم که همه چیز درست است و
549
00:18:03,679 –> 00:18:04,559
550
00:18:04,559 –> 00:18:06,559
اکنون زمان نمایش آن فرا رسیده است، بنابراین اکنون
551
00:18:06,559 –> 00:18:07,600
میخواهیم
552
00:18:07,600 –> 00:18:11,440
نمایش دمای بک اسلش bw
553
00:18:11,440 –> 00:18:14,880
تصویر نقطه jpg و چیزی که اکنون می خواهیم
554
00:18:14,880 –> 00:18:15,520
555
00:18:15,520 –> 00:18:17,760
ببینیم یک تصویر سیاه و سفید است اکنون می خواهم کمی وقت
556
00:18:17,760 –> 00:18:19,440
بگذارید و
557
00:18:19,440 –> 00:18:21,200
به این نگاه کنید آیا این نتیجه خوبی به نظر می رسد
558
00:18:21,200 –> 00:18:22,559
پاسخ منفی است
559
00:18:22,559 –> 00:18:23,760
اما جالب این است که در حالی که
560
00:18:23,760 –> 00:18:25,760
561
00:18:25,760 –> 00:18:26,640
خواندن آن برای ما انسان ها
562
00:18:26,640 –> 00:18:28,559
دشوارتر است، بعضی چیزها ممکن است برای ما آسان تر باشد
563
00:18:28,559 –> 00:18:30,400
ماشینی برای خواندن است اما در حال حاضر ما
564
00:18:30,400 –> 00:18:31,600
565
00:18:31,600 –> 00:18:33,600
پارامترهای کلیدواژه صحیح را نداریم، اوه،
566
00:18:33,600 –> 00:18:34,960
پارامترهای درست را در اینجا نداریم
567
00:18:34,960 –> 00:18:36,400
و در عوض میخواهید این را در جایی تنظیم کنید که
568
00:18:36,400 –> 00:18:38,160
احتمالاً برای این است
569
00:18:38,160 –> 00:18:41,520
، مثلاً 200 و 230
570
00:18:41,520 –> 00:18:44,559
و دوباره این را اجرا کنید. این دو سلول
571
00:18:44,559 –> 00:18:45,919
و اکنون چیزی
572
00:18:45,919 –> 00:18:48,320
شبیه به این دریافت می کنید آنچه در اینجا دارید نتیجه بسیار
573
00:18:48,320 –> 00:18:50,160
بهتری است در واقع شما احتمالاً می
574
00:18:50,160 –> 00:18:51,360
خواهید کمی بیشتر با این اعداد بازی
575
00:18:51,360 –> 00:18:52,320
کنید
576
00:18:52,320 –> 00:18:54,559
اما آنچه اکنون دریافت می کنید تصویری است
577
00:18:54,559 –> 00:18:56,000
که این کار را انجام می دهد.
578
00:18:56,000 –> 00:18:58,640
نویز زیادی را
579
00:18:58,640 –> 00:19:01,280
که در تصویر اصلی در اینجا مشاهده کردید، نداشته باشید،
580
00:19:01,280 –> 00:19:03,520
این همه پیکسل های کوچک رنگ ها و همه
581
00:19:03,520 –> 00:19:04,720
این چیزهای مختلف
582
00:19:04,720 –> 00:19:07,760
به شدت از بین می روند،
583
00:19:07,760 –> 00:19:10,320
اکنون با این تصویر خاص، احتمالاً می توانیم
584
00:19:10,320 –> 00:19:12,240
این را از طریق pi tesseract
585
00:19:12,240 –> 00:19:14,320
بدون هیچ گونه اجرا کنیم. نوعی دستکاری است
586
00:19:14,320 –> 00:19:16,080
و نتایج نسبتاً خوبی دارد، اما ما
587
00:19:16,080 –> 00:19:17,600
به دنبال نتایج نسبتاً خوبی
588
00:19:17,600 –> 00:19:20,640
نیستیم، با انجام این
589
00:19:20,640 –> 00:19:22,480
نوع کارهای پیش پردازش روی
590
00:19:22,480 –> 00:19:24,320
ocr یا فایل تصویر
591
00:19:24,320 –> 00:19:26,880
خود، نتایج بسیار بهتری خواهیم داشت.
592
00:19:26,880 –> 00:19:28,080
با فرآیند ocr
593
00:19:28,080 –> 00:19:30,240
و این به این دلیل است که ما میتوانیم
594
00:19:30,240 –> 00:19:31,440
595
00:19:31,440 –> 00:19:34,080
اسکریپت واقعی را در اینجا با
596
00:19:34,080 –> 00:19:35,840
فونت واقعی کاراکترهای واقعی در صفحه
597
00:19:35,840 –> 00:19:37,840
تضاد کنیم، میتوانیم آنها را بسیار بهتر کنتراست کنیم زیرا
598
00:19:37,840 –> 00:19:40,160
آن پسزمینه را درست کردهایم که
599
00:19:40,160 –> 00:19:42,000
همه آن رنگهای مختلف بژ و
600
00:19:42,000 –> 00:19:44,480
سایههای رنگهای تیره اکنون
601
00:19:44,480 –> 00:19:47,280
یک رنگ هستند و آن سفید روشن است
602
00:19:47,280 –> 00:19:49,200
و همین اتفاق در مورد پیکسلهای واقعی ما رخ داده است
603
00:19:49,200 –> 00:19:51,120
که نشاندهنده
604
00:19:51,120 –> 00:19:52,400
کاراکترهای صفحه
605
00:19:52,400 –> 00:19:54,960
هستند، آنها اکنون سیاه تیره هستند و این
606
00:19:54,960 –> 00:19:55,760
اجازه میدهد
607
00:19:55,760 –> 00:19:58,240
تا OCR بسیار بهتری داشته باشید و من نمیتوانم به اندازه کافی به شما استرس بدهم.
608
00:19:58,240 –> 00:20:00,240
که این دقیقاً در اینجا
609
00:20:00,240 –> 00:20:02,159
این تبدیل به خاکستری و این
610
00:20:02,159 –> 00:20:03,679
تبدیل به تهدید uh
611
00:20:03,679 –> 00:20:04,880
بازی با آستانه برای ایجاد یک
612
00:20:04,880 –> 00:20:07,039
تصویر باینری این
613
00:20:07,039 –> 00:20:09,280
مهم ترین مرحله در
614
00:20:09,280 –> 00:20:11,120
تمام این چند مرحله بعدی است که قرار است به
615
00:20:11,120 –> 00:20:11,760
شما نشان
616
00:20:11,760 –> 00:20:14,000
دهم دریافت یک باینری خوب است. تصویر و
617
00:20:14,000 –> 00:20:15,360
شما می خواهید کمی با این اعداد بازی
618
00:20:15,360 –> 00:20:15,840
619
00:20:15,840 –> 00:20:18,080
کنید تا چیزی که برای تصویر شما بهتر کار می کند
620
00:20:18,080 –> 00:20:20,720
را بدست آورید، اما همانطور که می خواهیم
621
00:20:20,720 –> 00:20:21,120
ببینیم
622
00:20:21,120 –> 00:20:23,360
زمان های مختلفی وجود دارد که افراد مختلف
623
00:20:23,360 –> 00:20:25,440
ملاقات می کنند. هدها ضروری خواهند بود
624
00:20:25,440 –> 00:20:26,559
و چیزی که در
625
00:20:26,559 –> 00:20:28,799
چند دقیقه آینده به آن نگاه خواهیم کرد
626
00:20:28,799 –> 00:20:29,120
این است که
627
00:20:29,120 –> 00:20:31,760
در مورد تصاویری که ممکن است
628
00:20:31,760 –> 00:20:33,120
نویز زیادی در پسزمینه
629
00:20:33,120 –> 00:20:35,200
داشته
630
00:20:35,200 –> 00:20:36,159
باشند چه کار کنیم. در
631
00:20:36,159 –> 00:20:40,640
حال حاضر، بنابراین آنچه اکنون داریم یک تصویر نسبتاً خوب است،
632
00:20:40,640 –> 00:20:41,360
633
00:20:41,360 –> 00:20:42,880
اما یکی از مواردی که
634
00:20:42,880 –> 00:20:44,400
اگر به این تصویر نگاه کنید ممکن است بلافاصله
635
00:20:44,400 –> 00:20:45,200
متوجه آن شوید
636
00:20:45,200 –> 00:20:46,480
و اگرچه کلمه آن را نمی دانید
637
00:20:46,480 –> 00:20:48,400
که هنوز مقداری
638
00:20:48,400 –> 00:20:51,120
نویز وجود دارد که نویز است. نویز
639
00:20:51,120 –> 00:20:52,159
چیزی شبیه به این
640
00:20:52,159 –> 00:20:54,880
پیکسلهایی است که با متنی مطابقت ندارند
641
00:20:54,880 –> 00:20:56,080
که همچنان
642
00:20:56,080 –> 00:20:59,280
برخی از موارد متنی را احاطه کردهاند، بنابراین
643
00:20:59,280 –> 00:21:00,720
این نویز در
644
00:21:00,720 –> 00:21:02,559
گوشه سمت راست پایین این
645
00:21:02,559 –> 00:21:04,880
پیکسلها در اطراف شماره یک محسوب میشود،
646
00:21:04,880 –> 00:21:06,159
اما شما واقعاً
647
00:21:06,159 –> 00:21:08,400
با چیزهایی مشکل خواهید داشت. مانند این، اکنون
648
00:21:08,400 –> 00:21:11,039
حقیقت را بگوییم که در اینجا در این
649
00:21:11,039 –> 00:21:11,679
حالت به
650
00:21:11,679 –> 00:21:14,080
اندازه کافی خوب است تا نتایج پیشرفته ocr را به دست آوریم
651
00:21:14,080 –> 00:21:14,720
652
00:21:14,720 –> 00:21:17,280
و وقتی می گویم وضعیت هنر منظورم
653
00:21:17,280 –> 00:21:19,120
محدوده صدک 98
654
00:21:19,120 –> 00:21:21,919
این است که به اندازه کافی خوب است، اما ما می توانیم بهتر انجام دهیم
655
00:21:21,919 –> 00:21:22,320
656
00:21:22,320 –> 00:21:23,520
و دلیل چرا می خواهم
657
00:21:23,520 –> 00:21:24,960
اقداماتی را انجام دهم تا به شما نشان دهم چگونه این کار را با
658
00:21:24,960 –> 00:21:25,760
این سند انجام دهید،
659
00:21:25,760 –> 00:21:27,840
حتی اگر در وضعیت کافی خوب
660
00:21:27,840 –> 00:21:30,240
است، به این دلیل است که همه اسناد به همان اندازه ایجاد نمی شوند که
661
00:21:30,240 –> 00:21:30,799
662
00:21:30,799 –> 00:21:32,720
برخی از اسنادی که می خواهید پیدا
663
00:21:32,720 –> 00:21:35,600
کنید دارای تعداد زیادی هستند. از نویز اطراف آنها
664
00:21:35,600 –> 00:21:36,799
و چیزی که من در این ویدیو به شما نشان خواهم داد این
665
00:21:36,799 –> 00:21:38,559
است که چگونه می توانید از شر چیزهایی مانند
666
00:21:38,559 –> 00:21:39,200
این
667
00:21:39,200 –> 00:21:41,280
نقاط در اطراف کلمه داخلی و
668
00:21:41,280 –> 00:21:42,880
امور این
669
00:21:42,880 –> 00:21:44,880
نقاط کوچک خلاص شوید و ما این کار را
670
00:21:44,880 –> 00:21:46,400
با استفاده از روشی انجام می دهیم که ما
671
00:21:46,400 –> 00:21:48,799
در عرض یک ثانیه جزئیات بسیار بیشتری را مشاهده
672
00:21:48,799 –> 00:21:50,400
خواهیم کرد و از اتساع و
673
00:21:50,400 –> 00:21:53,360
فرسایش برای حذف نویز استفاده می
674
00:21:53,360 –> 00:21:55,840
کنیم، می خواهیم یک عملکرد جدید ایجاد کنیم.
675
00:21:55,840 –> 00:21:56,960
676
00:21:56,960 –> 00:21:59,919
677
00:21:59,919 –> 00:22:00,960
678
00:22:00,960 –> 00:22:02,960
قرار است یک آرگومان بگیریم، آن
679
00:22:02,960 –> 00:22:04,480
تصویری است که به آن منتقل کردیم،
680
00:22:04,480 –> 00:22:05,120
681
00:22:05,120 –> 00:22:06,720
اکنون در این تابع،
682
00:22:06,720 –> 00:22:08,480
باید numpy را وارد کنیم،
683
00:22:08,480 –> 00:22:10,960
بنابراین numpy را وارد کنیم، زیرا mp
684
00:22:10,960 –> 00:22:12,720
numpy راهی برای کارآمدتر کار کردن
685
00:22:12,720 –> 00:22:15,039
با عدد است. داده ها و
686
00:22:15,039 –> 00:22:17,120
حافظه به دلیل نحوه ذخیره آن
687
00:22:17,120 –> 00:22:18,400
من نمی روم برای وارد شدن به آن در این
688
00:22:18,400 –> 00:22:20,480
ویدیو درک کنید که این جزء
689
00:22:20,480 –> 00:22:21,280
690
00:22:21,280 –> 00:22:25,039
اصلی بیشتر یادگیری ماشینی و قوی ترین
691
00:22:25,039 –> 00:22:27,840
کتابخانه های پایتون است، بنابراین
692
00:22:27,840 –> 00:22:29,520
ما یک شی به نام
693
00:22:29,520 –> 00:22:33,039
هسته خواهیم داشت که برابر با np.ones خواهد بود
694
00:22:33,039 –> 00:22:35,440
و ما در اندازه
695
00:22:35,440 –> 00:22:36,400
برای اولین
696
00:22:36,400 –> 00:22:38,559
آرگومان هسته واقعی ما به این
697
00:22:38,559 –> 00:22:41,280
698
00:22:41,280 –> 00:22:44,000
شکل فکر می کنیم که چگونه در حال عبور و ضبط
699
00:22:44,000 –> 00:22:44,880
نویز هستیم
700
00:22:44,880 –> 00:22:46,720
و آرگومان دوم واحد
701
00:22:46,720 –> 00:22:48,080
نقطه np
702
00:22:48,080 –> 00:22:51,679
است. u و به آنجا می رویم
703
00:22:51,679 –> 00:22:55,520
8 کاری که باید انجام دهیم این است که باید
704
00:22:55,520 –> 00:22:57,120
آن تصویر را بر اساس این
705
00:22:57,120 –> 00:22:58,240
هسته ها تنظیم کنیم، بنابراین می خواهیم بگوییم که
706
00:22:58,240 –> 00:23:00,320
تصویر برابر با تصویر خواهد بود، بنابراین
707
00:23:00,320 –> 00:23:01,520
ما می خواهیم به متاسفم
708
00:23:01,520 –> 00:23:04,240
تصویر مساوی با cv2 dilate خواهد بود
709
00:23:04,240 –> 00:23:05,919
بنابراین از
710
00:23:05,919 –> 00:23:08,720
cv2 dot dilate استفاده می کنیم و
711
00:23:08,720 –> 00:23:09,120
این را
712
00:23:09,120 –> 00:23:11,280
برابر یا چند
713
00:23:11,280 –> 00:23:12,159
پارامتر مختلف در اینجا قرار می
714
00:23:12,159 –> 00:23:13,360
دهیم اولین چیزی که تصویر ما است
715
00:23:13,360 –> 00:23:15,200
که به آن منتقل می کنیم.
716
00:23:15,200 –> 00:23:16,559
بعدی به اندازه ی اتساع است
717
00:23:16,559 –> 00:23:17,679
که می خواهیم ببینیم
718
00:23:17,679 –> 00:23:19,039
و این به اندازه ی ما خواهد بود هسته و
719
00:23:19,039 –> 00:23:20,640
آرگومان بعدی یک آرگومان کلمه کلیدی
720
00:23:20,640 –> 00:23:21,360
به نام
721
00:23:21,360 –> 00:23:23,120
تکرار خواهد بود که ما آن را
722
00:23:23,120 –> 00:23:25,280
برابر با یک می کنیم، بنابراین فقط یک بار از
723
00:23:25,280 –> 00:23:25,679
تصویر
724
00:23:25,679 –> 00:23:29,840
برای اتساع در مرحله بعد باید
725
00:23:29,840 –> 00:23:33,600
واقعاً هسته دیگری داشته باشیم زیرا ممکن
726
00:23:33,600 –> 00:23:36,640
است این را در واقع یک e در آنجا قرار دهیم. به آن سمت بروید،
727
00:23:36,640 –> 00:23:38,000
این پایتونیک است،
728
00:23:38,000 –> 00:23:40,640
اما چیز دیگری که می خواهید
729
00:23:40,640 –> 00:23:41,360
داشته باشید،
730
00:23:41,360 –> 00:23:43,600
هسته دیگری است که بر اتساع فرسایش تأثیر می گذارد.
731
00:23:43,600 –> 00:23:45,679
732
00:23:45,679 –> 00:23:48,000
733
00:23:48,000 –> 00:23:50,080
734
00:23:50,080 –> 00:23:52,000
برای اینکه
735
00:23:52,000 –> 00:23:53,919
دقیقاً همان کار را انجام دهید، اما در برخی از مشکلات
736
00:23:53,919 –> 00:23:55,200
شما می خواهید اندازه
737
00:23:55,200 –> 00:23:56,400
738
00:23:56,400 –> 00:23:59,600
های متفاوتی برای کارهای مختلف داشته باشید، فقط در حال حاضر
739
00:23:59,600 –> 00:24:01,120
ما قصد داریم همه این
740
00:24:01,120 –> 00:24:03,520
کارها را تکرار کنیم، پارامتر دوم در
741
00:24:03,520 –> 00:24:08,559
اینجا خواهد بود. np.unt8
742
00:24:08,559 –> 00:24:10,799
و کاری که اکنون میتوانیم انجام دهیم این است که میتوانیم
743
00:24:10,799 –> 00:24:12,240
تصویر را انجام دهیم،
744
00:24:12,240 –> 00:24:13,840
یک بار دیگر تصویر را تغییر میدهیم و
745
00:24:13,840 –> 00:24:15,360
این برابر با
746
00:24:15,360 –> 00:24:17,760
نقطه cv2 خواهد بود و میخواهیم بگوییم این بار erode
747
00:24:17,760 –> 00:24:18,640
748
00:24:18,640 –> 00:24:21,120
و فرسایش فرسایش کلاس قرار
749
00:24:21,120 –> 00:24:22,240
است چند تفاوت داشته باشد nt چیزهایی
750
00:24:22,240 –> 00:24:23,360
که قرار است تصویر را بگیرد درست
751
00:24:23,360 –> 00:24:24,960
همانطور که قبل از اینکه
752
00:24:24,960 –> 00:24:26,159
هسته را
753
00:24:26,159 –> 00:24:28,799
754
00:24:28,799 –> 00:24:30,880
755
00:24:30,880 –> 00:24:32,080
756
00:24:32,080 –> 00:24:33,600
بگیرد برای انجام این کار
757
00:24:33,600 –> 00:24:35,600
باید تصویر را
758
00:24:35,600 –> 00:24:37,520
تغییر شکل دهیم، بنابراین میخواهیم بگوییم تصویر برابر
759
00:24:37,520 –> 00:24:38,799
760
00:24:38,799 –> 00:24:41,919
761
00:24:41,919 –> 00:24:44,720
762
00:24:44,720 –> 00:24:45,279
763
00:24:45,279 –> 00:24:46,640
764
00:24:46,640 –> 00:24:48,720
است با cv2.
765
00:24:48,720 –> 00:24:50,960
همه سرپوشها را در اینجا ببندید همه سرپوشها بسیار
766
00:24:50,960 –> 00:24:51,840
مهم
767
00:24:51,840 –> 00:24:54,880
هستند و بعد میخواهیم بگوییم هسته
768
00:24:54,880 –> 00:24:58,559
برای گرفتن آن اندازه یک بار دیگر
769
00:24:58,559 –> 00:25:00,880
و سپس میخواهیم بگوییم
770
00:25:00,880 –> 00:25:03,120
تصویر برابر با cv2
771
00:25:03,120 –> 00:25:05,200
uh dot خواهد بود و میخواهیم کمی آن را تار کنید،
772
00:25:05,200 –> 00:25:06,799
میخواهم بگویم
773
00:25:06,799 –> 00:25:08,720
تاری میانی و دوباره به همه این موارد فکر کنید،
774
00:25:08,720 –> 00:25:10,159
مانند مراحل مختلفی که ممکن
775
00:25:10,159 –> 00:25:11,360
است در فتوشاپ
776
00:25:11,360 –> 00:25:14,080
یا نوعی کتابخانه پردازش تصویر انجام دهید،
777
00:25:14,080 –> 00:25:14,880
و در نهایت
778
00:25:14,880 –> 00:25:16,080
یک استدلال دوم را انجام میدهیم.
779
00:25:16,080 –> 00:25:18,080
به 3. دوباره اینها
780
00:25:18,080 –> 00:25:18,640
781
00:25:18,640 –> 00:25:20,559
شکل این چیزها را کنترل می کنند
782
00:25:20,559 –> 00:25:22,159
شکل تاری و سپس
783
00:25:22,159 –> 00:25:25,760
ما می خواهیم تصویر را برگردانیم،
784
00:25:25,760 –> 00:25:27,600
بنابراین این مراحل ما برای
785
00:25:27,600 –> 00:25:28,960
حذف نویز
786
00:25:28,960 –> 00:25:31,039
در حال حاضر خواهد بود تا در واقع
787
00:25:31,039 –> 00:25:32,000
حذف نویز را وارد
788
00:25:32,000 –> 00:25:35,600
کرده و اجرا کنیم، ما به راهی نیاز داریم که
789
00:25:35,600 –> 00:25:38,720
اساساً آن را بنویسیم. در پوشه temp ما،
790
00:25:38,720 –> 00:25:39,600
791
00:25:39,600 –> 00:25:41,440
بنابراین بیایید بگوییم بدون نویز، این
792
00:25:41,440 –> 00:25:42,880
شی جدید ما برابر
793
00:25:42,880 –> 00:25:43,200
794
00:25:43,200 –> 00:25:45,520
با حذف نویز خواهد بود.
795
00:25:45,520 –> 00:25:47,600
796
00:25:47,600 –> 00:25:48,960
797
00:25:48,960 –> 00:25:50,720
در اینجا من
798
00:25:50,720 –> 00:25:53,440
زیر خط bw هستم و سپس کاری که
799
00:25:53,440 –> 00:25:55,039
میخواهیم انجام دهیم این است که
800
00:25:55,039 –> 00:25:57,600
آن را بنویسیم، بنابراین cv2 dot را انجام
801
00:25:57,600 –> 00:25:58,720
802
00:25:58,720 –> 00:26:00,880
میدهیم، همین الان یک بار آن را در
803
00:26:00,880 –> 00:26:02,720
پوشه temp خود مینویسیم مجدداً
804
00:26:02,720 –> 00:26:05,400
این را noise.jpg زیر خط می نامیم
805
00:26:05,400 –> 00:26:07,200
806
00:26:07,200 –> 00:26:09,520
و این همان noise ما خواهد بود
807
00:26:09,520 –> 00:26:10,720
808
00:26:10,720 –> 00:26:13,039
و بیایید جلو برویم و آن
809
00:26:13,039 –> 00:26:14,240
تابع را در حافظه بارگذاری کنیم و آن را
810
00:26:14,240 –> 00:26:16,640
اجرا کنیم و با یک خطای Stevie مواجه می شویم
811
00:26:16,640 –> 00:26:17,840
812
00:26:17,840 –> 00:26:19,840
که چه کاری را اشتباه انجام دادم. فکر میکنم
813
00:26:19,840 –> 00:26:21,440
ریختشناسی را اشتباه نوشتم،
814
00:26:21,440 –> 00:26:25,039
بیایید بیشتر
815
00:26:25,039 –> 00:26:28,240
ببینیم، حالا باید در آنجا خوب
816
00:26:28,240 –> 00:26:28,640
باشیم هستند
817
00:26:28,640 –> 00:26:30,080
و اوه ما درست را دریافت می کنیم، بنابراین
818
00:26:30,080 –> 00:26:31,200
همه چیز عالی کار شده است، بیایید
819
00:26:31,200 –> 00:26:32,000
جلو برویم
820
00:26:32,000 –> 00:26:34,880
و این فایل را نمایش دهیم، ما
821
00:26:34,880 –> 00:26:35,760
دمای
822
00:26:35,760 –> 00:26:39,120
بدون نویز را نمایش می دهیم.jpg
823
00:26:39,120 –> 00:26:41,200
و بیایید ببینیم چگونه به نظر می رسد و
824
00:26:41,200 –> 00:26:42,799
این همان چیزی است که تصویر ما می
825
00:26:42,799 –> 00:26:44,880
خواهم شما باید در اینجا یک یادداشت خاص
826
00:26:44,880 –> 00:26:46,960
در مورد همه این نویزهایی که در
827
00:26:46,960 –> 00:26:47,760
اینجا وجود دارد داشته
828
00:26:47,760 –> 00:26:50,720
باشید، یکی در حال حاضر بدون هیچ
829
00:26:50,720 –> 00:26:52,000
چیز در اطراف ظاهر می شود، اگر
830
00:26:52,000 –> 00:26:54,400
به بالا بروید، می توانید ببینید که یکی با یک سری نویز ابری شده است،