/pixeldup.m
https://bitbucket.org/tetonedge/diptoolbox · Objective C · 33 lines · 28 code · 5 blank · 0 comment · 4 complexity · f0bd7b4d176a2d39f227b65a6159f136 MD5 · raw file
- function B = pixeldup(A, m, n)
- %PIXELDUP Duplicates pixels of an image in both directions.
- % B = PIXELDUP(A, M, N) duplicates each pixel of A M times in the
- % vertical direction and N times in the horizontal direction.
- % Parameters M and N must be integers. If N is not included, it
- % defaults to M.
-
- % Copyright 2002-2004 R. C. Gonzalez, R. E. Woods, & S. L. Eddins
- % Digital Image Processing Using MATLAB, Prentice-Hall, 2004
- % $Revision: 1.5 $ $Date: 2005/01/03 00:01:28 $
-
- % Check inputs.
- if nargin < 2
- error('At least two inputs are required.');
- end
- if nargin == 2
- n = m;
- end
-
- % Generate a vector with elements 1:size(A, 1).
- u = 1:size(A, 1);
-
- % Duplicate each element of the vector m times.
- m = round(m); % Protect against nonintegers.
- u = u(ones(1, m), :);
- u = u(:);
-
- % Now repeat for the other direction.
- v = 1:size(A, 2);
- n = round(n);
- v = v(ones(1, n), :);
- v = v(:);
- B = A(u, v);