clear all; % --- Setup variables -------------------------------------------------------; x = [-3/4 1/4 2 1/4 -3/4]; gaussKernel = x'*x; image_list = mGetImageFileList; image_total = size( image_list, 1 ); dataPoint = 0; %---------------------------------------------------------------------------- for weightScale = 0.1 : 0.1 : 3 dataPoint = dataPoint + 1 for image_count = 1:2:2 pNum = (image_count+1)/2; left_name = deblank( image_list( image_count ,: ) ) rght_name = deblank( image_list( image_count+1 ,: ) ) left = pgmRead( sprintf( '../images/%s', left_name ) ); right = pgmRead( sprintf( '../images/%s', rght_name ) ); [ row_total, col_total ] = size( left ); image_size = row_total*col_total; [gaussPyramid, indices] = buildGpyr(right,'max',x); firstLowPass = pyrBand(gaussPyramid, indices,2); [Rate(pNum),SNR(pNum)] = mComputeDCT8x8RateAndSNR(firstLowPass,weightScale); end Average_Bit_Rate(dataPoint) = 0.25 .* mean(Rate) Average_SNR(dataPoint) = mComputeAverageSNR(SNR) end mCreateRateDistortionGraph('Rate Distortion Curve for Subsampled Image Encoder',Average_SNR,Average_Bit_Rate);