Why some of my colored videos load as gray-scale in MATLAB
Ältere Kommentare anzeigen
Hi, I downloaded a bunch of videos from youtube. I then load them to matlab to extract/process 10 randomly selected clips. Most of my videos load perfectly fine, however, a lot of them load as a weird gray-scale version of the video. I load the videos using:
vidObj = VideoReader(filename);
duration = vidObj.Duration ;
clips_indx = duration * rand(10,1);
for i = 1 : 10
vidObj.CurrentTime = clips_indx(i);
im = readFrame(vidObj);
end
This is how the clips look like, tilted and gray!

While the video looks normal like:

I would appreciate any input.
Thanks a lot.
Antworten (2)
Walter Roberson
am 16 Mai 2016
1 Stimme
1) It is possible for videos to be pseudocolor; in such a case when you retrieve the frame, the map field will be non-empty and the data field will be 2D.
2) With a shear like that, it is plausible that the video is in YCrCb 4:2:2 or 4:2:0 and needs to be converted to RGB.
7 Kommentare
Mona
am 18 Mai 2016
Walter Roberson
am 18 Mai 2016
Please save one of the frames to a .mat file and attach it.
But in the meantime, try configuring http://www.mathworks.com/help/vision/ref/vision.videofilereader-class.html#bse_tfx-3 ImageColorSpace for VideoReader
Walter Roberson
am 20 Mai 2016
Could you show us the output of aviinfo applied to the file?
Mona
am 21 Mai 2016
Walter Roberson
am 21 Mai 2016
I don't know at the moment. Some technical notes on the codecs Youtube uses: http://video.stackexchange.com/questions/5318/how-does-youtube-encode-my-uploads-and-what-codec-should-i-use-to-upload
Mona
am 21 Mai 2016
Kategorien
Mehr zu Audio and Video Data finden Sie in Hilfe-Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

