%imratio源函数
function cr=imratio(f1,f2)
%imratio计算两幅图像或两个变量的比特数的比率
%返回f1和f2这两幅图像或两个变量的比特数的比率
%f1是原始图像,f2是压缩后图像,cr是压缩比率
error(nargchk(2,2,nargin));%检查输入参数
cr=bytes(f1)/bytes(f2);%计算比率
%--------------------------------------------------%
function b=bytes(f)
%返回输入f的比特数
%如果f是字符串,则它是一个图像文件名;如果不是,它是一个图像变量
if ischar(f)
info=dir(f);b=info.bytes;
elseif isstruct(f)
%matlab的函数报告每个结构领域的124个字节的内存,因为matlab在内存中储存结构。
%不要计算这额外的内存;相反,将这些内存与每个领域联系
b=0;
fields=fieldnames(f);
for k=1:length(fields)
b=b+bytes(f.(fields{k}));
end
else
info=whos('f');b=info.bytes;
end
imratio.m
最新推荐文章于 2023-05-12 22:19:44 发布