چگونه با استفاده از متلب از توالی تصاویر ویدیو بسازیم؟
موسسه پایاپروژه به عنوان متصدی انجام پروژه های متلب وظیفه ی خود می داند که در راستای آموزش نرم افزار متلب گام های موثری را بردارد. با توجه به اینکه یک دوره آموزشی متلب مستلزم تمرین و تلاش بسیار است. اما این موسسه تلاش می کند سهم کوچکی در جهت یادگیری شما داشته باشد.
متلب مخفف Matrix Laboratory است. این یک زبان با کارایی بالا است که برای محاسبات فنی استفاده می شود. که ما آموزش متلب و به صورت اختصاصی در این مقاله نحوه تبدیل تصویر به فیلم ها در متلب را خواهیم دید.
در مرحله اول تصویر را می خوانیم و سپس آن را به فریم فیلم تبدیل می کنیم و سپس هر فریم را یکی یکی در فایل ویدئویی این قسمت می نویسیم. ما یک مثال برای ایجاد ویدیو از توالی تصاویر می آوریم.
حال پروژه متلب زیر دقت کنید:
پروژه متلب :
Create Video with Image Sequence%
clear all
clc
Designate the path below as%
.the current folder
;CD(‘E:\Documents and Settings\APPEX\My Documents\MATLAB\Images’)
Get all of the files in the current%
. folder that are in JPEG format%
;Files = dir(‘*.jpg’)
The current folder’s number of JPEG files%
;NumFiles= size(Files,1)
To write Video File%
;VideoObj = VideoWriter(‘Create_Video.avi’)
Number of Seconds Between Frames%
;VideoObj.FrameRate = 6
Define the Quality of the Video [ 0 to 100 ]%
;VideoObj.Quality = 70
‘ Open the File ‘Create_video.avi%
;open(VideoObj)
for i = 1 : NumFiles
Take a Look at the Image in the Present Folder%
;I = imread(Files(i).name)
Resize Image%
;ResizeImg = imresize(I,[500 900])
% Convert a picture into a movie frame
frame = im2frame(ResizeImg);
. Six times are written on each Frame %
for j = 1 : 6
Write a frame%
;writeVideo(VideoObj, frame)
end
end
Close the File ‘Create_Video.avi%
;close(VideoObj)
خروجی:
پس از خواندن تصویر از پوشه فعلی، از تابع im2frame در متلب برای تبدیل تصویر به فریم فیلم استفاده کنید. تا زمانی که آخرین تصویر پردازش و نوشته نشده است، فریم را روی فایل بنویسید، تصویر بعدی را بخوانید و این کار را تکرار کنید.
چگونه با استفاده از متلب از یک تصویر ویدیو بسازیم؟
متلب یک زبان با کارایی بالا است که برای دستکاری ماتریس ها، انجام محاسبات فنی، رسم نمودار و غیره استفاده می شود. مخفف Matrix Laboratory است. با کمک این نرم افزار می توانیم از روی تصاویر فیلم بسازیم.
مراحل در این آموزش متلب:
- مرحله 1. تصاویر را به پوشه ای که در آن دستورات متلب را می نویسیم بیاورید. در اینجا ما سه تصویر به نام های image1، image2 و image3 داریم. در تصویر زیر محتویات پوشه قبل از ایجاد ویدیو را می بینید:

- مرحله 2. با استفاده از دستورات متلب نوشته شده زیر، تصاویر را در یک آرایه سلولی 3*1 بارگذاری کنید. imread برای خواندن تصویر از فایل استفاده می شود.
load the images stored%
;photos = cell(3,1)
;photos{1} = imread(‘image1.png’)
;photos{2} = imread(‘image2.png’)
;photos{3} = imread(‘image3.png’)
- مرحله 3. ویدیو را با استفاده از دستور VideoWriter در پروژه متلب ایجاد کنید و آن را در یک متغیر ذخیره کنید. در اینجا یک ویدیو به نام mp4 ایجاد کرده ایم که در یک فایل ویدئویی متغیر ذخیره می شود. نرخ فریم فایل ویدیویی روی 1 تنظیم شده است.
create the videofile with 1 fps%
;videofile = VideoWriter(‘output.mp4′,’MPEG-4’)
;videofile.FrameRate = 1
- مرحله 4. اکنون ما ثانیه های هر تصویر را تنظیم می کنیم، یعنی برای چند ثانیه تصاویر ظاهر می شوند. به عنوان مثال در اینجا image1 برای 2 ثانیه، image2 برای 3 ثانیه و imag3 برای 4 ثانیه ظاهر می شود. بنابراین کل ویدیو 9 ثانیه طول خواهد کشید.
set the seconds per image%
;secperImg = [2 3 4]
;
- مرحله 5. حالا برای نوشتن تصاویر در فایل ویدئویی، فایل ویدئویی را باز می کنیم. با کمک حلقههای for، تصاویر را به فریم تبدیل میکنیم و با استفاده از آموزش متلب نوشته شده در زیر، عکسها را به فایلهای ویدیویی مینویسیم. سپس حلقه های for را پایان می دهیم. همچنین، همیشه باید یک فایل را ببندیم، بنابراین فایل ویدیویی را می بندیم.
% open the videofile
;open(videofile)
% write the frames to the video%
for i=1:length(photos)
convert the image to a frame%
;frame = im2frame(photos{i})
for v=1:secperImg(i)
;writeVideo(videofile, frame)
end
end
close the videofile%
close(videofile)
- مرحله 6. فایل ویدیویی با نام mp4 اکنون در پوشه ای که دستورات Matlab در آن نوشته می شود ایجاد شده است. در اینجا اسکرین شات است.
خروجی:
محتوای پوشه پس از ایجاد ویدیو:

