selectim.m

来自「一个强大的统计模式识别工具箱」· M 代码 · 共 53 行

M
53
字号
%SELECTIM Select one or more images in multiband image or dataset
%
%	B = SELECTIM(A,N)
% A = A*SELECTIM([],N)
%
% INPUT
%   A          Multiband image or dataset containing multiband images
%   N          Vector or scalar pointing to desired images
%
% OUTPUT
%   B          New, reduced, multiband image or dataset

function b = selectim(a,n)

	if nargin < 2, n = 1; end
	if nargin < 1 | isempty(a)
		b = mapping(mfilename,'fixed',{n})
		b = setname(b,'SelectImage');
		return
	end
	
	if isdataset(a)
		im = data2im(a);
		if ndims(im) ~= 3
			error('3D images expected')
		end
		fsize = size(im);
		if length(n) == 1
			fsize = fsize(1:2);
		else
			fsize(3) = length(n);
		end
		im = im(:,:,n);
		if isobjim(a)
			b = setdat(a,im2obj(im,fsize));
			b = setfeatsize(b,fsize);
		else
			b = im2feat(im);
		end
	elseif isdatafile(a)
		b = a*filtm([],'selectim',n);
	elseif isa(a,'double')
		if ndims(a) ~= 3
			error('3D images expected')
		end
		b = a(:,:,n);
	else
		error('Unexpected datatype')
	end
	
return
		

⌨️ 快捷键说明

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