در قسمت دوم ازمجموعه آموزشی پردازش تصویر در پایتون با نحوهی ایجاد خط روی تصویر و مشخص کردن محل آن خط آشنا شدیم. همچنین در نهایت تصویر را در محل پروژه ذخیره کردیم. اما در این قسمت قصد داریم به نمایش و ذخیره ویدئو بپردازیم.
در این قسمت در رابطه با اینکه چگونه از یک منبع ویدئویی استفاده کنیم، چگونه میتوانیم از وبکم ضبط کنیم و همچنین ویدئوی ضبط شده را ذخیره کنیم، و اینکه این عملیات چه تفاوتی با کار بر روی تصویر خواهد داشت، صحبت خواهیم کرد.
از آنجایی که ویدئو شامل چندین عکس پشت سرهم میباشد، اگر قرار باشد تغییری را روی ویدئو ایجاد کنیم، مثلا یک نوشته روی ویدئو بنویسیم باید این کار را با یک توالی و پشت سرهم روی عکسهای که ویدئو را تشکیل میدهند انجام بدهیم. پس طبق دانش برنامهنویسی میدانیم که نیاز به یک حلقه داریم. ما یک حلقه while تعریف میکنیم، و در این حلقه ابتدا ویدئو را خوانده و در frame ذخیره میکنیم. با هر بار اجرا شدن دستور مربوطه یک فریم به وجود میآید، که مجوع این فریمها یک ویدئو را تشکیل میدهند. پس از انجام این مراحل میتوانیم ویدئو یا همان فریمها را با فرمت رنگی دلخواه به نمایش بگذاریم.
همچنین تعریف میکنیم که اگر کلیدی زده شد فیلمی که از وبکم ضبط میشود و در حال نمایش است متوقف شود. تعریف این کلید هم دلخواه میباشد و با استفاده از یک دستور شرطی انجام میشود.
در نهایت هم ویدئوی ضبط شده را ذخیره میکنیم. این امکان وجود دارد که ابعاد و سرعت فریمها را نیز تعیین کنیم.
import cv2 import numpy as np cap = cv2.VideoCapture(0) fourcc = cv2.VideoWriter_fourcc(*'XVID') out = cv2.VideoWriter('output.avi', fourcc, 24.0, (640, 480)) while(True): ret, frame = cap.read() color = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) out.write(frame) cv2.imshow('webcam', color) if cv2.waitKey(1) & 0xFF == ord('q'): break cap.release() out.release() cv2.destroyAllWindows()
پس از اجرای برنامه یک پنجره مشابه زیر به ما نمایش داده خواهد شد:
این مقاله برگرفته از آموزش ویدئویی زیر میباشد، برای مشاهدهی جزئیات بیشتر حتما این ویدئو را مشاهده بفرمائید.