How to get the YUV value for each pixel?

5 views (last 30 days)
Hi everyone
I am new to matlab, so any help would be appreciated.
I have an image and I need to get the YUV value for each pixel in the image.
Can anyone help? Thanks in advance

Accepted Answer

Dishant Arora
Dishant Arora on 17 Feb 2014
if you have a RGB image you can convert it into YUV using below mentioned equations:
Y = R*(0.299000) + G*(0.587000) + B*(0.114000);
U = R*(-0.168736) + G*(-0.331264) + B*(0.500000) + 128;
V = R*(0.500000) + G*(-0.418688) + B*(-0.081312) + 128;
  2 Comments
DGM
DGM on 3 Nov 2021
Edited: DGM on 4 Nov 2021
That's not YUV. That's more or less YPbPr, or YCbCr without the margins. The offset implies that the RGB image is uint8-scaled, though if it were actually uint8, the operations would result in severe data truncation. The only case in which this would work is if R,G,and B were uint8-scaled floating-point data.
This covers general luma-chroma conversions, including YUV:
If actual YCbCr conversion is desired with margins, just use rgb2ycbcr().

Sign in to comment.

More Answers (0)

Categories

Find more on Convert Image Type in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!