Keywords: Barns grand tetons YCbCr separation.jpg This takes an image Image Barns grand tetons jpg and displays the Y Cb and Cr elements of it Note that the Y image is essentailly a greyscale copy of the main image; that the white snow is represented as a middle value in both Cb and Cr; that the brown barn is represented by strong Cb and strong Cr; that the green grass is represented by strong Cb and weak Cr; and that the blue sky is represented by weak Cb and weak Cr The murkiness of the Cb and Cr elements to the human eye demonstrate why many image compression codecs downsample colour; details in Y are much more visible than in Cb or Cr Based on the public domain photo Image Barns grand tetons jpg Code above and resulting output by Mike1024 Uploaded 2006-12-26 Mike1024 Generator code In MATLAB <pre>RGBimage imread 'barns_grand_tetons jpg' ; height width depth size RGBimage ; YCbCrimage RGB2YCbCr RGBimage ; If you don't have the right version/toolkit this function might not be availiable Luckily it's easy to implement ourselves Drop me Mike1024 a message and I'll send you my code to do it Newer versions of matlab need outputimage zeros height 4 width depth 'uint8' ; outputimage uint8 zeros height 4 width depth ; for w 1 width for h 1 height outputimage h w 1 YCbCrimage h w 1 ; Copy Y Cb and Cr for normal image outputimage h w 2 YCbCrimage h w 2 ; outputimage h w 3 YCbCrimage h w 3 ; outputimage h+height w 1 YCbCrimage h w 1 ; Copy Y only for first component outputimage h+height w 2 128; outputimage h+height w 3 128; outputimage h+ 2 height w 2 YCbCrimage h w 2 ; Cb only for second component outputimage h+ 2 height w 1 128; outputimage h+ 2 height w 3 128; outputimage h+ 3 height w 3 YCbCrimage h w 3 ; Cr only for third component outputimage h+ 3 height w 1 128; outputimage h+ 3 height w 2 128; end end image YCbCr2RGB outputimage ; imwrite YCbCr2RGB outputimage 'YCbCr_separation jpg' 'jpeg' ;</pre> YCbCr |