YUV420转RGB

本文介绍了一种将YUV420P格式的图像数据转换为RGB格式的方法,以便于在显示器上正确显示图像。通过MATLAB代码实现了从文件读取YUV数据,重新组织Y和UV分量,并利用MATLAB内置函数完成颜色空间转换。
摘要由CSDN通过智能技术生成

把YUV420P的数据,转成RGB格式的数据用以显示

clear all;
close all;
w = 640;
h = 512;

[filename,pathname]=uigetfile({'*.yuv'},'选择数据');
fid = fopen([pathname,filename]);
data_org=fread(fid,'uint8');
fclose(fid);
s=reshape(data_org,[w h*1.5]);

Y = s(:,1:h);
UV = s(:,h+1:1.5*h);

for i = 1 : 2 :(h/2) - 1
    U(:,i) = UV(1:w/2,i);
    U(:,i+1) = UV(w/2+1:w,i);
    V(:,i) = UV(1:w/2,i+1);
    V(:,i+1) = UV(w/2+1,i+1);
end
im_y = Y';
im_cb = imresize(U', [h, w], 'nearest');
im_cr = imresize(V', [h, w], 'nearest');
im_ycbcr(:,:,1) = im_y;
im_ycbcr(:,:,2) = im_cb;
im_ycbcr(:,:,3) = im_cr;

im_rgb = ycbcr2rgb(uint8(im_ycbcr));
imshow(im_rgb,[]);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值