Matlab 小程序 yuv图片融合

使用Matlab将android.bmp图片的RGB数据转换为4:2:0 YUV格式,并与720x576的horseriding.yuv图片融合。通过读取YUV文件,处理YUV数据,将RGB转为YUV,替换指定位置的YUV数据,最后将融合后的YUV转回RGB并显示。具体步骤包括YUV数据的读取、处理、替换及显示。
摘要由CSDN通过智能技术生成

要求:
将320*200的android.bmp图片中的rgb数据转换为4:2:0格式的yuv数据,再与另一个720x576,4:2:0格式图片horseriding.yuv数据进行融合(yuv数据存储是:720x576个字节的Y数据,然后是360x288个字节的U数据,最后是360x288个字节的V数据),得到最后的YUV数据,最后将这个YUV数据用程序显示出来。最后显示结果应该是一幅大图片上面贴上了小图片的合成图片。

思路:
1、读取yuv文件中Y、U、V数据
2、处理Y、U、V数据。因为是4:2:0,所以U、V数据是Y数据的1/4,填充存储U、V数据的矩阵,使它们与存储Y数据的矩阵维度一致
3、读取bmp文件,将rgb转为yuv
4、按照小图片的宽和高,将对应大图片的位置的yuv数据替换为小图片的yuv数据,左上对齐
5、将yuv转为rgb,并显示出来

function [] = homework1( )
%UNTITLED 此处显示有关此函数的摘要
%   此处显示详细说明
fid=fopen('horseriding.yuv','r');
% fseek(fid,0,'bof');
row=720;
col=576;

UU=zeros(row,col);
VV=zeros(row,col);

Y0=fread(fid,[row,col],'uchar');
U0=fread(fid,[row/2,col/2],'uchar');
V0=fread(fid,[row/2,col/2],'uchar');

fclose(fid);

UU(1:2
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值