problem with videoWriter not closing
    4 visualizzazioni (ultimi 30 giorni)
  
       Mostra commenti meno recenti
    
    Teshan Rezel
      
 il 14 Mar 2022
  
    
    
    
    
    Commentato: Teshan Rezel
      
 il 25 Mar 2022
            Hi folks, 
I am creating a video and having trouble with the videoWriter not closing, or taking a very long time to close.
May I please ask how to fix this? The code is as follows:
    writerObj = VideoWriter(mainVideoName);
    writerObj.FrameRate = 10;
    open(writerObj);
    for j = 1 : numMainImages
        mainImg = imread([imageMainFolder imageMainFiles(j).name]);
        mainImg = mainImg(:,:,1:3);
        cropImg = imread([cropsFolder cropFiles(j).name]);
        threshImg = im2uint8(imread([threshFolder threshFiles(j).name]));
        h = figure;
        h(1) = subplot(2, 2, 1);
        image(cropImg, "Parent", h(1));
        h(2) = subplot(2, 2, 2);
        image(threshImg, "Parent", h(2));
        h(3) = subplot(2, 2, 3:4);
        image(mainImg, "Parent",  h(3));
        myText = ['Temperature = ', num2str(myTemp(j)), '^{o}C'];
        annotation('textbox', [0.4, 0.55, 0,0], 'string', myText, "FitBoxToText","on");
        h(2).Colormap = gray(256);
    for k = 1:3
        h(k).XAxis.Visible = "off";
        h(k).YAxis.Visible = 'off';
    end
        thisFrame = getframe(gca);
        writeVideo(writerObj, thisFrame);      
    end
close(writerObj);
5 Commenti
  Jan
      
      
 il 24 Mar 2022
				@Teshan Rezel: Do not remove this question. Simply ask your new question and insert a link to this thread to avoid confusions. You can add a linl to the new question here also. Then everything is fine.
Risposta accettata
  yanqi liu
      
 il 15 Mar 2022
        yes,sir,may be use image replace frame to test,such as
writerObj = VideoWriter(mainVideoName);
writerObj.FrameRate = 10;
open(writerObj);
for j = 1 : numMainImages
    mainImg = imread([imageMainFolder imageMainFiles(j).name]);
    mainImg = mainImg(:,:,1:3);
    cropImg = imread([cropsFolder cropFiles(j).name]);
    threshImg = im2uint8(imread([threshFolder threshFiles(j).name]));
    h = figure;
    h(1) = subplot(2, 2, 1);
    image(cropImg, "Parent", h(1));
    h(2) = subplot(2, 2, 2);
    image(threshImg, "Parent", h(2));
    h(3) = subplot(2, 2, 3:4);
    image(mainImg, "Parent",  h(3));
    myText = ['Temperature = ', num2str(myTemp(j)), '^{o}C'];
    annotation('textbox', [0.4, 0.55, 0,0], 'string', myText, "FitBoxToText","on");
    h(2).Colormap = gray(256);
    for k = 1:3
        h(k).XAxis.Visible = "off";
        h(k).YAxis.Visible = 'off';
    end
    thisFrame = frame2im(getframe(gca));
    writeVideo(writerObj, thisFrame);
end
close(writerObj);
2 Commenti
  Rik
      
      
 il 23 Mar 2022
				I haven't read the rest of the thread, but can you explain what is different between what you need and what this suggestion does? Yanqi might be able to help you if you make it clear what should be different.
In general users with sufficient reputation points to delete posts, are not fans of doing that for legitimate content.
Più risposte (0)
Vedere anche
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!





