YCbCr = rgb2jpeg(RGB);
RGB | 3d data-cube, containing RGB information of the image |
YCbCr | 3d data-cube, containing the YCbCr information of the image |
'rgb2jpeg(RGB)' performs a transformation of the 3d data-cube RGB with dimensions \(N \times M \times 3\), which contains information of the colours "red", "green" and "blue". The output variable YCbCr is a 3d data-cube of the same size containing information about "luminance", "chrominance blue" and "chrominance red". The output will be of the uint8 type.
See http://en.wikipedia.org/wiki/YCbCr and http://de.wikipedia.org/wiki/JPEG.
In the following example, the Lichtenstein test image is split into its three components. The very first subplot is the original image:
f=lichtenstein; f_jpeg=rgb2jpeg(f); subplot(2,2,1); image(f);axis('image'); Ymono=zeros(512,512,3,'uint8'); Ymono(:,:,1)=f_jpeg(:,:,1); Ymono(:,:,2:3)=128; fmono=jpeg2rgb(Ymono); subplot(2,2,2); image(fmono);axis('image'); Cbmono=zeros(512,512,3,'uint8'); Cbmono(:,:,2)=f_jpeg(:,:,2); Cbmono(:,:,3)=128; fmono=jpeg2rgb(Cbmono); subplot(2,2,3); image(fmono);axis('image'); Crmono=zeros(512,512,3,'uint8'); Crmono(:,:,3)=f_jpeg(:,:,3); Crmono(:,:,2)=128; fmono=jpeg2rgb(Crmono); subplot(2,2,4); image(fmono);axis('image');