0
を私に返し、それは以前に正常に動作していますが、今、私はここでの問題は、私のコードプロットは、私は、圧縮比を計算しようとしていますが、プロットは空白の窓を私に返し、空白のウィンドウに
function goodCompressionLevel = findGoodCompressionLevel(targetRatio, filename)
width = 672;
height = 380;
for compressionLevel = 1:255
[~,~,ext] = fileparts(filename);
if strcmp(ext, '.db') ~= 1
originalFileSize = 8*width*height;
[~,name,~] = fileparts(filename);
output = strcat(name, '_temp.jxr');
system(['/usr/local/Cellar/jxrlib/1.1/bin/JxrEncApp -i ' filename ' -o ' output ' -q ' num2str(compressionLevel)]);
fileInfo = dir(output);
newFileSize = fileInfo.bytes;
ratios(compressionLevel+1) = originalFileSize/newFileSize;
fprintf('Current Ratio: %d\n', ratios(compressionLevel+1));
%delete(output);
end
end
plot(ratios);
minDist = Inf;
for r = 1:length(ratios)
display(abs((ratios(r) - targetRatio)));
display(minDist);
if abs((ratios(r) - targetRatio)) <= minDist
minDist = abs((ratios(r) - targetRatio));
else
goodCompressionLevel = r-1;
display(goodCompressionLevel);
break;
end
end
end
ですかわかりません
修正してもらえますか?
'ratio'の内容をプロットせずに調べます。それは空ですか?それはNaNでいっぱいですか? – Peter