⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rgb2yuv.m

📁 视频处理算法 RGB与YUV格式的相互转化
💻 M
字号:
function [Y,U,V]=RGB2YUV(filename,length)

T = [.299 .587 .114; -.169 -.332 .5;.5 -.419 -0.0813];

for i=1:1:length
    
num=int2str(i-1);
p='.ppm';
name=strcat(filename,num,p);
A1 = imread(name);

if ((rem(size(A1,1),2)~=0))
    A=A1(1:(size(A1,1)-1),:,:);
end

if (rem(size(A1,2),2)~=0)
    A=A1(:,1:(size(A1,2)-1),:);
end

R(:,:,i)=double(A(:,:,1));
G(:,:,i)=double(A(:,:,2));
B(:,:,i)=double(A(:,:,3));

yuv = zeros(size(R,1),size(R,2),3);

yuv(:,:,1) = T(1,1) * R(:,:,i) + T(1,2) * G(:,:,i) + T(1,3) * B(:,:,i) ;
yuv(:,:,2) = T(2,1) * R(:,:,i) + T(2,2) * G(:,:,i) + T(2,3) * B(:,:,i) + 128;
yuv(:,:,3) = T(3,1) * R(:,:,i) + T(3,2) * G(:,:,i) + T(3,3) * B(:,:,i) + 128;
yuv = uint8(round(yuv));
Y(:,:,i)=yuv(:,:,1);
U(:,:,i)=imresize(yuv(:,:,2),1/2,'bicubic');
V(:,:,i)=imresize(yuv(:,:,3),1/2,'bicubic');
end

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -