关闭

rgb2yuv

标签: function360
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条
    文章分类
    最新评论