این آموزش پردازش تصویر در واقع بخشی از این بسته جامع آموزش بینایی کامپیوتر است. این آموزش تلاشی است برای ایجاد یک شیرجه سریع به دنیای پردازش تصویر و آموزش OpenCV برای پیادهسازی پردازش تصویر با پایتون!
سرفصلهای این آموزش به گونهای طراحی شده که در مدت زمانی کوتاه، فراگیر بتواند یک ورود سریع و اصولی را به موضوع پردازش تصویر با پایتون تجربه کند. حتما ریز سرفصلها را در انتهای متن ببینید.
داستان این آموزش
قطعا در یک آموزش نمیتوان و نباید تمام مباحث پردازش تصویر را پوشش داد. زیرا مدت آموزش چنان طولانی میشود که فراگیر در نیمه راه ممکن است کار را رها کند. ضمنا آموزش دادن حجم بالای مطالب بدون آن که نیاز واقعی برای آن ایجاد شده باشد، فراگیر را به بیننده بیحرکت تبدیل میکند. مطالب کمی بعد از دیدن از ذهنش پاک میشود.
پس ما در واحد برنامهریزی آموزشی هم رویش، تصمیم گرفتیم تا نخست یک آموزش (همین آموزش) را برای ورود سریع و آشنایی شما با دنیای پردازش تصویر و الگوریتمهای پایهای آن تولید کنیم.
سپس در قالب عنوانهای آموزشی جداگانهای (که از این پس در هم رویش منتشر خواهند شد) هر بار یک مبحث جدید را به صورت مستقل تولید و منتشر کنیم تا فراگیرانی که اصول پردازش تصویر را آموختهاند بتوانند بسته به نیازشان امکانات جدید مثل تشخیص چهره، واقعیت افزوده، تشخیص اشیا و … را از دنیای پردازش تصویر و OpenCV هر بار به صورت مستقل دریافت و استفاده کنند.
این آموزش در یک نگاه
در ابتدا به سرعت با جایگاه پردازش تصویر در بینایی ماشین و هوش مصنوعی آشنا میشوید. سپس مبانی نظری پردازش تصویر و کتابخانه OpenCV شرح داده میشود. در ادامه کتابخانهها و ابزارهای کدنویسی لازم نصب میشوند.
با شروع کدنویسی میآموزید که چگونه یک تصویر و یا یک فیلم را با استفاده از OpenCV باز کنید، در یک پنجره اختصاصی نمایش دهید و سرانجام ذخیره کنید.
کار با دوربین و دریافت فریمهای ورودی دوربین و نمایش تصویر پیوسته آن در یک پنجره اختصاصی را فرا خواهید گرفت.
در این آموزش یاد خواهید گرفت که چگونه خط و شکلهای هندسی مانند دایره و مستطیل را با استفاده از OpenCV ترسیم کنید. همچنین با نحوه نوشتن متن و چالشهای آن آشنا خواهید شد.
یک فیلم از فریمهای پیشت سر هم (تصویرهای پشت سر هم) ساخته شده است. پس یاد خواهید گرفت که کارهای انجام شده روی تصویر، روی ویدیو هم قابل پیاده سازی هستند.
در این آموزش همچنین با نحوه پاسخ به رویدادهای موس کاربر آشنا شدید. این موضوع با نگاه پیادهسازی اپلیکیشنهای مهندسی ترسیم و همچنین اپلیکیشنهای گرافیکی آموزش داده شد.
در پایان در قالب درسهایی برای آموزش انتخاب یک ناحیه از عکس (ROI)، جمع دو تصویر و عملگرهای بیتی روی عکسها در واقع تلاش خواهیم کرد که نگاه ماتریسی و آرایهای شما به پیکسلهای یک عکس را تقویت کنیم.
در پایان این آموزش image processing، شما با دنیای پردازش تصویر و کتایخانه OpenCV برای پیادهسازی پردازش تصویر با پایتون آشنا شدهاید. آماده پیادهسازی ایدههای خود و همچنین بررسی منابع مختلف در این زمینه هستنید. میتوانید کدهای دیگر توسعهدهندگان را بخوانید. میتوانید آنچه آموختید را تعمیم دهید و ماژولهای تازهای را در OpenCV یاد بگیرید و استفاده کنید.
این آموزش برای چه کسانی است؟
کلیه برنامهنویسان در حوزههای مختلف وب، سرور و اپ، امروزه باید آموزش پردازش تصویر ببینند و امکانات آن آشنا باشند. خواه خودشان یا اعضای گروهشان بخواهند حرفهای در زمینه پردازش تصویر کار کنند و خواه صرفا بسته به نیاز شاید در آینده در بخشی از اپلیکیشنهایشان نیاز به آن داشته باشند، باید این آموزش را ببینند.
دانشجویان و متخصصین دیگر رشتههای علوم و مهندسی، میتوانند و بایستی این آموزش پردازش تصویر را تهیه و استفاده کنند تا دست کم از امکانات موجود در این زمینه باخبر شوند.
پیشنیاز این آموزش
برای استفاده از این آموزش image processing باید با زبان برنامهنویسی پایتون دست کم تا شی گرایی آشنا باشید. بدین منظور میتوانید از این آموزش پایتون (+) هم رویش استفاده کنید.
آموزشهای پروژهای
پروژههای کاربردی پردازش تصویر که در ادامه این آموزش منتشر خواهند شد:
1- آموزش تشخیص چهره با پایتون و OpenCV
2- آموزش واقعیت افزوده با پایتون و OpenCV
3- ادامه دارد …
saleh.hp@gmail.com (خریدار محصول) –
سلام و وقت بخیر
تشکر از دوره خوب شما
من تونستم طبق آموزش شما عکس رو نمایش بدم و رسم خط رو هم روی عکس تونستم انجام بدم اما برای خوندم فیلم دستور cap.read رو که استفاده کردم با پرینت گرفتن فیلم عدد صفر رو برمیگردونه pycharm و با cv2.imshow هیچ فیلمی نمایش پیدا نمیکنه. همچنین کامپایلر به خط دستور break هم ارور میده. ورژن pycharm من 2022.3.2 هست. لطفا راهنمایی بفرمایید
مصطفی آصفی –
سلام و سپاس. لطفا متن خطایی که دریافت می کنید رو ارسال کنید که بشه بهتر نظر داد. اگه کدها رو مشابه من نوشته باشین ممکنه این مشکل از نسخه CV شما باشه. مشابه من نصب کنید.
zeynabhaghzare66@gmail.com (خریدار محصول) –
سلام وقتتون بخیر باشه ممنون بابت دوره ی خوبتون
ببخشید توی قسمت 12 جایی که از توابع مربوط به event های موس استفاده میکنید وقتی مثلا از تابع cv2.setMouseCallback خواستم استفاده کنم اصلا در پیشنهادات اسم تابع نمیاد یعنی pycharm یه سری تابع پیشنهادی در هنگام نوشتن لیست میکنه ولی اون تابع و حتی سایر توابع که ازشون در ویدئو استفاده کردین مثل LBUTTONDOWN و… نیستن و وقتی خواستم ورژنهای دیگه ی opencv رو نصب کنم یا در نصب دچار مشکل بودن یا اینک باز هم اون توابع نمایش داده نمیشدن. من از متد dir استفاده کردم و دیدم که اون توابع وجود دارند در ماژول و وقتی دستی نوشتم توابع رو و run کردم اروری نداد.این مشکل عدم نمایش تابع های موجود در opencv چطور حل میشه؟ آیا مشکل از pycharm هست؟
مصطفی آصفی –
سلام سلامت باشین. احتمالا به این دلیله که پای چارم cv2 رو به عنوان ماژول نمی شناسه و به درستی به مفسر (محیط مجازی) شما متصل نیست. این لینک (+) می تونه برای رفع مشکل پای چارم بهتون کمک کنه.
رضا احمدی (خریدار محصول) –
سلام و خسته نباشید
من هم پایچارم را نصب کردم ولی کلمات پیشنهادی را نمیاره و از گوگل هم چیزی نتونستم بدست بیارم .ممنون میشم اگه راهنمایی کنید.
مصطفی آصفی –
سلام به شما. این مشکل تو پایچارم زیاد پیش میاد و دلیلش معمولا اینه که مفسر پایتون شما (معمولا تو محیط مجازی) رو به درستی شناسایی نمی کنه. گامهای گفته شده تو این مطلب (+) رو انجام بدین. همین طور از وی اس کد (+) می تونید استفاده کنید.
ali amiry –
سلام پای چارم رو طبق آموزش نصب کردم اما auto complete کار نمیکنه ممنون
مصطفی آصفی –
سلام به شما. این معمولا به دلیل این میتونه اتفاق بیفته که یا مسیر پایتون یا مسیر محیط مجازی به درستی توسط پای چارم شناسایی نشده. خیلی متداوله تو پای چارم و با گوگل کردن auto complete not work in pycharm میتونید از روشهای مختلفی برطرفش کنید.
ضمنا میتونید هم از آموزش رایگان پایین VScode رو هم امتحان کنید. من خودم الان مدتهاست دیگه پای چارم کار نمی کنم چون وی اس کد برای انواع زبان ها پلاگین داره و دیگه نیاز به چند IDE برای چند کار ندارم.
آشنایی با وی اس کد (+)
آموزش نصب و راه اندازی VSCode (+)
علی اشرفی –
با سلام خدمت شما
ممنون بابت دوره بسیار عالی
من به یه مشکل بر خوردم اینکه در حالت عادی وقتی ویدیویی رو فراخوانی و پخش میکنم سرعت مناسبی داره اما زمانی که از همون ویدیو برای تشخیص یک سری چیزها استفاده میکنم حالت اسلو موشن پیدا میکنه، چطور میتونم این مشکل رو برطرف کنم سرچ زیادی هم کردم اما موفق نشدم
متشکرم
مصطفی آصفی –
سلام و سپاس از لطف شما. این سوالتون احتمالا مربوط به آموزش یولو برای تشخیص اشیا (+) هست که اینجا مطرح کردین. اگه اون آموزش رو با دقت دیده باشین من اونجا گفتم که برای استفاده از یولو موقع پخش ویدیو باید از GPU استفاده کنید و با CPU این حالت اسلوموشن احتمالش هست.
مجید رضائی (خریدار محصول) –
درود بر استاد.
آیا پاسخنامه تمرین های دوره هم که فرمودید تحقیق کنیم در دسترس هست؟
مصطفی آصفی –
سلام و درود به شما آقای رضایی عزیز. در کل هدف بنده از ارائه تمرینها نفس تلاش و کشفی هست که حینش رخ میده. حل و درستیآزماییش با خود فراگیره. البته اگه شما در مورد تمرینی پیش رفتید و کدی زدید و حالا سوالی یا خطایی روی اون دارید اینجا مطرح کنید در خدمتتون هستم.
محمدامین (خریدار محصول) –
سلام استاد.خسته نباشید.ببخشید میتونیم ایمیلتون رو داشته باشیم تا مشکلاتمون رو تو قسمتایی که بعنوان تمرین واگذار کردین درمیون بزاریم و از راهنماییتون استفاده کنیم؟ممنون از آموزشهای خوبتون
مصطفی آصفی –
سلام سلامت باشین. من حقیقتا خیلی دوست دارم تک تک کمک کنم ولی واقعا با زمان محدودی که دارم شدنی نیست. بهتر اینه که سوالتون رو اینجا (البته بعد از این که واقعا خودتون تمرین کردین) بگذارید تا هم فکری کنیم. دقت کنید که سوالتون شامل سورس کد طولانی نباشه. روی یه بخش تمرکز کنید و اگه خطایی دارید یا کارتون درست کار نمی کنه مطرح کنید.
محمدحسین هاشمی (خریدار محصول) –
سلام و عرض ادب
بنده با این ارور در شروع کار رو به رو شدم.
لطفا راهنمایی کنید.
ModuleNotFoundError: No module named ‘cv2’
مصطفی آصفی –
سلام به شما. ببینید این خطا وقتی ایجاد میشه که CV2 نصب نباشه. لطفا فرآیند نصب opencv-python رو مشابه فیلم ها با دقت طی کنید.
البته ممکنه نصب کرده باشین ولی جای نادرست. مثلا تو محیط مجازیتون نصب نکردین. یا تو محیط مجازیتون نصب کردین اما الان که می خواید کد رو اجرا کنید محیط مجازیتون فعال نیست.
اگه قصد دارین تو محیط مجازی استفاده کنید اول محیط مجازی (venv یا virtualenv) رو فعال کنید بعد از محیط گرافیکی پایچارم یا با زدن دستور پایین تو ترمینال نصبش کنید:
pip install opencv-python
بعد می تونید استفاده کنید.
پینوشت: توصیه می کنم این فیلم رایگان ساخت محیط مجازی در پایتون رو ببینید.
الهه هاشمی (خریدار محصول) –
با سلام و خسته نباشید برای دوره مفید آموزش پردازش تصویر با OpenCV و پایتون.
من یک سوال داشتم . در ویدیوی پنجم . من برنامه را نوشتم و برنامه اجرا می شود . ولی برای if اول با تمامی کلید های کیبرد پنجره مورد نظر بسته می شود . همین برنامه را در ide خود پایتون اجرا می کنم درست است و بدون هیچ باگی اجرا میشود ولی در pycharm به این مشکل برخورد کردم . ممنون میشم اگر راهنمایی بفرمایید.
مصطفی آصفی –
سلام به شما خانم هاشمی. از جستجوی گوگل غافل نشید تا خودکفا بشید. برای مثال اگه همین خطا رو در گوگل جستجو کنید نتایجی مثل این (+) میتونن حاوی راهکارهایی باشن که یکی از اونها مشکل شما رو حل کنه.
علی جوی (خریدار محصول) –
با سلام
تشکر از آموزش خوبتون
استاد چطور میتونم یک خط رو توی تصویر یا فیلم پیدا کنم ؟
به طور مثال خطوط کنار جاده
مصطفی آصفی –
سلام به شما. سلامت باشید. اصولا آموزش ها رو بایستی ببینید که سرخط دستتون بیاد. بعد از این که برای مثال این آموزش بنده رو دیدین و کمی با فضای اوپن سی وی آشنا شدین باید دست به گوگل باشید. معمولا اونچه مشکل ماست پیش از ما در گروه های جهانی بررسی شده. این نمونه (+) رو برای مثال ببینید.
محمد بقایی –
با سلام خدمت استاد آصفی عزیز
ببخشید در این آموزش از چه نسخه ای از opencv استفاده شده، الان نسخه 4.5.2 اون موجود هست اگر از نسخه های قبلی مثل نسخه 3 یا 2 استفاده شده، هنوز هم قابل استفاده هست یا سینتکس و کلیات opencv تغییر کرده؟
مصطفی آصفی –
سلام به شما و سپاس از لطفتون. با نسخه های ورژن ۴ در اینجا کار کردیم.
zein tiz (خریدار محصول) –
سلام استاد.
ممنون از آموزشهای بسیار خوب تون.
من opencv رو نصب کردم تو ژوپیتر رو نسخه آخر پایتون و توی آناکوندا ولی موقع اجرا cv2 رو نمیشناسه. یه جایی تو این آموزش توی پای چارم هم انگار مورد مشابه پیش اومد فیلم رو نگه داشتین و اونجا فرمودین که cv2 رو درست ایندکس نکرده فیلم رونگه داشتین بعد حل شدن مشکل ادامه دادین. من متوجه نشدم منظور چیه؟؟ میشه این مورد رو بیشتر راهنمایی بفرمایید بلکه مشکل مشابه منم حل شه؟؟؟
مصطفی آصفی –
سلام به شما. لطفا برای شروع کار مشابه بنده تو پایچارم پیش برید.
احتمالا cv2 رو روی نسخه دیگه ای از پایتون نصب کردید. دقت کنید که cv2 رو دارید روی چه پایتونی و چه محیط مجازی ای نصب می کنید. این آموزش رایگان محیط مجازی در پایتون رو هم توصیه می کنم ببینید.
تو آموزش که اشاره کردین دقیق تر بگید کدوم درس و چه دقیقه ای منظورتونه که بتونم بهتر کمکتون کنم.
تا جایی که یادمه یه اختلال روی تطابق پایچارم با محیط مجازی معمولا این ایرادو تو پایچارم همراه میاره.
Mohammad (خریدار محصول) –
تشکر بابت این دوره عالی
استاد کاملا به مباحث تسلط داشتند و به صورت پایه شروع کردند.
امیدوارم کیفیت دوره ها همینجوری عالی بمونه 😉
مصطفی آصفی –
سلام به شما.
ممنون که برای اظهار نظر و ابراز انرژی مثبتتون وقت گذاشتید.
انشالله که آموزشها در زندگی حرفه ای شما مفید باشن.
وحید –
سلام مجدد؛
استاد یه نمونه رو عرض کرده بودم و فکر کنم نمونه مناسبی نبود.اجازه بدید اینجوری مطرح کنم:یک مثال دیگر
فرض کنید روی یک ورق چوب یا ورق فلزی یک شیار دارای عمق و عرض(عمق و عرض ثابت نیست اما در حد کمی تغییرات دارد)ایجاد نموده ایم (البته بر روی یک خط صاف ایجاد نشده و به شکل مثلا حرف ر ایجاد شده است)حال بخواهیم این شیار را دنبال کنیم.
البته رنگ نیز تا حدودی در شیار و بدنه ورق همرنگ می باشند.
باتشکر
وحید –
سلام مجدد؛
استاد منظور من یک شی ثابت نیست؛فرض کنید لبه های یک جوی آب رو بخواهیم دنبال کنیم و با انحراف به چپ یا راست کانال آبدر حد چند سانتیمتر؛ما هم فرامینی برای جابجایی پایه دوربین داشته باشیم.هنوز به مباحثی برای استفاده از این موضوع را دریافت نکردم(مثلا یک تکه از لبه کانال را در مرکز دوربین قرار میدهم و ….)لطفا راهنمایی بفرمایید
مصطفی آصفی –
سلام به شما. امیدوارم درست متوجه شده باشم. در این صورتی که توضیح دادید اگر لبه های جوی نشانه و ویژگی خاصی از نظر رنگ یا دانه بندی یا … دارن، در این صورت می تونید از الگوریتم های تشخیص اشیا استفاده کنید. حتی شاید بشه خود کانال رو به عنوان یک شی تعریف کنید.
اگر این جوی که گفتید از جنس خاک خاصی باشه این هم میشه که فیلتری تعریف کنید که رنگ بازتابی آب رو در میان خاک اطرافش دنبال کنید. در این صورت در مورد فیلترهای نور و رنگ و blob در پردازش تصویر بخونید.
وحید –
سلام استاد
تقریبا چندین آموزش رو رویت کردم در پردازش تصویر؛بنده قصدم از کار با پایتون این هست که می خواهم یک شیار را(که نمونه آن نیز وجود دارد) که در میانه تصویر دوربین در ابتدا هست را دنبال کرده و با جابجا شدن شیار؛فرامینی صادر شود.چگونه می توانم به این مهم دست یابم.
باتشکر از شما استاد بزرگوار
مصطفی آصفی –
سلام به شما. بنده البته خوب منظورتون رو متوجه نشدم. اما اگه بتونید اون شیاری رو که گفتید به عنوان یک شی یا مشخصات ظاهری مشخص توصیف کنید پس مساله شما در درجه اول تشخیص اشیا (Object Detection) و بعد ردیابی شی (Object Tracking) هست.
توصیه می کنم که اگه چنان که گفتید، آشنایی کافی با OpenCV و پردازش تصویر دارید مستقیم سراغ این آموزش تشخیص اشیا با یولو (+) و سپس این آموزش تکمیلی یولو برای تشخیص اشیای اختصاصی برید.
اگر هم با OpenCV آشنایی کافی ندارید طبیعتا با همین آموزش پردازش تصویر با OpenCV شروع کنید و بعد سراغ آموزش های بالا برید.
jafari.robot@gmail.com (خریدار محصول) –
سلام وقتتون بخیر
اول از همه خیلی ممنون از آموزش عالی تون نظیرش توی ایران نیست.
جلسه آخر گفتین که پیشنهاد کنید. پیشنهاد من اینه که اموزش های بیشتری توی بحث object tracking بسازین.
خیلی ممنون
مصطفی آصفی –
سلام و سپاس از لطف شما و این که برای ابزار محبت و پیشنهادتون وقت گذاشتین.
پیشنهاد بسیار خوبیه. پیش از این البته در رابطه با Object Detection دو عنوان آموزش YOLO (+) و آموزش تشخیص اشیای سفارشی با YOLO (+) منتشر شدن.
بر پایه این دو و البته پیشنهاد خوب شما جا داره که روی ROLO و الگوریتمهای مشابه هم کار بشه.
پیشنهادتون رو یادداشت کردم و حتما تلاش می کنم که در برنامه آموزش های در دست تولید قرارش بدم.
هم رویش رو در شبکه اجتماعی دلخواه دنبال کنید تا در صورت اقدام در این مورد مطلع بشید.
مهدی راد (خریدار محصول) –
سلام استاد، ببخشید در opencv برای گرفتن یک عکس از دوربین و ذخیره آن باید از چه دستوری استفاده کنیم ؟
مصطفی آصفی –
سلام به شما. اول این توضیح رو دقت کنید:
با چیزی که در درس ششم یاد گرفتیم می تونیم ورودی دوربین رو با VideoCapture فریم به فریم بخونیم. در واقع هر فریم یک عکس هست. در درس پنجم هم که ذخیره عکس با imwrite رو یاد گرفتیم. با ترکیب این دو شما می تونید فریم مورد نظر از دوربین رو ذخیره کنید.
حالا این نمونه بحث ها رو بررسی و تجربه کنید:
نحوه دریافت و ذخیره چند فریم از دوربین در OpenCV
ذخیره یک عکس از وبکم در OpenCV
ذخیره یک عکس از دوربین آنلاین و تبدیل به عکس
مصطفی آصفی –
سلام به شما. اول این توضیح رو دقت کنید:
با چیزی که در درس ششم یاد گرفتیم می تونیم ورودی دوربین رو با VideoCapture فریم به فریم بخونیم. در واقع هر فریم یک عکس هست. در درس پنجم هم که ذخیره عکس با imwrite رو یاد گرفتیم. با ترکیب این دو شما می تونید فریم مورد نظر از دوربین رو ذخیره کنید.
حالا این نمونه بحث ها رو بررسی و تجربه کنید:
نحوه دریافت و ذخیره چند فریم از دوربین در OpenCV
ذخیره یک عکس از وبکم در OpenCV
ذخیره یک عکس از دوربین آنلاین و تبدیل به عکس
مهدی راد (خریدار محصول) –
سلام استاد دوره opencv و yolo شما رو خریدم و دیدم. باید ی پروژه انجام بدم که نیازه همزمان ۸ بارکد (qr) رو از دوربین بخونه و محتویات رو برام برگردونه میشه لطفا راهنماییم کنید که چطوری باید انجامش بدم ممنون میشم
مصطفی آصفی –
سلام به شما. پیشنهاد می کنم این تکه کد QR Code در OpenCV (+) که با پایتون نوشته شده رو ببینید.
نمونه کدهای خوب دیگه ای هم تو بحث های مختلف در مخزن بالا هست که توصیه می کنم بررسی کنید.
پینوشت: دستوران ترسیم این نمونه کد خیلی سخت نیست؛ ولی به هر حال اگه با Matplotlib آشنایی ندارید میتونید این آموزش سریع matplotlib (+) رو ببینید.
امین (خریدار محصول) –
مشکل رو تا حدودی متوجه شدم درایور وب کم مال سال 2006 هستش وفایل بروزرسانی ندارد.من نرم افزار هایی که فرمودین رو ریختم و از طریقurl تصویر رو گرفتم حالا چطوری باید با پای چارم باهاش ارتباط بگیرم؟که تصویر گوشی رو نشان دهد سمت وبکم لپ تاپ نرود
امین (خریدار محصول) –
این پیغام رو python has stopped working با 3تا گزینه میده که یا دیباگ کنم یا برنامه رو ببندم یا انلاین مشکل رو حل کنم.هر سه مدل راه رفتم کمکی نکرد.نرم افزار خود وبکم هم cyberlink you cam9 هستش
مصطفی آصفی –
دوباره سلام. این پیام خطا نیست. این خروجی نهایی هست.
به کمک این مقاله تبدیل گوشی اندروید به وبکم (+) به جای وبکم سیستم از گوشی استفاده کنید تا مطمئن بشید که ایراد از وبکم هست یا نه.
اگه مشکل حل شد ینی برقراری ارتباط وبکمتون نادرسته. اگه حل نشد ینی کدهاتون جایی ایراد داره که باید خود خطا رو گزارش کنید تا بشه بهتر نظر داد.
امین (خریدار محصول) –
سلام خسته نباشید یک سوال داشتم.نرم افزار پای چارم یا پایتون نمی تونه با وبکم لپ تاپم ارتباط بر قرار کنه و کادر تصویر رو می بنده باید چکار کنم راهنمایی بفرمایید ممنون میشم.
مصطفی آصفی –
سلام. سلامت باشید. خطایی که در خروجی دریافت می کنید رو ارسال کنید تا بتونم بهتر نظر بدم.
محمد حریری (خریدار محصول) –
با عرض سلام و خسته نباشید
در صورتیکه بخواهیم از دوربین های آی پی تصاویر رو بگیریم به چه صورتی باید عمل کرد؟؟
مصطفی آصفی –
سلام به شما. دوربین های IP (به انگلیسی IP Camera) در OpenCV با استفاده از URL استریم ورودی دوربین قابل دسترس هستن.
معمولا نشانی Streaming URL ابن دوربین ها تحت یکی از پروتکل های http یا rtsp هست.
برای نمونه فرض کنید نشانی URL اسریم یک دوربین IP به این صورت باشه rtsp://192.168.1.64/1.
با این فرض، به صورت زیر باید در OpenCV دسترسی پیدا کنید:
cap = cv2.VideoCapture(‘rtsp://192.168.1.64/1’)
اگر هم نشانی استریم دارای نام کاربری و گذرواژه بود به صورت زیر
cap = cv2.VideoCapture(‘rtsp://username:password@192.168.1.64/1’)
مهرداد –
چون به این بخش از هوش مصنوعی خیلی علاقه دارم و کل وب فارسی رو زیر و رو کردم پیدا نشد یه چیزایی هست که به صورت پراکنده توضیح داده شده و چیزی به اسم صفر تا صد وجود نداره دقیقا نمی دونی باید از کجا شروع کنی…باید فرض رو بر این گرفت که من نوعی صفرم تو همه چی از کجا باید شروع کنم که کامپیوتر ویژن و دیپ لرنینگ رو با هم یاد بگیرم؟ مرحله به مرحله نه پراکنده.
ممنون
مصطفی آصفی –
متوجه شدم. ببینید اگر این طور که می فرمایید از نقطه صفر قصد دارید شروع کنید در پیشینه برنامه نویسی هم ندارید مسیر حرکتتون برای ورود به دنیای پردازش تصویر و سپس تجربه عملی یادگیری عمیق و کاربرد اون به صورت پایین می تونه باشه:
1- آموزش پایتون و برنامه نویسی از صفر (+)
2- آموزش پردازش تصویر (همین آموزش این صفحه)
3- آموزش تشخیص چهره به عنوان یک نمونه کاربرد پردازش تصویر و یادگیری عمیق (+)
بعد از دیدن این سه آموزش (حدودا 1 ماه فشرده) شما چنین وضعیتی خواهید داشت:
– شناختهها: وارد دنیای برنامه نویسی محض و سپس کدنویسی پردازش تصویر شدید. همین طور وارد دنیای OpenCV شدید که مستقل از پایتون می تونید در پروژه های صنعتی مستلزم سرعت اجرای بالا اون رو در سی پلاس پلاس هم (با شناختی که از توابع اون پیدا کردید) استفاده کنید. همین طور یک کاربرد از یادگیری عمیق در پردازش تصویر رو دیدید (تشخیص هویت از روی تصویر).
– جستجوها: حالا با شناختی که پیدا کردید می تونید برای خودتون در این مرحله تعیین مسیر کنید: شاید بخواهید الگوریتم های یادگیری عمیق رو بهتر درک کنید. که در این صورت منتظر باشید که از آبان ماه انشالله فصل به فصل یک دوره جامع یادگیری ماشین در هم رویش منتشر خواهد شد. شاید هم بخواهید در حوزه پردازش تصویر کاربردهای بیشتری رو یاد بگیرید. که در این صورت می تونید این آموزش واقعیت افزوده (+) و انشالله در ماه آینده یک آموزش تشخیص اشیا مبتنی بر یولو رو ببینید.
پینوشت: بینایی کامپیوتر (Computer Vision) یک حوزه کلی هست و پردازش تصویر یکی از بخش های اون. بینایی ماشین از مباحث سخت افزار تا نظریه های فیزیک و مبانی پردازش دیجیتالی تصویر تا تفسیر اون توسط یادگیری ماشین رو شامل می شه.
پینوشت 2: در هنگام ورود به یک مبحث اتفاقا دنبال آموزشهای صفر تا صد طولانی نباشید. این فقط یک فریب ذهن تنبل هست. نمی خواد دست به عمل بزنه و پیوسته دنبال آموزش جامع شما رو اذیت می کنه. دست به عمل بزنید. بعد کم کم وقتی عمل کردید می تونید بر اساس نیاز دانش نظری رو تقویت کنید. موفق باشید.
مهرداد –
با سلام،
شما می تونید دوره های کامپیوتر ویژن رو هم از ابتدا آموزش بدین؟؟ با پایتون یا سی پلاس پلاس من خیلی نیاز دارم
مصطفی آصفی –
سلام به شما. پیشنهادتون رو در برنامه ریزی دورههای آینده حتما در نظر می گیرم.
فقط اگه ممکنه منظورتون رو کمی با جزئیات بیشتر توضیح بدین. چه مواردی رو بیشتر احساس نیاز میکنید (و چرا؟)
dr.sh.masih@yahoo.com (خریدار محصول) –
درود جناب آقای آصفی
سپاسگزارم از شما ، روش تدریس بسیار گویا و قابل فهم
اگر امکانش هست در مورد تشخیص لبه و شناسایی اشیا هم مطلب آموزشی بگذارید
مصطفی آصفی –
سلام و سپاس از محبت شما. چشم انشالله به زودی مجموع درخواست دوستان رو جمع بندی و مباحث پروژه ای رو آغاز می کنم.
moahammadelectrical811@gmail.com (خریدار محصول) –
سلام استاد چرا شروع نمکیند پروژه پردازش تصویر رو؟
مصطفی آصفی –
سلام به شما. این مدت مشغول ضبط آموزشهایی بودم و همچنان هم هستم (مثل آموزشهای پروژهای جنگو) که بسیاری از دوستانتون برای ورود به بازار کار بهشون نیاز دارن.
انشالله پروژههای جنگو تموم بشه روی پروژههای پردازش تصویر هم کار می کنم.
A –
سلام
جزئيات آموزش مانند حجم و مدت زمانش رو هم لطفا درج كنيد
مصطفی آصفی –
سلام به شما. آموزش حدود 3 ساعت و نیم هست. حجم خروجی رو اطلاعی ندارم ولی باید حدود 500 مگابایت باشه.
رضا فرزانه پور –
سلامی دوباره
منظورم این بود که این علم حتما باید در صنعتی یا شغل تخصصی استفاده بشه یا بدرد ما که کاربر عادی هستیم هم میخوره؟
مثلا من میرم زبان پایتون و php و…یادمیگیرم چون میدونم بدردم میخوره به عنوان یک کاربر عادی( در هر زمینه ای)
ولی سمت متلب و مثلا علوم داده نمیرم چون میدونم در مقایسه با اینها استفاده کمتری میتونم ازش بکنم یا حتی بدردم نمیخوره چون یه چیز تخصصی هست
الانم در رابطه با سوالم در مورد پردازش تصویر منظورم همین بود تا چه اندازه بدردم میخوره؟
مصطفی آصفی –
سلام به شما. با توجه به توضیحی که دادید به جز حوزه های تخصصی هوش مصنوعی از پردازش تصویر در موارد پایین استفاده میشه:
1- رباتیک، الکترونیک و اینترنت اشیا – ترکیب برای مثال با میکروپایتون و ESP (+) – آیا دوست دارید بردی طراحی کنید با اتصال به یک ماژول دوربین که کار ثبت ورود افراد با پردازش عنبیه چشم رو انجام بده؟
2- وب اسکریپینگ (+) برای استخراج اطلاعات و تحلیل تصاویر (برای مثال استخراج اطلاعات پیج های اینستاگرام و تحلیل مد رنگ قالب مورد استفاده کاربران برای خط دهی به تولیدات دکوراسیون و پوشاک)
3- اپلیکیشن های کیوی (+) در حوزه پردازش لوکال متن (مثلا برای ترجمه) و ….
پینوشت: توصیه می کنم پادکست های فناوری از سیستم های پادکست گوش کنید تا از آخرین ایده ها مطلع بشید.
moahammadelectrical811@gmail.com (خریدار محصول) –
سلام استاد تشخیص ماشین حداقل کار کنید
مصطفی آصفی –
سلام به شما. میبخشید که پیگیری این بحث کمی به تاخیر افتاد.
به روی چشم ادامه این بحث رو در برنامه دارم.
شبکه های اجتماعی هم رویش رو با شناسه HamRuyesh دنبال کنید به موقع مطلع بشید انشالله.
moahammadelectrical811@gmail.com (خریدار محصول) –
سلام استاد کی پروژه محور مینویسید
رضا فرزانه پور –
سلام جناب آصفی خسته نباشید
ضمن عرض تشکر از وقت و انرژی که صرف تهیه دوره های جذاب و کاربردی و پاسخگویی برای ما میکنید،میخواستم اطلاع پیدا کنم به عنوان یه کاربر عادی خانگی چه استفاده ای میتونم از پردازش تصویر داشته باشم ؟ضمنا لازمه فراگیری این علم گذراندن چه پیش نیاز هایی هست ؟
سپاس
مصطفی آصفی –
سلام به شما. سلامت باشید.
پیشنیاز این دوره دونستن زبان برنامه نویسی پایتون (+) هست.
منظورتون رو از کاربر عادی خانگی متوجه نشدم. آیا منظورتون اینه که به صورت یک سرگرمی در منزل چیزهای درست کنید مبتنی بر پردازش تصویر؟
مهدی –
سلام
در این دوره از پایتون ورژن چند استفاده شده؟
مصطفی آصفی –
سلام به شما. پایتون 3.8 هست.
mohsenfiroozi1 (خریدار محصول) –
سلام بر استاد عزیزم. ایشاللا همیشه خوش و خرم و تندرست باشید.فرمودید نیازهای نرمافزاریمون رو مطرح کنیم. به نرم افزاری نیاز دارم که بتونه وارد سایتهائی بشه که برای جلوگیری از ورود رباتها ، از کاربر میخوان اعداد داخل تصویر رو تایپ کنه. اگه راهنمائی بیشتری بکنید یا آموزشی مرتبط با این موضوع تهیه کنید ممنون میشم. همچنین نرم افزار تشخیص چهره موضوع جالبیه. ممنونم.
مصطفی آصفی –
سلام به شماو سپاس از نظر لطفتون. بنده هم براتون آرزوهای خوب دارم.
به روی چشم. اگرچه در مورد انتشار آموزش تشخیص کپچا مردد هستم و نگران از سو استفاده برخی نابرنامهنویسان ولی هر دو پیشنهادتون رو جدی مورد بررسی قرار میدم.
ZIMA –
درود بر شما
من تمام آموزش های پایتون رو از مجموعه شما تهیه می کنم نیم ساعتی هست با مجموعه شما آشنا شدم آموزش ها نسبت به سایت های دیگه شفاف تره فقط اموزش
پروژه محور فروشگاه اینترنتی مشابه دیجی کالا لطفا آماده کنید
و
آموزش واقعیت افزوده بسیار مهمه چون آینده تجاری و بازی سازی روشنی داره
لطفا این دو تا رو آموزش ها رو بزارین سپاس
مصطفی آصفی –
سلام و ممنون از لطف شما و این که برای ارسال پیشنهادتون در مسیر بهبود کار وقت گذاشتین.
هر دو موردی که فرمودید در مسیر تولید هستند.
امیر محمد کهنگی –
سلام استاد .
این برای یادگیری این آموزش به جز زبان پایتون باید چیز دیگری (به طور مثال سخت افزار های دیگر) هم بلد باشیم یا تنها پایتون کافی است ؟
مصطفی آصفی –
سلام به شما. خیر پیش نیاز دیگه ای برای این ورود به دنیای پردازش تصویر نیاز نیست. فقط پایتون رو تا حد استفاده از کلاس ها و کتابخانه ها باید بلد باشید.
p.najafian1212@gmail.com (خریدار محصول) –
سلام مجدد
با توجه به اینکه سوال فوری راجب این مباحث ازتون دارم، ممنون میشم ایمیلتون رو پاسخ بدید.
p.najafian1212@gmail.com (خریدار محصول) –
سلام و وقت بخیر
چندیییییییین فایل مختلف در رابطه با یادگیری opencv در پایتون خریداری و دانلود کرده بودم و هیچ کدومش متاسفانه اصولی و دقیق یاد نداده بودند. ولی این آموزشی که سایت شما اراائه داده واقعاااااا عالی بود و خیلیییی راضیم. خیلی خوشحالم که شما رو پیدا کردم
فقط الان که اون فایل تموم شد و اومدم دوباره توی سایتتون سرچ کردم راجب مباحث موضوع محور، چیزی پیدا نکردم. نمیدونم من پیدا نمیکنم یا هنوز فایلی ارائه نشده.
من الان به دو تا مبحث نیاز دارم: 1-ترکینگ 2-استفاده از اسکنرهای سه بعدی ( پیداکردم مختصات و حجم آبجکت)
مورد 2 خیلی برام واجب تره. ممنون میشم پاسخ بدید که آیا همچین فایلی برای خریداری توی سایتتون هست ؟
مصطفی آصفی –
سلام به شما و بسیار ممنونم که برای ابراز محبتتون وقت گذاشتین.
مواردی که فرمودین در حال حاضر تولید نشده اما موارد خوبی رو اشاره کردین. بنده هم منتظر بودم که نیازهای اصلی فراگیران رو به صورت موردی دریافت کنم.
انشالله این موارد و موارد کاربردی اصلی برای رفع نیاز پژوهشگران به زودی در هم رویش منتشر خواهند شد.
صفحه اینستاگرام هم رویش با شناسه hamruyesh رو دنبال کنید تا از لحظه انتشار این موارد مطلع بشین.
محسن –
با سلام و احترام
احتراما من میخواهم ترک ها و شکاف های موجود در یک عکس برای مثال عکس میکروسکوپ الکترونی (SEM) را شناسایی و تحلیل کنم. ایا این اموزش برای این منظور کاربردی می باشد؟
با تشکر
مصطفی آصفی –
سلام به شما. خیر دوست عزیزم در این آموزش شما به صورت اصولی مطابق سرفصلها که در بخش توضیحات آموزش نوشته شده، وارد دنیای پردازش تصویر خواهید شد. انشالله آموزشهای موردی مانند تشخصی آبجکت در opencv و … به زودی بر پایه این آموزش منتشر خواهند شد.
البته با تهیه این آموزش شما قادر هستید که در پایان برای حل مشکلات خود در دنیای پردازش تصویر جستجو کنید و پاسخهای مطرح در تالارهای جهانی را درک کنید.
امیر –
با درود
اینجا گفتید با استفاده از دوربین ، دقیقا چه دوربینی؟
موبایل یا هر دوربینی که به کامپیوتر وصل بشه؟
مصطفی آصفی –
سلام به شما. هر دوربینی مثل وب کم که جریان ورودی خودش رو به کامپیوتر تحویل بده منظور هست.