0001 function rimgs = slresizeimg(imgs, newsiz, interpker)
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027
0028
0029 if nargin < 2
0030 raise_lackinput('slresizeimg', 2);
0031 end
0032 h0 = size(imgs, 1);
0033 w0 = size(imgs, 2);
0034
0035 if isnumeric(newsiz)
0036 if length(newsiz) == 1
0037 h = newsiz * h0;
0038 w = newsiz * w0;
0039 elseif length(newsiz) == 2
0040 [h, w] = sltakeval(newsiz);
0041 else
0042 error('sltoolbox:invalidarg', 'The newsiz is invalid');
0043 end
0044 else
0045 error('sltoolbox:invalidarg', 'The newsiz is invalid');
0046 end
0047
0048 if nargin < 3 || isempty(interpker)
0049 interpker = 'linear';
0050 end
0051
0052
0053
0054 I = linspace(1, h0, h)';
0055 J = linspace(1, w0, w);
0056 I = I(:, ones(1, w));
0057 J = J(ones(h, 1), :);
0058
0059
0060
0061 rimgs = slimginterp(imgs, I, J, interpker);
0062
0063
0064