📄 jp2write.m
字号:
function str=jp2write(varargin) % JP2WRITE - Writes images as JPEG 2000 files to disk. Needs jasper installed.%% JP2WRITE(IM,'FILENAME',[OPTIONS...])%% Options is all options specified with -O to jasper and and an extra 'bitdepth' option.%% Example:%% jp2write(im,'myfile.jp2','rate',0.01,'bitdepth',10);%% This example saves the image matrix im at 1% size of raw size and stores it with 10 bits per pixel.%%% (C) Peter Rydes鋞er 2002-11-08%% Se also: JP2IMFORMATS, JP2WRITE, IMFORMATS, IMREAD, IMWRITE, IMFINFO [datacells,varargin]=parseparams(varargin); im=datacells{1}; if length(datacells)>1,if length(datacells{2}), warning('Colormap or other numeric options before filename not suported');end, end if length(varargin)<1, error('MATLAB:option','You must specify filename'); end filename=varargin{1}; opts=varargin(2:end); [jasperoptstr,opts,optexist] = parse_parameter_list('jasper',opts,'bitdepth','format'); [opts] = parse_parameter_list('str2num',opts); if optexist.bitdepth, bits=opts.bitdepth; else bits=0; end [pgxopts,opts,optexist] = parse_parameter_list('cell',opts,'format'); if optexist.format, fmtstr=[' --output-format ',opts.format]; else idx = find(filename == '.'); if (~isempty(idx)) ext = filename((idx(end) + 1):end); fmtstr=[' --output-format ' ext]; else fmtstr=''; end end if size(im,3)==1, tmp=[tempname '.pgx']; try, pgxwrite(im,tmp,pgxopts{:}); catch, delete(tmp); rethrow(lasterror); end else tmp=[tempname '.bmp']; if bits>8, warning('MATLAB:option','Only grayscale (one channel) are supported in more than 8 bits per channel'); end try, imwrite(im,tmp,'bmp'); catch, delete(tmp); rethrow(lasterror); end end exit_code=system(sprintf('jasper --input "%s" %s --output "%s" %s 2>/dev/null',tmp,fmtstr,filename,jasperoptstr)); if exit_code~=0, error('MATLAB:io','Could (probably) not open file "%s" for writing. Check directory or file permissions.',filename); end delete(tmp); return;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -