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

📄 loadcell.m

📁 matlab处理图像的一些基本方法。其中有一部分mex程序需要安装编译
💻 M
字号:
function cellm=loadcell(filename)
%   LOADCELL retrieves a cell matrix from a binary file.
%
%   cellmat=LOADCELL(filename) loads the cell matrix 'cellmat'
%   from a 'filename'.
%
%   This function works under both MATCOM V3 and MATLAB 5.
%
%   See also: SAVECELL
%
% (c) Copyright MathTools Ltd. 1997-1998


  % so MATCOM knows cellm is cell array
cellm=cell(0);

if ~any(any(findstr(filename,'.'))),
  filename=[filename '.mat'];
end
fid=fopen(filename,'rb');
if fid==-1
  error(['could not open ' filename]);
end
csize=loadcell_mat(fid);
ca=csize(1); cb=csize(2);
cn=ca*cb;
if cn==0,
  cellm=cell(ca,cb);
else
  c=cell(1,cn);
  for n=1:cn,
    c{n}=loadcell_mat(fid);
  end
  cellm=reshape(c,ca,cb);
end
fclose(fid);

function X=loadcell_mat(fid)
% loadcell_mat - read next matrix from matlab4 binary file
% Read header
mdims=fread(fid,1,'ulong');
msize=fread(fid,mdims,'ulong');
header=fread(fid,3,'ulong');
mopt=header(1);
imagflag=header(2);
namelen=header(3);
fread(fid,namelen,'char');
% Read next data matrix
X=fread(fid,prod(msize),'double');X=reshape(X,msize');
if imagflag;
  Ximag=fread(fid,prod(msize),'double');
  Ximag=reshape(Ximag,msize');
  X=X+j*Ximag;
end;
% Convert to string if needed

if bitand(mopt,2),
  xl=[X(end,1) X(end,2)];
  if min(xl)==0,
    X=sparse(xl(1),xl(2));
  else
    X=spconvert(X);
  end
end

if bitand(mopt,1),
 X=setstr(X);
end;

if bitand(mopt,4),
 X=logical(X);
end;

⌨️ 快捷键说明

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