Elektroniska Rotoscope Animation med Matlab (2 / 7 steg)
Steg 2: Konvertera videofil till bildfiler med Matlab
När du har den video du vill använda, måste innehållet konverteras från en sammansatt video till en uppsättning bilder. Det finns flera sätt att åstadkomma detta, kommer vi att använda en Matlab-funktion som kallas VideoReader. VideoReader skapar ett video-objekt som kan läsa i data till Matlab. Vi kan sedan använda Matlab för att visa eller spara fortfarande ramar från video. I följande kod, använder vi ett tag loop att extrahera bilder från video. Även om vi kan packa så många bildrutor som innehåller en källa video, begränsar vi programmet för att bara spara varje sjätte ram. Eftersom den ursprungliga videon med 60 bildrutor per sekund, kommer att extrahera varje sjätte ram skära animeringen till 10 bilder per sekund. 10 fps är snabb nog så ögat kan berätta vad som händer, men långsam nog så att vi inte behöver spendera så mycket tid dra alla bildrutor.
< p > diceVideo=VideoReader('C:\Users\Sam\Desktop\dice\original\dice.avi'); < /p >< p > jag = 1;
medan hasFrame(diceVideo)
IMG = readFrame(diceVideo);
filnamn = [sprintf('%03d',i) ".jpg"];
FullName = fullfile('C:\Users\Sam\Desktop\dice\images',filename);
om mod (i, 6) == 0
imwrite(IMG,fullname)
slutet
jag = i + 1.
slutet < /p >
För att använda denna kod, bör video-adress och adressen till den mapp där du vill att bilderna ska dumpas ändras till egna mappar.
Varning: Kör det här programmet kan ta bort alla filer som du har i din bildmapp. Om filerna tas bort, kommer de inte att återvinnas.