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

📄 renumlab.m

📁 模式识别工具包
💻 M
字号:
%RENUMLAB Renumber labels% % 	[nlab,lablist] = renumlab(slab)% % The array of labels slab is converted and renumberred to a vector % of numeric labels nlab. The conversion table lablist is such that % slab = lablist(nlab,:).  slab can be a set of numeric row vectors % or a set of strings.% % 	[nlab1,nlab2,lablist] = renumlab(slab1,slab2)% % This combines two input arrays of labels slab1 and slab2 into two % numeric label vectors nlab1 and nlab2 with a shared conversion % table lablist. % Copyright: R.P.W. Duin, duin@ph.tn.tudelft.nl% Faculty of Applied Physics, Delft University of Technology% P.O. Box 5046, 2600 GA Delft, The Netherlandsfunction [nlab,nlab2,lablist] = renumlab(slab,slab2)str = 0;if isempty(slab) & nargin == 1	nlab = []; nlab2 = [];	returnendif isstr(slab)	str = 1;	slab = abs(slab);endif nargin == 2	if isstr(slab2)		str = 1;		slab2 = abs(slab2);	end	[n1,m] = size(slab);	[n2,m2] = size(slab2);	if m < m2		slab = [slab zeros(n1,m2-m)];	elseif m2 < m		slab2 = [slab2 zeros(n2,m-m2)];	end	m = max(m,m2);	n = n1+n2;	if ~isempty(slab2)		slab = abs(str2mat(slab,slab2));	endelse	[n,m] = size(slab);endnlab = zeros(n,1);lablist = zeros(n,m);if m > 1	% Debugged by Oscar Deniz Suarez	NumVistas=0;	for i=1:n		pos=strmatch(slab(i,:),lablist(1:NumVistas,:),'exact');		if isempty(pos)			NumVistas=NumVistas+1;			lablist(NumVistas,:)=slab(i,:);			nlab(i)=NumVistas;		else			nlab(i)=pos(1);		end	end	lablist=lablist(1:NumVistas,:);else	i = 0;	while min(nlab) == 0		i = i+1;		t = slab(min(find(nlab==0)),:);		I = find(slab == t);		nlab(I) = i*ones(size(I));		lablist(i,:) = t;	end	lablist = lablist(1:i,:);end[lablist,J] = sortrows(lablist);[JJ,J] = sort(J);nlab = J(nlab);if str	lablist = setstr(lablist); endif nargin == 2	nlab2 = nlab(n1+1:n1+n2);	nlab = nlab(1:n1);else	nlab2 = lablist;endreturn	

⌨️ 快捷键说明

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