ماژول 1: شروع کار با OpenCV در پایتون |
- مقدمه ای بر بینایی کامپیوتر
- مقدمه ای بر تصاویر
- مقدمه ای بر فضاهای رنگی
- عملیات پایه روی تصاویر و درک تصاویر Transparent
- حاشیه نویسی تصویر (Image Annotation)
- عملیات ریاضی روی تصاویر
- تنظیم روشنایی و تضاد تصویر
|
- تاریخچه بینایی کامپیوتر
- کاربردهای بینایی کامپیوتر
- مباحث و سرفصل های دوره
- خواندن، ذخیره کردن و نمایش ویدیو
- تصاویر خاکستری (Gray Scale)
- بریدن یک ناحیه از تصویر
- فضاهای رنگی- بخش 1 (جدا کردن و ادغام کانال های رنگی)
- فضاهای رنگی- بخش 2 (تغییر مقادیر هر کانال)
- فضاهای رنگی- بخش 3 (فضای رنگی HSV)
- درک کانال آلفا و ترنسپرنتی (Transparent)
- عملیات بیتی، ماسک کردن تصویر و ایجاد یک تصویر PNG
- رسم اشکال روی تصویر
- نوشتن متون فارسی و انگلیسی روی تصویر
- عملیات ریاضی (Arithmetic Operations)
- تنظیم روشنایی و کنتراست (با توابع خطی)
- تحلیل هیتوگرام تصویر و مشکل روش خطی تنظیم روشنایی و کنتراست
- تنظیم روشنایی و کنتراست (با تصحیح گاما)
|
ماژول2: خواندن و نوشتن ویدئو و ایجاد رابط کاربری گرافیکی |
- رابط کاربرب گرافیکی و کالبک در OpenCV
- خواندن و ذخیره کردن ویدئو و کار با انواع ورودی های ویدئویی نظیر دوربین مداربسته و وبکم
|
- رویداد کلیک ماوس
- سایر رویدادهای ماوس و رویدادهای صفحه کلید
- ایجاد یک برنامه ی ساده رسم نظیر قلم در Paint
- ایجاد یک برنامه برای annotate کردن اشیاء تصویر
- استفاده از Trackbar برای دریافت یک مقدار پیوسته از کاربر
- استفاده از وبکم
- خواندن فایل ویدئویی
- ذخیره کردن یک ویدئو در فایل
- کار با پروتکل RTSP و دوربین های مداربسته (CCTV)
- اسکرین صفحه به عنوان ویدئوی ورودی OpenCV
- خواندن ویدئو از یوتیوب و کار با گوگل کولب
|
ماژول 3: پردازش تصاویر باینری |
- آستانه گذاری
- عملیات مورفولوژی
- تحلیل مولفه های متصل
- تحلیل کانتور (Contour)
- تشخیص Blob و جمع بندی تصاویر باینری
|
- کاربردها
- حد آستانه گذاری یا Thresholding و باینری کردن تصویر
- روش Otsu برای پیدا کردن خودکار حد آستانه- تئوری
- پیاده سازی روش Otsu در پایتون
- آستانه گذاری تطبیقی
- مفاهیم dilation و erosion
- گسترش یا انبساط (Dilation)
- فرسایش (Erosion)
- عملیات Opening
- عملیات Closing
- پیاده سازی عملیات موفولوژی در پایتون
- Hit-or-miss
- مثال حذف خطوط افقی با عملیات موفولوژی
- مفاهیم تحلیل مولفه های متصل
- پیاده سازی تحلیل مولفه های متصل
- یافتن Contour
- تخمین Contour
- پوشش محدب (Convex hull)
- به دست آوردن دایره و مستطیل دربرگیرنده ی کانتورها
- محاسبه مساحت، moment و مرکز کانتور و سورت کردن اشکال
- الگوریتم Douglas-Peucker و تشخیص اشکال هندسی
- مثال تشخیص نواحی کلمات
- مثال شمارش سکه
- تشخیص blob
- کاربردهای مورفولوژی
|
ماژول4: بهبود تصویر و فیلترگذاری روی تصاویر |
- فضاهای رنگی و مقدمات خوشه بندی
- تبدیلات رنگ و هیستوگرام
- فیلترگذاری روی تصویر و کانولوشن
- گرادیان تصویر و لبه یابی (Edge Detection)
|
- فیلترگذاری روی تصویر با رنگ
- دستور inrange در OpenCV برای فیلتر کردن رنگ
- مثال فیلتر کردن رنگ آبی در ویدئو
- بررسی سایر فضاهای رنگی
- مثال تکنیک حذف پرده سبز
- مثال حذف پرده سبز با روشی دیگر و بررسی روی ویدئو
- مثال pop-effect
- خوشه بندی یا Clustering
- پیدا کردن رنگ های غالب با خوشه بندی
- بهبود نمایش رنگ های غالب
- هیستوگرام تصویر
- پیدا کردن رنگ های غالب با هیستوگرام
- یکنواخت سازی هیستوگرام و بهبود کنتراست تصویر
- الگوریتم CLAHE: روش پیشرفته یکنواخت سازی هیستوگرام
- مقایسه هیستوگرام ها و نرمال کردن هیستوگرام
- تصویر به عنوان یک تابع
- حذف نویز تصویر با میانگین متحرک (Moving Average)
- تفاوت کانولوشن و کرولیشن و مات کردن تصویر
- فیلتر غیرخطی میانه (Median)
- پیاده سازی حذف نویز و مات کردن تصویر در پایتون
- فیلتر Sharpening در پایتون
- لبه در تصویر چیست؟
- مفهوم گرادیان تصویر
- یک فیلتر لبه یابی (Edge Detection)
- پیاده سازی لبه یابی در پایتون
- فیلتر Sobel
- فیلتر لاپلاس یا Laplacian filter
- الگوریتم لبه یابی Canny
- پیاده سازی لبه یابی Canny
- میزان مات بودن تصویر (فوکوس خودکار)
|
ماژول 5: پردازش تصویر پیشرفته و عکاسی محاسباتی |
- تبدیلات هاف (Hough Transform)
- تصویر برداری دامنه دینامیکی بالا
- روش ویرایش تصویر پواسون یا Seamless Cloning
- ترمیم تصویر (Image Inpainting)
|
- کاربردهای تبدیل Hough
- تئوری تشخیص خط با استفاده از تبدیل هاف
- پیاده سازی تشخیص خط با استفاده از تبدیل هاف
- مثال تشخیص عقربه های یک ساعت با تبدیل هاف
- تئوری تشخیص دایره با استفاده از تبدیل هاف
- مفاهیم و پیاده سازی دامنه داینامیکی بالا (HDR)
- روش Seamless Cloning
- پیاده سازی Image Inpainting و مثال های تصویر قدیمی، حذف واترمارک روی تصویر و حذف جوش
- رفع مشکل نور زیاد در یک ناحیه
|
ماژول 6: تبدیل های هندسی و ویژگی های تصویر |
- تبدیل های هندسی
- ویژگی های تصویر
|
- تبدیلات هندسی خطی (چرخش، تغییر سایز و کج کردن)
- تبدیلات افاین (Affine Ttansformation)
- جابه جایی و چرخاندن تصاویر با تبدیلات هندسی
- چرخاندن تصویر با مرکزیتی متفاوت
- تغییر اندازه تصاویر
- تبدیل Projective
- محاسبه ماتریس تبدیل Affine با داشتن 3 نقطه
- هموگرافی و محاسبه ماتریس تبدیل Perspective با 4 نقطه
- پیدا کردن گوشه ها به روش Harris
- پیدا کردن گوشه ها به روش Shi-Tomasi
- نقاط کلیدی مورد علاقه (Interest Point) و الگوریتم SIFT
- ادامه الگوریتم SIFT و مفهوم Scale-Space
- پیاده سازی الگوریتم SIFT
- الگوریتم ORB
- تطبیق ویژگی ها
- مثال تشخیص اسکناس با داشتن اسکناس نمونه
- ایجاد تصاویر پاناروما
|
ماژول 7: بخش بندی و بازشناسی تصویر |
- بخش بندی تصویر با استفاده از GrabCut
- مقدمه ای بر هوش مصنوعی
- طبقه بندی تصاویر
- تشخیص اشیاء
|
- بخش بندی تصویر با استفاده از GrabCut
- مقدمه ای بر یادگیری ماشین
- یادگیری نظارت شده- طبقه بندی
- مثال طبقه بندی ارقام دست نویس فارسی
- مثال های طبقه بندی ارقام دست نویس انگلیسی و حروف انگلیسی
- طبقه بندی SVM
- الگوریتم HOG
- پیاده سازی HOG در پایتون
- تشخیص عابر پیاده با HOG
- روش تشخیص اشیاء Voila Jones به همراه مثال تشخیص چهره و چشم ها
|
ماژول 8: تحلیل ویدئو |
- الگوریتم جریان نوری (Optical flow)
- تفریق پس زمینه و شناسایی اشیاء متحرک
- ردیابی اشیاء (Object Tracking)
|
- Sparse Optical Flow
- Dense Optical Flow
- تفریق پس زمینه و شناسایی اشیاء متحرک
- ردیابی با الگوریتم های Meanshift , Camshift
- ردیابی اشیاء در OpenCv
- ردیابی چند شی ای (Multi-Object Tracking)
|
ماژول9: یادگیری عمیق با OpenCV |
- طبقه بندی تصویر (Image Classification)
- شناسایی اشیاء (Object Detection)
- شناسایی و بازشناسی چهره (Face Detection and Recognition)
- تخمین حالت بدن (Human Pose Estimation)
- بخش بندی (Image Segmentation)
|
- یادگیری عمیق و تفاوت آن با یادگیری ماشین و هوش مصنوعی
- معرفی چالش Image-net و Caffe Model Zoo
- لود کردن مدل قبلا آموزش داده شده از TensorFlow
- لود کردن مدل تشخیص اشیاء از فریم ورک (TensorFlow)
- شناسایی چهره با YuNet
- بازشناسی چهره عمیق
- مدل OpenPose
- مدل Mask R-CNN برای تشخیص اشیاء و بخش بندی تصویر
|