⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 masksize.m

📁 jpg compression and decompression~
💻 M
字号:
function fsize=maskSize(imageMask, quantLevels)%% maskSize - returns the size of the mask if RLE compression is used.%    imageMask assumed to vary between -1 and 1%% linearize imageMaskimMask=(imageMask+1)/2;imMask=round((quantLevels-1).*imMask(:));% keep an array for length of zero runszeroRuns=zeros(length(imageMask(:)), 1);% keep an array for grey levelsgreys=zeros(quantLevels, 1);% loop through whole image, finding zero runs and grey valueszeroRunLength=0;numGreys=0;numZeros=0;for i=1:length(imMask)    if imMask(i)==round(0.5*(quantLevels-1))    zeroRunLength=zeroRunLength+1;  else    zeroRuns(zeroRunLength+1)=zeroRuns(zeroRunLength+1)+1;    zeroRunLength=0;    numZeros=numZeros+1;    greys(imMask(i)+1)=greys(imMask(i)+1)+1;    numGreys=numGreys+1;  end;  end;% calculate average rate of zero chainssymbolProbs=zeroRuns/numZeros;codeLengths=-log(symbolProbs)/log(2);% Replace infinite code lengths with very long onesfor j=1:size(codeLengths(:),1)  if codeLengths(j)== Inf    codeLengths(j)=100000;  end;  end;zeroRate=sum(symbolProbs.*codeLengths)% calculate average rate of greyssymbolProbs=greys/numGreys;codeLengths=-log(symbolProbs)/log(2);% Replace infinite code lengths with very long onesfor j=1:size(codeLengths(:),1)  if codeLengths(j)== Inf    codeLengths(j)=100000;  end;  end;greyRate=sum(symbolProbs.*codeLengths)fsize=(greyRate*numGreys+zeroRate*numZeros)/8;

⌨️ 快捷键说明

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