yuv2rgb matlab,yuv2rgb.m · zigzag2015/machinevision-toolbox-matlab - Gitee.com

时仰岳
2023-12-01

%YUV2RGBConvert YUV format to RGB

%

%[r,g,b] = yuvread(y, u, v)

%rgb = yuvread(y, u, v)

%

%Returns the equivalent RGB image from YUV components. The Y image is

%halved in resolution.

% Copyright (C) 1993-2011, by Peter I. Corke

%

% This file is part of The Machine Vision Toolbox for Matlab (MVTB).

%

% MVTB is free software: you can redistribute it and/or modify

% it under the terms of the GNU Lesser General Public License as published by

% the Free Software Foundation, either version 3 of the License, or

% (at your option) any later version.

%

% MVTB is distributed in the hope that it will be useful,

% but WITHOUT ANY WARRANTY; without even the implied warranty of

% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the

% GNU Lesser General Public License for more details.

%

% You should have received a copy of the GNU Leser General Public License

% along with MVTB. If not, see .

function [R,G,B] = yuv2rgb(y, u, v)

% subsample, probably should smooth first...

y = y(1:2:end, 1:2:end);

Cr = u - 128;

Cb = v - 128;

% convert to RGB

r = (y + 1.366*Cr - 0.002*Cb);

g = (y - 0.700*Cr - 0.334*Cb);

b = (y - 0.006*Cr + 1.732*Cb);

% clip the values into range [0, 255]

r = max(0, min(r, 255));

g = max(0, min(g, 255));

b = max(0, min(b, 255));

if nargout == 1,

R(:,:,1) = r;

R(:,:,2) = g;

R(:,:,3) = b;

else

R = r;

G = g;

B = b;

end

一键复制

编辑

Web IDE

原始数据

按行查看

历史

 类似资料: