我在MATLAB中完成了一个项目。每次运行后输出保持不变,并且它们不会令人耳目一新。我改变了代码,但输出保持不变!我还在clear
的开头使用了main.m
。有时重启系统后会有变化。
这是main.m
的一部分。
%mainY.m ---- Codec for Single Video Sequence
clear;clc;
addpath('.\Videos');
。 。
%---------------------Parameters Setting---------------------%
yuvfilename = 'foreman_cif_30fps.yuv';
format = 'cif';
frame_rate = 30;
GOP_len = 10; % Even !
PrSname = ['GOP',num2str(GOP_len),'_PrS1'];
load([PrSname,'.mat']); % Prediction Structure
GOP_num = 10;
frame_num = GOP_len*GOP_num + 1;
init2last = [0,frame_num-1];
blk_sz = 16;
subrates = [0.7,0.1]; % Key Parameter of Controlling Bitrate
bitdepths = [8,8]; % Key Parameter of Controlling Bitrate
total=0;
。 。
%-----------------------Main Program-------------------------%
...
。 。 。 这是输出部分:
%------------------------Evaluation--------------------------%
psnr = zeros(frame_num,1);
SSIM = zeros(frame_num,1);
for ii = 1:frame_num
psnr(ii) = Psnr(Y(:,:,ii),Y_rec(:,:,ii));
SSIM(ii) = ssim(Y(:,:,ii),Y_rec(:,:,ii));
end
mean_psnr = mean(psnr);
mean_SSIM = mean(SSIM);
encode_rate = frame_num/tte;
decode_rate = frame_num/ttd;
encode_time = tte/frame_num;
decode_time = ttd/frame_num;
bitrate = (tbs/frame_num)*frame_rate/1000;
disp('%-----Evaluation Results-----%')
disp(['Qua. Method --> ',Qmethod])
disp(['Rec. Method --> ',Rmethod])
disp(sprintf('Bit-rate = %-8.2f kbps',bitrate))
disp(sprintf('Mean PSNR = %-8.2f dB',mean_psnr))
disp(sprintf('Mean SSIM = %-8.4f ',mean_SSIM))
disp(sprintf('Encoding-rate = %-8.4f frame/s',encode_rate))
disp(sprintf('Decoding-rate = %-8.4f frame/s',decode_rate))
disp(sprintf('Encoding Time = %-8.4f s/frame',encode_time))
disp(sprintf('Decoding Time = %-8.4f s/frame',decode_time))