www.pudn.com > jpegtool_matlab.rar > dctmat.m
% dctmat - build the NxN matrix for the cosine transform % % SYNOPSIS % dctmat % dctmat(N) % % DESCRIPTION % The NxN matrix for the cosine transform is returned. N defaults to 8. % % EXAMPLE % If X is NxN, then % c = dctmat(N); c * X * c' % would give the cosine transform of X. % Copyright (C) 1995-1997 Darrel Hankerson and Greg A. Harris % % This file is part of the JPEGtool collection of scripts for Octave % and Matlab; see http://www.dms.auburn.edu/compression % % The JPEGtool collection is free software; you can redistribute it % and/or modify it under the terms of the GNU General Public License % as published by the Free Software Foundation; either version 2, or % (at your option) any later version. % % The collection is distributed in the hope that it will be useful, % but WITHOUT ANY WARRANTY; without even the implied warranty of % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the % GNU General Public License for more details. % % You should have received a copy of the GNU General Public License % along with this package; see the file COPYING. If not, write to the % Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA % 02111-1307, USA. function c = dctmat(N) if (nargin == 0) N = 8; end % Build the NxN cosine transform c = ones(N); jj = (1:2:2*N) * pi/(2*N); for u=1:N-1 c(u+1,:) = cos(jj*u); end c = sqrt(2/N)*c; c(1,:) = c(1,:)/sqrt(2);