Stap 2: Het FLV-bestand converteren naar Image bestanden met behulp van Matlab
Zodra u de video die u wilt gebruiken, moet de inhoud van een composiet video worden omgezet in een reeks beelden. Er zijn verschillende manieren om dit te bereiken, zullen we met behulp van een functie van de Matlab genaamd VideoReader. VideoReader bouwt een video-object dat in gegevens tot Matlab lezen kan. Wij vervolgens kunt Matlab weergeven of stilstaande frames van de video opslaan. In de volgende code gebruiken we een tijdje lus te uittreksel van frames van de video. Hoewel we zoveel frames als de bronvideo bevat uitpakken kan, beperken we het programma alleen opslaan elk zesde frame. Omdat de originele video met 60 frames per seconde, zal winning van elk zesde frame snijden de animatie naar 10 beelden per seconde. 10 fps is snel genoeg zodat het oog kan vertellen wat er gaande is, maar langzaam genoeg, zodat we niet hoeven te besteden zoveel tijd alle frames tekenen.
<p>diceVideo=VideoReader('C:\Users\Sam\Desktop\dice\original\dice.avi');</p><p>i = 1; while hasFrame(diceVideo) img = readFrame(diceVideo); filename = [sprintf('%03d',i) '.jpg']; fullname = fullfile('C:\Users\Sam\Desktop\dice\images',filename); if mod(i,6)==0 imwrite(img,fullname) end i = i+1; end</p>
Voor het gebruik van deze code, moeten u de video adres en het adres van de map waar u wilt dat de afbeeldingen worden gedumpt wijzigen in uw eigen mappen.
Let op: Uitvoeren van dit programma kan verwijderen alle bestanden die u in uw map afbeeldingen hebt. Als uw bestanden zijn verwijderd, kunnen ze niet worden teruggevorderd.