problem with videoWriter not closing
2 次查看(过去 30 天)
显示 更早的评论
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 个评论
Jan
2022-3-24
@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.
采纳的回答
yanqi liu
2022-3-15
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 个评论
Rik
2022-3-23
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.
更多回答(0 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!