hi to everyone , I would to ask two question . the first is place in the title , and i know that i'm going to lose data , but i need to. the image in question i frame in the code under
. the second is that i'm trying to execute this code , but somthing wrong append .
video1=VideoReader('Francesca-Michielin---No-Degree-Of-Separation-Italy-Live-at-Semi-Final-2.mp4');
video2=VideoReader('Jamala---1944-Ukraine-Live-at-Semi-Final-2-of-the-2016-Eurovision-Song-Contest.mp4');
videoOut=VideoWriter('provaMix.avi');
videoOut.FrameRate=video1.FrameRate;
open(videoOut)
frames=read(video1,[1 2316]);
for frame=frames
% eventualmente resize (downsampling) del frame
writeVideo(videoOut,frame);
end
thank so much

 Akzeptierte Antwort

Ameer Hamza
Ameer Hamza am 22 Mai 2020

0 Stimmen

See imresize(): https://www.mathworks.com/help/releases/R2020a/matlab/ref/imresize.html. Use it with a scaling factor of 0.5;
frame_small = imresize(frame, 0.5)
For videoReader object, use readFrame() function to read a frame at a time, as shown in this example:: https://www.mathworks.com/help/releases/R2020a/matlab/ref/videoreader.html#busqe2j-1_1

Weitere Antworten (1)

Andrea Gusmara
Andrea Gusmara am 22 Mai 2020

0 Stimmen

Thanks you for your answer. For the second question, is there any function that permits to read more frames? I have seen the functions readFrame and read. I have read the documentation about the latter function but I couldn't use it very well. The documentation said that a frame range could be recovered

3 Kommentare

Ameer Hamza
Ameer Hamza am 22 Mai 2020
You can use a for-loop to read multiple frames using readFrame(). However, I don't think there is a direct way to use readFrame to read multiple frames. Also, what error you get if you use read() function to read multiple frames?
Andrea Gusmara
Andrea Gusmara am 22 Mai 2020
No errors, the function returned only a value
Your for loop is wrong. Write it like this
frames=read(video1,[1 2316]);
for idx=1:2316
% eventualmente resize (downsampling) del frame
writeVideo(videoOut,frames(:,:,:,i));
end

Melden Sie sich an, um zu kommentieren.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by