در قسمت پنجم از مجموعه آموزشی پردازش تصویر در پایتون، با چگونگی رسم اشکال مختلف بر روی ویدئو آشنا شدیم و همچنین توانستیم یک متن بر روی ویدئو بنویسیم و عملیات ترسیم بر روی ویدئو را به پایان رساندیم. در این جلسه با عملگرهای تصویر آشنا خواهیم شد.
در این قسمت قصد داریم که پس از دریافت تصویر، اطلاعاتی را از تصویر بخوانیم و همچنین تغییراتی روی آن ایجاد کنیم.
ما هم میتوانیم تصویر را به صورت رنگی و هم به صورت سیاه و سفید بخوانیم. اما خواندن تصاویر به صورت سیاه و سفید به مراتب بهتر است، چرا؟
تصاویر سیاه و سفید دارای اطلاعات کمتری نسبت به تصاویر رنگی هستند پس پردازش تصاویر سیاه و سفید برای کامپیوتر بسیار راحتتر است.
بسیاری از عملگرهای تصویر با دریافت تصاویر به صورت سیاه و سفید نیز ممکن است و لزومی ندارد که از تصاویر رنگی استفاده کنیم تا حجم پردازش بالا برود. ما با تصاویر سیاه و سفید، تشخیص لبهها، تشخیص صورت، تشخیص الگوها و شکلها و بسیاری از موارد دیگر را میتوانیم راحتتر انجام بدهیم.
اما ما در این قسمت با تصاویر رنگی کار خواهیم کرد. در ادامه با عملگرهای تصویر کار خواهیم کرد و اطلاعات پیکسلهای یک تصویر رنگی را میخوانیم و به قسمتی دیگر از تصویر منتقل میکنیم. به عبارتی دیگر بخشی از تصویر را برش داده و به بخشی دیگر از تصویر منتقل میکنیم.
عکس موردنظر ما قبل از اعمال عملگرهای تصویر به صورت زیر است:
حال با استفاده از برنامه زیر، تغییراتی را روی تصویر اعمال خواهیم کرد:
1 2 3 4 5 6 7 8 9 10 11 12 13 | import cv2 import numpy as np img = cv2.imread('image.jpg',cv2.IMREAD_COLOR) part1 = img[300:400,300:400] img[100:200,100:200] = part1 cv2.imshow('image', img) cv2.waitKey(0) cv2.destroyAllWindows() |
پس از اجرای برنامهی بالا تصویری که در خروجی مشاهده خواهیم کرد، تصویر زیر است:
همانطور که از تصویر بالا مشخص است قسمتی از تصویر را با چهرهی فرد جایگزین کردیم.
سلام استاد ممنون از اموزشهای خوبتون
یک سوال چرا همین دستورو نمیتونیم تو وبکم انجام بدیم؟؟
می تونید ولی فکر کنم ریل تایم نیست