نحوه کارتونی کردن تصویر با OpenCV
در این بخش می خواهیم به نحوه کارتونی کردن تصاویر با OpenCV در محیط Google Colab بپردازیم. رفتارهای محیط Google Colab با یک سری تفاوت جزیی، شبیه به محیط Jupyter Notebook میباشد.
upload تصویر در Google Colab
برای وارد کردن تصویر مورد نظر جهت کارتونی کردن، در قسمت سمت چپ محیط کولب گزینه Upload to session storage را انتخاب میکنیم و تصویر را آپلود میکنیم. می توان از دستور dir! جهت اطلاع از فایلها و فولدرهای آپلود شده در این محیط استفاده کرد.
چگونه شروع کنیم!
ابتدا کتابخانه OpenCV را که به عنوان ابزار Computer Vsion و Image Processing میباشد،در محیط Colab وارد میکنیم. برای نمایش تصویر در محیط Google Colab نمیتوان به صورت مستقیم از متد imshow داخل OpenCV استفاده کرد. بلکه از پکیج Google Colab در قسمت patches متد cv2_imshow را وارد میکنیم. برای نمایش تصویر ابتدا تصویر را با استفاده از متد imread در داخل OpenCV خوانده و در داخل یک متغیر به نام img ذخیره میکنیم. سپس برای نمایش آن از متد cv2_imshow استفاده میکنیم.
در قسمت چپ محیط Colab در بخش Variable متغیر img به همراه ابعاد آن و سایر متغیرهایی که در این محیط استفاده کردهایم نمایش داده شده است.
برای کارتونی کردن تصویر ابتدا img را با استفاده از متد cvtColor به تصویر سیاه و سفید تبدیل میکنیم. و در متغیر grayScaleImage ذخیره میکنیم. سپس این متغیر را به متد medianBlur میدهیم و تصویر را به حالت محو تبدیل میکنیم. و در متغیر smoothGrayScale ذخیره میکنیم. برای به دست آوردن لبههای تصویر از متد adaptiveThreshold استفاده میکنیم. و در متغیر getEdge ذخیره میکنیم. متد bilateralFilter یکی از روشهای خوب denoising میباشد که تصاویر را نیز به حالت کارتونی تبدیل میکند. پس از اجرای متد bilateralFilter آن را در متغیر colorImage ذخیره میکنیم. برای آشنایی بیشتر با این متدهای OpenCV میتوان به دوره جامع آموزش پردازش تصویر و بینایی کامپیوتر در پایتون مراجعه نمود. در انتها با استفاده از متد bitwise_and متغیر colorImage را با استفاده از mask=getEdge دوباره با همان متغیر colorImage به صورت and ترکیب میکنیم. و به این صورت تصویر کارتونی ایجاد میشود.
خواندن تصویر از Google Drive جهت کار با OpenCV
برای آوردن تصاویر از Google Drive از پکیج Google Colab در قسمت drive از متد mount استفاده میکنیم. اگر برای اولین بار یا بعد از دوازده ساعت باشد که از این متد استفاده میکنیم ، جهت ورود به Google Drive اجازه میگیرد و در نهایت به اکانت مورد نظر خود متصل میشوید.
پس از اینکه به Google Drive متصل شدیم با استفاده از دستور cd آدرس مسیر Google Colab را به مسیرGoogle Drive تغییر میدهیم. سپس با دستور dir! میتوانیم بررسی کنیم چه فایلهایی در داخل Google Drive وجود دارد.
در این صورت با توجه به اینکه آدرس مسیر Google Colab را به مسیر Google Drive تغییر دادهایم. اگر از متد imread استفاده کنیم و نام تصویر مدنظر خود را که در Google Drive وجود دارد را به این متد دهیم. خواهیم دید که این متد تصویر موجود در Google Drive را به جای تصویر موجود در Google Colab میخواند. سپس مانند کدی که در بالا نوشته شده است میتوان بقیه مسیر را جهت کارتونی کردن تصویر مورد نظر انجام داد.