Zapis składowych YUV do pliku

16 04 2010

Ostatnio zajmuję się zagadnieniem konwersji między systemami PAL<->NTSC<->SECAM. Pracuję na składowych Y,U,V obrazu. Spotkałem się z problemem jak zapisać sekwencję danych (fragment filmu) w nich przechowywane do pliku *.YUV. Oto moje autorskie rozwiązanie:

%***************************************************
% Function to store Y, U, V data into a *.YUV file
%
% To use this funtion, call it with:
% writeyuv(y,u,v,filename,type,frames)
% y,u,v - YUV components (three 2D or 3D arrays)
% type - 1: append, 0: overwrite
% frames - number of frames to save in file
%
% coded by Michal Walus
% wmichal.wordpress.com
%***************************************************

function []=writeyuv(y,u,v,filename,type,frames)

if type == 1
    fid = fopen(filename,'ab');
else
    fid = fopen(filename,'w');
end

if nargin==5
    fwrite(fid,y','uint8');
    fwrite(fid,u','uint8');
    fwrite(fid,v','uint8');
elseif nargin==6
    for i=1:1:frames
        yy=y(:,:,i); uu=u(:,:,i); vv=v(:,:,i);

        fwrite(fid,yy','uint8');
        fwrite(fid,uu','uint8');
        fwrite(fid,vv','uint8');
    end
end

clear y u v yy uu vv

fclose(fid);

Działania

Informacja

Dodaj komentarz

Wprowadź swoje dane lub kliknij jedną z tych ikon, aby się zalogować:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Zmień )

Twitter picture

You are commenting using your Twitter account. Log Out / Zmień )

Facebook photo

You are commenting using your Facebook account. Log Out / Zmień )

Connecting to %s




Follow

Otrzymuj każdy nowy wpis na swoją skrzynkę e-mail.