- video resimlerden oluştuğu için videoyu tekrar resime dönüştürebiliriz. Videodaki her bir resim frame şeklinde bulunmaktadır. Videodan resime matlab dönüştürme kodları şöyledir:
vidObj = VideoReader('video_yolu.uzantısı');
nFrames = vidObj.NumberOfFrames;
vidHeight = vidObj.Height;
vidWidth = vidObj.Width;
for k = 1 : nFrames
resim = read(vidObj,k);
% video işlemek için resim işleme kodları buraya yazabilirsiniz
end
- video yaratmak için yine aynı mantıkla resimleri birleştirip video oluşturacağız:
% Bu islemi her bir kare icin yapmamız
% gerekiyor. Programı her calistirdigimizda
% video yaratmasini istemidigimiz icin
% video yaratmayi kontrol edelim
video = true % false yaparak kapatabiliriz
if video
aviobj = VideoWriter('resim_adı.avi', …
'Uncompressed AVI');
aviobj.FrameRate = 25;
open(aviobj);
end
% figure ekrani yakalama isleminde
% kontrol edelim
if video
% burada ilgili grafikler veya resim işlemleri yapıldıktan sonra
% grafiklerdeki görüntüyü alıp videoya aktarıyoruz.
matlab_grafik_penceresi_resmi= getframe(gcf);
writeVideo(aviobj,matlab_grafik_penceresi_resmi);
end
% video nesnesi kapamayi kontrol
% edelim
if video
close(aviobj);
end
- şimdi videodaki bir görüntüyü alıp işletip tekrar video olarak kaydedilmesini yapalım:
video = true % false yaparak kapatabiliriz
if video
aviobj = VideoWriter('resim_adı.avi', …
'Uncompressed AVI');
aviobj.FrameRate = 25;
open(aviobj);
end
vidObj = VideoReader('video_yolu.uzantısı');
nFrames = vidObj.NumberOfFrames;
vidHeight = vidObj.Height;
vidWidth = vidObj.Width;
for k = 1 : nFrames
resim = read(vidObj,k);
% video işlemek için resim işleme kodları buraya yazabilirsiniz
if video
% burada ilgili grafikler veya resim işlemleri yapıldıktan sonra
% grafiklerdeki görüntüyü alıp videoya aktarıyoruz.
matlab_grafik_penceresi_resmi= getframe(gcf);
writeVideo(aviobj,matlab_grafik_penceresi_resmi);
end
end
% video nesnesi kapamayi kontrol
% edelim
if video
close(aviobj);
end
herhangi bir resim topluluğunu alıp işleyip sonra video olarak kaydetme kodu:
function toplu_resim_isleme_fonksiyonu()
% tüm her şeyi resetliyoruz
clear; close all;
video = true;
% false yaparak kapatabiliriz
if video
aviobj = VideoWriter('resim_adi.avi','Uncompressed AVI');
aviobj.FrameRate = 25;
open(aviobj);
end
%video yüklenecek resimleri matlab klasörün altından alıyoruz
srcFiles = dir(strcat(pwd,'\resim_basliği*.jpg'));
for i = 1 : length(srcFiles)
hold off;
filename = strcat(pwd,'\',srcFiles(i).name);
RGB=imread(filename);
% resim işleme kodunu buraya yazabilirsiniz.
if video
% gösterilen figuri alır
% frame= getframe(gcf);
frame = RGB;
writeVideo(aviobj, frame);
end
end
if video
close(aviobj);
end
end