jp1_add_siz.m

来自「用matlab实现的JPEG算法」· M 代码 · 共 50 行

M
50
字号
% ------------------------------------------
%  nom : 
%  jp1_add_SIZ(fid,M_in,g_color,g_quant)
%
% ------------------------------------------

function jp1_add_SIZ(fid,M_in,g_color,g_quant)

marker_SIZ = hex2dec('FF51') ;

fwrite(fid,marker_SIZ,'uint16'); % SIZ

% -- extrait les dimension de l'image
   DD = size(M_in);
if ndims(M_in)== 2 
   P=int16(1) ;
   M = int16(DD(1));
   N = int16(DD(2));   
elseif ndims(M_in)==3
   M = int16(DD(1));
   N = int16(DD(2));
   P = int16(DD(3));
end

m_deb = ftell(fid) ;
fwrite(fid,30,'uint16'); 		% Lsiz provisoire

v_null = 0 ;
fwrite(fid,v_null,'short'); 	% Rsis

fwrite(fid,M,'int');				% Xsiz (32bits)
fwrite(fid,N,'int');				% Ysiz (32bits)


fwrite(fid,v_null,'int');		% XOsiz (32bits)
fwrite(fid,v_null,'int');		% YOsiz (32bits)

fwrite(fid,M,'int');				% XTsiz (32bits)
fwrite(fid,N,'int');				% YTsiz (32bits)

fwrite(fid,v_null,'int');		% XT0siz (32bits)
fwrite(fid,v_null,'int');		% YT0siz (32bits)

fwrite(fid,P,'int16'); 			% Csiz (nb composantes)

fwrite(fid,g_color(1),'int8'); 	% CSsiz (type color tr.)

%---------------------------------
for i=1:double(P)
	fwrite(fid,g_quant(i),'int8');	% Ssiz(i) (8bits) MSB pas utilis

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?