我試圖在一個循環內將圖像寫入AVI文件。現在,我正在使用VideoWriter和getframe來實現這一目標。該代碼通常是這樣的:在Matlab中,將圖像寫入AVI而不顯示使用VideoWriter
FoodVideo = VideoWriter('tempp.avi');
FoodVideo.FrameRate = 25;
open(FoodVideo);
hh=figure('Visible','off');
for i=1:20
imshow(example_image{i});
hold on;
text(100,100,sprintf('Frame Number: %d',i));
hold off;
currFrame = getframe(hh);
writeVideo(FoodVideo,currFrame);
end
close(FoodVideo);
的問題是,寫的getFrame之前顯示圖像。 我想不出一種將文本合併到圖像數據的方式,所以我消除了處理此問題的方式(使用im2frame ...)。 我知道我可以使用avifile和addframe,但我想使用VideoWriter,因爲matlab說avifile將被刪除... 有沒有什麼方法可以使用VideoWriter寫入圖像而不先顯示?
另一個相關的問題: 當我運行我的代碼時,它好像捕獲我的屏幕而不是圖;我最近換了一臺電腦,而且這種情況只發生在新電腦上。有沒有人有一個線索,爲什麼這可能是?
感謝, Aviram