File Exchange

image thumbnail

Read YUV Videos and Extract the Frames

version 1.0.0.0 (11.2 MB) by Mohammad Haghighat
Extract Y, U and V components of a YUV 4:2:0 video

16 Downloads

Updated 05 Oct 2016

GitHub view license on GitHub

You can find an example on how to use the code in "example.m".

YUVREAD returns the Y, U and V components of a video in separate matrices. Luma channel (Y) contains grayscale images for each frame. Chroma channels (U & V) have a lower sampling rate than the luma channel.

YUVREAD is able to read any common intermediate format with 4:2:0 chroma subsampling. You just need to enter the correct width and height information for the specific format:

Format Video Resolution (width x height)
------------------------------------------------------------
SQCIF 128 × 96
QCIF 176 × 144
SCIF 256 x 192
SIF(525) 352 x 240
CIF/SIF(625) 352 × 288
4SIF(525) 704 x 480
4CIF/4SIF(625) 704 × 576
16CIF 1408 × 1152
DCIF 528 × 384
A notation called the "A:B:C" notation is used to describe how often U
and V are sampled relative to Y:
4:2:0 means 2:1 horizontal downsampling, with 2:1 vertical downsampling.


(C) Mohammad Haghighat, University of Miami
haghighat@ieee.org

Cite As

Mohammad Haghighat (2019). Read YUV Videos and Extract the Frames (https://www.github.com/mhaghighat/yuvRead), GitHub. Retrieved .

Comments and Ratings (5)

Why I can not get correct RGB even using your own file. I resize the U and V channel equal to the Y and apply simpel YUV to RGB as describe on wikipedia. Can you include the code to convert it to RGB ?

how can i save every frame as an individual image without lossing any pixels ??

Mike Reno

Steve

Tony

Thanks

MATLAB Release Compatibility
Created with R2016a
Compatible with any release
Platform Compatibility
Windows macOS Linux