• 大小: 2KB
    文件类型: .m
    金币: 1
    下载: 0 次
    发布日期: 2021-05-13
  • 语言: Matlab
  • 标签: matlab  yuv420  

资源简介

RGB图片转yuv420格式图片,已通过yuv player打开验证 代码环境: matlab2017

资源截图

代码片段和文件信息

clc;close all;clear 

filename = ‘cDSCN8231.jpg‘;
filestr = filename(1:findstr(filename‘.jpg‘)-1);
filepath = [‘.\‘ filestr ‘out\‘]
mkdir(filepath);
filestr = [filepath filestr];
RGBimg =imread(filename);
figure;imshow(RGBimg);

YUVimg = rgb2ycbcr(RGBimg);     %%% rgb -> yuv
% R = RGBimg(::1);G = RGBimg(::2);B = RGBimg(::3);
% YUVimg(::1) = 0.299*R + 0.587*G + 0.114*B;
% YUVimg(::2) = -0.147*R - 0.289*G + 0.436*B;
% YUVimg(::3) = 0.615*R - 0.515*G - 0.100*B;
figure;imshow((YUVimg));

[imgHeight imgWidth imgDim] = size(YUVimg);         %%
len = imgHeight*imgWidth*imgDim;
yuvimout = zeros(1len);
Y = YUVimg(::1);     % Y 矩阵
U = YUVimg(::2);     % U 矩阵
V = YUVimg(::3);     % V 矩阵
% YUV4:4:4 -->> YUYV 4:2:0
% output yuyv422 to .yuv file
% 第一行四个像素为:[Y0 U0 V0] [Y1 U1 V1] [Y2 U2 V2] [Y3 U3 V3]
% 第二行四个像素为:[Y4 U4 V4] [Y5 U5 V5] [Y6 U6 V6] [Y7 U7 V7]
% 4:2:0 

评论

共有 条评论