یادگیری رویکرد کاربردی به OpenCV با کاتلین
✅ سرفصل و جزئیات آموزش
آنچه یاد خواهید گرفت:
- به اندازه کافی مهارت پیدا کنید تا عملیات پیچیده OpenCV را روی تصویر انجام دهید.
- توانایی درک و استفاده از API اصلی کتابخانه OpenCV را بدست آورید.
- اعمال مفاهیم پردازش تصویر برای ایجاد تصاویر بهتر با OpenCV
- اشتراکگذاری کد OpenCV در پلتفرمهای مختلف به عنوان وابستگی کتابخانه
- یادگیری TDD و رویکرد کدنویسی تمیز در اپلیکیشن OpenCV
- اعمال الگوی طراحی در مسائل کدنویسی شناخته شده حین ساخت اپلیکیشنها
- مثالهای عملی از ویژگیهای پرکاربرد در اپلیکیشنهای محبوب موبایل یا دسکتاپ
- ویژگی پیچیده در اپلیکیشن اندروید توسعه دهید که از OpenCV استفاده میکند.
پیشنیازهای دوره
- دانش برنامهنویسی شیگرا
- درک کد برنامه کاتلین یا جاوا
- لپتاپ
- کتابخانه OpenCV
- گوشی اندروید (اختیاری) برای برخی پروژهها
- دانش اولیه جبر و هندسه
توضیحات دوره
دورهها و کتابهای زیادی وجود دارد که درک نظری خوبی از مفاهیم پردازش تصویر ارائه میدهند. اگر درکی از پردازش تصویر ندارید، پیشنهاد میکنیم یک دوره مقدماتی را بگذرانید یا یک کتاب مقدماتی را مطالعه کنید تا این دوره را بهتر درک کنید.
این دوره بهطور عمده برای کسانی طراحی شده است که میخواهند قدرت کتابخانه OpenCV را ببینند و همچنین از طریق کدنویسی یاد بگیرند. در این دوره، ابتدا مفاهیم اولیه را یاد خواهید گرفت و سپس کد را پیادهسازی خواهید کرد تا درک بصری از طریق کدنویسی بدست آورید.
اگر دانشجوی مبتدی یا سطح متوسط هستید، مطمئناً چیزهای زیادی خواهید آموخت. مهارتهای زیادی با پیشرفت در این دوره یاد خواهید گرفت. این مهارتها شامل TDD، کدنویسی تمیز، شناسایی مشکل و استفاده از الگوهای طراحی مناسب برای سادهسازی کد، موضوعی که بسیاری از توسعهدهندگان در شرکتهای بزرگ به آنها کمتر توجه میکنند، میباشد.
اگر دانشجوی پیشرفته هستید، این دوره برای شما به عنوان یک یادآوری عمل خواهد کرد.
در این دوره اپلیکیشنهای پیچیدهای را پوشش دادهایم که از مفاهیم پیشرفته برای دستیابی به نتایج جالب استفاده میکنند.
این دوره برای چه کسانی مناسب است؟
- کسانی که به یادگیری پردازش تصویر علاقهمند هستند.
- کسانی که میخواهند قدرت کتابخانه OpenCV را کشف کنند.
- کسانی که میخواهند توابع پیچیده OpenCV را بیاموزند و بسازند.
یادگیری رویکرد کاربردی به OpenCV با کاتلین
-
آشنایی با دوره - قسمت 1 02:01
-
آشنایی با دوره - قسمت 2 02:29
-
الزامات برای توسعه در این دوره 03:25
-
ویندوز: نصب OpenCV - قسمت 1 02:55
-
ویندوز: نصب OpenCV - قسمت 2 04:19
-
ویندوز: نصب OpenCV - قسمت 3 07:01
-
لینوکس: نصب OpenCV - قسمت 1 02:08
-
پروژه: اصلاح در فایل build.gradle پروژه 01:09
-
پروژه: بررسی چکاوت پروژه و شروع به کار روی آن 11:47
-
معرفی 01:52
-
نگاتیو: تغییر تصویر به تصویر نگاتیو - قسمت 1 07:53
-
نگاتیو: تغییر تصویر به تصویر نگاتیو - قسمت 2 09:39
-
نگاتیو: تغییر تصویر به تصویر نگاتیو - قسمت 3 10:59
-
آستانهگذاری: آشنایی با Threshold API 05:29
-
آستانهگذاری: آستانهگذاری باینری (تبدیل تصویر به سیاه و سفید) 17:09
-
آستانهگذاری: آستانهگذاری OTSU (تبدیل تصویر به سیاه و سفید) 07:05
-
آستانهگذاری: فیکس کردن تصویر برای آستانهگذاری 05:49
-
آستانهگذاری: آزمایش پارامترهای مختلف و ریفکتورینگ کد 07:23
-
فیلتر سیاه و سفید 11:50
-
کاهش نویز: FastNL Mean Denoise API (حذف نویز از تصویر) - قسمت 1 04:18
-
کاهش نویز: FastNL Mean Denoise API (حذف نویز از تصویر) - قسمت 2 11:34
-
کاهش نویز: FastNL Mean Denoise API (حذف نویز از تصویر) - قسمت 3 06:22
-
شارپ کردن: تفاوت بین محو گاوسی و فیلتر لاپلاسیان - قسمت 1 28:00
-
شارپ کردن: پیادهسازی با فیلتر لاپلاسیان - قسمت 2 04:01
-
شارپ کردن: شارپ کردن تصویر رنگی با لاپلاسیان و گاوسی در YUV - قسمت 3.1 08:37
-
شارپ کردن: شارپ کردن تصویر رنگی با لاپلاسیان و گاوسی در YUV - قسمت 3.2 05:55
-
شارپ کردن: ریفکتوریگ کد - قسمت 5 04:05
-
نرم کردن: مقدمه 11:32
-
نرم کردن: پیادهسازی فیلتر گاوسی 18:49
-
نرم کردن: پیادهسازی فیلتر دوجانبه 09:31
-
نرم کردن: نرم کردن ناحیه خاصی در تصویر 25:04
-
نرم کردن: ریفکتوریگ کد تست 15:58
-
تصویر واضحتر: آشنایی با ماسک غیر شارپ 07:25
-
تصویر واضحتر: پیادهسازی ماسک کردن غیر شارپ 50:30
-
خلاصه بخش 01:49
-
آشنایی با تبدیلات 02:39
-
چرخش: آشنایی با rotation API 03:47
-
چرخش: پیادهسازی چرخش 20:17
-
چرخش: ریفکتوریگ کد 06:27
-
چرخش: درک ماتریس چرخش دوبعدی و warp affine 07:15
-
چرخش: بهبود کد چرخش برای چرخش در هر زاویه 20:51
-
مقیاسبندی: درک تبدیل مقیاسبندی 10:38
-
مقیاسبندی: بزرگ کردن تصویر با inter_linear و inter cubic 18:03
-
مقیاسبندی: کوچک کردن 16:01
-
مقیاسبندی: مقیاسبندی متفاوت در جهتهای x و y 11:54
-
ترجمه: درک ترجمه 05:06
-
ترجمه: پیادهسازی ترجمه 17:18
-
پرسپکتیو: درک تبدیل پرسپکتیو 06:18
-
پرسپکتیو: پیادهسازی تبدیل پرسپکتیو 21:40
-
پرسپکتیو: ریفکتوریگ و بهبود تبدیل پرسپکتیو 23:45
-
خلاصه بخش 02:29
-
هیستوگرام: آشنایی با متعادلسازی هیستوگرام 10:15
-
هیستوگرام: متعادلسازی هیستوگرام برای تصویر خاکستری 13:02
-
هیستوگرام: متعادلسازی هیستوگرام برای تصویر رنگی 13:29
-
تصحیح گاما: مقدمه 08:56
-
تصحیح گاما: پیادهسازی تصحیح گاما روی تصویر خاکستری - قسمت 1 05:40
-
تصحیح گاما: پیادهسازی تصحیح گاما روی تصویر خاکستری - قسمت 2 13:35
-
تصحیح گاما: تصحیح گاما روی تصویر رنگی 03:10
-
هیستوگرام تطبیقی: آشنایی با هیستوگرام CLAHE 09:23
-
هیستوگرام تطبیقی: اعمال هیستوگرام CLAHE روی تصویر خاکستری 15:24
-
هیستوگرام تطبیقی: اعمال هیستوگرام CLAHE روی تصویر رنگی 12:21
-
تصحیح اشباع: تنظیم کنتراست و روشنایی 08:38
-
تصحیح اشباع: اعمال روی تصویر خاکستری و رنگی 21:17
-
مقایسه الگوریتمهای مختلف: مقدمه 02:22
-
مقایسه الگوریتمهای مختلف با الگوریتم imadjust (از متلب) 18:16
-
بهبود سفارشی: مقدمه 12:14
-
بهبود سفارشی: توضیح الگوریتم 15:27
-
بهبود سفارشی: پیادهسازی imadjust برای تصویر خاکستری 30:23
-
بهبود سفارشی: ریفکتوریگ کد 13:23
-
بهبود سفارشی: اضافه کردن تست برای تصویر رنگی قبل از کدنویسی 02:05
-
بهبود سفارشی: اجرای تست 1 و ادامه و پیادهسازی برای تصویر رنگی 23:28
-
بهبود سفارشی: ریفکتوریگ و تست تصویر رنگی 25:18
-
خلاصه بخش 01:15
-
معرفی 01:02
-
عملیات متنی: اضافه کردن وظیفه متنی برای انجام 02:18
-
عملیات متنی: بررسی مستندسازی OpenCV 04:59
-
عملیات متنی: اضافه کردن متن به تصویر 49:50
-
عملیات متنی: اضافه کردن مستطیل دور متن 22:45
-
عملیات متنی: اضافه کردن متن چرخیده به تصویر 21:50
-
عملیات متنی: فیکس کردن مشکل شدت متن برای متن چرخیده اضافه شده 09:04
-
عملیات متنی پیشرفته: توضیح کد ریفکتور شده 07:25
-
عملیات متنی پیشرفته: پیادهسازی برای اضافه کردن متن با تبدیل پرسپکتیو 26:57
-
عملیات متنی پیشرفته: ریفکتوریگ کد 23:00
-
خلاصه بخش 00:52
-
معرفی 02:06
-
توضیحات طراحی 05:11
-
اسنپشات (الگوی طراحی memento) 06:14
-
فرمان (الگوی طراحی فرمان) 03:20
-
ریفکتوریگ کد 13:17
-
پیادهسازی - ویرایشگر و state manager - قسمت 1 10:01
-
پیادهسازی - ویرایشگر و state manager - قسمت 2 18:15
-
پیادهسازی - ویرایشگر و state manager - قسمت 3 27:31
-
پیادهسازی - ویرایشگر و state manager - قسمت 4 15:22
-
پیادهسازی کلاس اسنپشات 32:07
-
پیادهسازی ویرایشگر و backup manager - قسمت 1 13:42
-
پیادهسازی ویرایشگر و backup manager - قسمت 2 26:55
-
پیادهسازی ویرایشگر و backup manager - قسمت 3 14:19
-
پیادهسازی ویرایشگر و backup manager - قسمت 4 08:55
-
پیادهسازی ویرایشگر و کلاینت: مقدمه 02:25
-
پیادهسازی ویرایشگر و کلاینت - قسمت 1 20:24
-
پیادهسازی ویرایشگر و کلاینت - قسمت 2 12:47
-
پیادهسازی ویرایشگر و کلاینت - قسمت 3 23:10
-
پیادهسازی ویرایشگر و کلاینت - قسمت 4 05:45
-
پیادهسازی ویرایشگر و کلاینت - قسمت 5 31:30
-
ریفکتوریگ کد - قسمت 1 06:27
-
ریفکتوریگ کد - قسمت 2 19:33
-
ریفکتوریگ کد - قسمت 3 29:35
-
خلاصه بخش 01:28
-
معرفی 02:57
-
اضافه کردن انتشار و انتشار دستی 31:02
-
فیکس کردن مشکل انتشار 03:33
-
دسترسی به کتابخانه منتشر شده در پروژه متفاوت 11:32
-
جمعبندی آنچه انجام دادید و اینکه چگونه تست کنید 03:33
-
اضافه کردن GitHub action برای انتشار پکیج - قسمت 1 24:13
-
اضافه کردن GitHub action برای انتشار پکیج - قسمت 2 14:01
-
ریفکتوریگ بیلد Gradle و گردش کار انتشار کتابخانه 15:52
-
فیکس کردن مشکل گردش کار 06:29
-
اضافه کردن کشینگ - قسمت 1 04:35
-
اضافه کردن کشینگ - قسمت 2 07:05
-
اجرای موفقیتآمیز گردش کار انتشار کتابخانه 01:33
-
اضافه کردن پایپلاین تست CI 15:40
-
جمعبندی و خلاصه 05:45
-
آشنایی با اپلیکیشن اندروید 04:15
-
راهاندازی پروژه اندروید 08:17
-
مراحل ایمپورت OpenCV SDK 04:31
-
بررسی کد و فیکس کردن مشکل وابستگی 15:28
-
بررسی کد 13:25
-
خلاصه 01:17
-
آشنایی با ویژگی تشخیص خودکار 04:29
-
بررسی الگوریتم 14:22
-
درک هر مرحله با OpenCV API 26:23
-
بررسی کد تشخیص ناحیه مورد نظر 14:17
-
خلاصه 01:13
-
نکته پایانی 02:40
مشخصات آموزش
یادگیری رویکرد کاربردی به OpenCV با کاتلین
- تاریخ به روز رسانی: 1404/09/07
- سطح دوره:همه سطوح
- تعداد درس:134
- مدت زمان :26:29:04
- حجم :14.23GB
- زبان:دوبله زبان فارسی
- دوره آموزشی:AI Academy