Listing 2

function rgb=myuv2rgb(yuv)
% myuv2rgb   Convert from YUV colorspace to RGB colorspace.
% myuv2rgb(yuv) will convert the triplets in 'yuv' to RGB triplets.
% 'yuv' may contain an N X 3 matrix of triplets or an M X N X 3 array
% of triplets.
% Copyright (C) 2003, Jeff Perry
% jsp Created Tue Sep 16 18:22:52 CDT 2003

if ndims(yuv)==2
    % SMTPE-240M Y'PbPr
    rgb(:,1) = yuv(:,1) + 1.5756.*yuv(:,3);
    rgb(:,2) = yuv(:,1) - 0.2253.*yuv(:,2) - 0.5000.*yuv(:,3);
    rgb(:,3) = yuv(:,1) + 1.8270.*yuv(:,2);
elseif ndims(yuv)==3
    % SMTPE-240M Y'PbPr
    rgb(:,:,1) = yuv(:,:,1) + 1.5756.*yuv(:,:,3);
    rgb(:,:,2) = yuv(:,:,1) - 0.2253.*yuv(:,:,2) - 0.5000.*yuv(:,:,3);
    rgb(:,:,3) = yuv(:,:,1) + 1.8270.*yuv(:,:,2);
else
    error 'The input must be either N X 3 or M X N X 3';
end