How to replace a frame (rgb image) in a small video sequence ?
3 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
raviraja
il 13 Feb 2017
Modificato: Walter Roberson
il 21 Apr 2018
I want to replace a single rgb frame in a 4 sec video sequence, example i want to replace the 5th frame with my rgb image of same dimension as the video dimension (example 256x256)
0 Commenti
Risposta accettata
Walter Roberson
il 13 Feb 2017
vid = 'NameOfTheVideo.avi';
obj = VideoReader(vid);
newobj = VideoWriter('NameOfNewVideo.avi', 'Uncompressed AVI');
replacement_frame_5 = randi([0 255], 256, 256, 3, 'uint8'); %or as appropriate
fr = 0;
while hasFrame(obj)
fr = fr + 1;
a = readFrame(obj);
if fr == 5
a = replacement_frame_5;
end
writeVideo(newobj, a);
end
close(newobj);
clear obj
2 Commenti
Walter Roberson
il 21 Apr 2018
Modificato: Walter Roberson
il 21 Apr 2018
It is not possible to play a video writer object. Once the video writer object is closed, use one of the techniques to play the video by name. Or create a video player object and step(player, a) as you go through outputting the frames to the video writer object.
Più risposte (0)
Vedere anche
Prodotti
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!