File:Barns grand tetons YCbCr separation.jpg

From Wikimedia Commons, the free media repository
Jump to navigation Jump to search

Original file (1,600 × 4,780 pixels, file size: 825 KB, MIME type: image/jpeg)

Captions

Captions

Add a one-line explanation of what this file represents

Summary

[edit]
Description
English: 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.
Date 26 December 2006 (upload date)
Source Based on the (public domain) photo Image:Barns grand tetons.jpg. Code above and resulting output by Mike1024.
Author Mike1024
Permission
(Reusing this file)
Public domain I, the copyright holder of this work, release this work into the public domain. This applies worldwide.
In some countries this may not be legally possible; if so:
I grant anyone the right to use this work for any purpose, without any conditions, unless such conditions are required by law.

Generator code

[edit]

In MATLAB:

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');

File history

Click on a date/time to view the file as it appeared at that time.

Date/TimeThumbnailDimensionsUserComment
current10:58, 26 December 2006Thumbnail for version as of 10:58, 26 December 20061,600 × 4,780 (825 KB)Wdwd (talk | contribs)==Summary== 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

File usage on other wikis

The following other wikis use this file:

Metadata