matlab|实现放大采样图像和缩小采样|将yuv分量写入文件中

最近在做实验用到一个将yuv图像的uv分量放大到Y分量一样大的过程

T=2;
pic_U_=zeros(row,col);
pic_V_=zeros(row,col);

%放大uv分量
for i=1:row%行
    for j=1:col%列
        x=round(i/T);
        y=round(j/T);
        pic_U_(i,j)=pic_U(x,y);
        pic_V_(i,j)=pic_V(x,y);
        pic_U_=uint8(pic_U_);
        pic_V_=uint8(pic_V_);
    end
end

一番处理之后 再缩小采样获得合适的UV分量

function [out]=yuv_change(output_image,output_image_YUV)%后面那个是用fopen打开可写入的文件路径
%row 高
%col  宽
output_image_Y= output_image(:,:,1);

U=output_image(:,:,2);
output_image_U= U(1:2:size(U,1),1:2:size(U,2));

V=output_image(:,:,3);
output_image_V= V(2:2:size(V,1),1:2:size(V,2));

%output_image=fopen(path,'a+');%

output_image_Y=uint8(output_image_Y');  
fwrite(output_image_YUV,output_image_Y, 'uint8');

%output_image=fopen(path,'wb');%
output_image_U=uint8(output_image_U');  
fwrite(output_image_YUV,output_image_U, 'uint8');


%output_image=fopen(path,'wb');%
output_image_V=uint8(output_image_V');  
fwrite(output_image_YUV,output_image_V, 'uint8');
out=output_image_YUV;







可参考

猜你喜欢

转载自blog.csdn.net/weixin_46096297/article/details/111564563