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

📄 pasreadrecord.m

📁 这是一篇权威文章的代码
💻 M
字号:
function record=PASreadrecord(filename)  [fd,syserrmsg]=fopen(filename,'rt');  if (fd==-1),    PASmsg=sprintf('Could not open %s for reading',filename);    PASerrmsg(PASmsg,syserrmsg);   end;    matchstrs=initstrings;  record=PASemptyrecord;  notEOF=1;  while (notEOF),    line=fgetl(fd);    notEOF=ischar(line);    if (notEOF),      matchnum=match(line,matchstrs);      switch matchnum,        case 1, [imgname]=strread(line,matchstrs(matchnum).str);	        record.imgname=char(imgname);	case 2, [x,y,c]=strread(line,matchstrs(matchnum).str);	        record.imgsize=[x y c];	case 3, [database]=strread(line,matchstrs(matchnum).str);	        record.database=char(database);	case 4, [obj,lbl,xmin,ymin,xmax,ymax]=strread(line,matchstrs(matchnum).str);	        record.objects(obj).label=char(lbl);		record.objects(obj).bbox=[xmin,ymin,xmax,ymax];	case 5, tmp=findstr(line,' : ');	        [obj,lbl]=strread(line(1:tmp),matchstrs(matchnum).str);	        record.objects(obj).label=char(lbl);		record.objects(obj).polygon=sscanf(line(tmp+3:end),'(%d, %d) ')';	case 6, [obj,lbl,mask]=strread(line,matchstrs(matchnum).str);	        record.objects(obj).label=char(lbl);		record.objects(obj).mask=char(mask);	case 7, [obj,lbl,orglbl]=strread(line,matchstrs(matchnum).str);	        record.objects(obj).label=char(lbl);		record.objects(obj).orglabel=char(orglbl);	otherwise, %fprintf('Skipping: %s\n',line);      end;    end;  end;  fclose(fd);returnfunction matchnum=match(line,matchstrs)  for i=1:length(matchstrs),    matched(i)=strncmp(line,matchstrs(i).str,matchstrs(i).matchlen);  end;  matchnum=find(matched);  if isempty(matchnum), matchnum=0; end;  if (length(matchnum)~=1),     PASerrmsg('Multiple matches while parsing','');  end;returnfunction s=initstrings  s(1).matchlen=14;  s(1).str='Image filename : %q';    s(2).matchlen=10;  s(2).str='Image size (X x Y x C) : %d x %d x %d';    s(3).matchlen=8;  s(3).str='Database : %q';    s(4).matchlen=8;  s(4).str='Bounding box for object %d %q (Xmin, Ymin) - (Xmax, Ymax) : (%d, %d) - (%d, %d)';    s(5).matchlen=7;  s(5).str='Polygon for object %d %q (X, Y)';    s(6).matchlen=5;  s(6).str='Pixel mask for object %d %q : %q';  s(7).matchlen=8;  s(7).str='Original label for object %d %q : %q';return

⌨️ 快捷键说明

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