rgb2yuv

1385人阅读 评论(0)

function [yuv]=rgb2yuv(rgb)
%Definition of: YUV/RGB conversion formulas
% Following are the conversion formulas from RGB to YUV and from YUV to RGB. See YUV and color space conversion.
%
% From RGB to YUV
% Y = 0.299R + 0.587G + 0.114B
% U = 0.492 (B-Y)
% V = 0.877 (R-Y)
% It can also be represented as:
% Y =  0.299R + 0.587G + 0.114B
% U = -0.147R - 0.289G + 0.436B
% V =  0.615R - 0.515G - 0.100B
% From YUV to RGB
% R = Y + 1.140V
% G = Y - 0.395U - 0.581V
% B = Y + 2.032U
base=[0.299 0.587 0.114;-0.147 -0.289 0.436;0.615 -0.515 -0.100];
[row,col,dim]=size(rgb);
rgb_shape = reshape(rgb,[row*col,dim]);
yuv_shape = base*double(rgb_shape');
yuv = uint8(reshape(yuv_shape',[row,col,dim]));
end
function [rgb]=yuv2rgb(yuv)
base=[1 0 1.140;1 -0.395 -0.581;1 2.032 0];
[row,col,dim]=size(yuv);
yuv_shape = reshape(yuv,[row*col,dim]);
rgb_shape = base*double(yuv_shape');
rgb = uint8(reshape(rgb_shape',[row,col,dim]));
0
0

* 以上用户言论只代表其个人观点，不代表CSDN网站的观点或立场
个人资料
• 访问：103761次
• 积分：1410
• 等级：
• 排名：千里之外
• 原创：32篇
• 转载：24篇
• 译文：1篇
• 评论：11条
文章分类
评论排行
最新评论