How to get the YUV value for each pixel?
4 views (last 30 days)
Show older comments
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
0 Comments
Accepted Answer
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
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().
More Answers (0)
See Also
Categories
Find more on Convert Image Type in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!