[iadct] [Up] [iadft] | Image Transformation |
>>> A = iadctmatrix(128)
>>> iashow(A)
(128, 128) Min= -0.12499058773 Max= 0.12499058773 Mean=0.001 Std=0.09
A |
>>> import Numeric
>>> A = iadctmatrix(4)
>>> print Numeric.array2string(A, precision=4, suppress_small=1)
[[ 0.5 0.5 0.5 0.5 ] [ 0.6533 0.2706 -0.2706 -0.6533] [ 0.5 -0.5 -0.5 0.5 ] [ 0.2706 -0.6533 0.6533 -0.2706]]
>>> B = Numeric.matrixmultiply(A,Numeric.transpose(A))
>>> print Numeric.array2string(B, precision=4, suppress_small=1)
[[ 1. 0. -0. -0.] [ 0. 1. 0. 0.] [-0. 0. 1. 0.] [-0. 0. 0. 1.]]
def iadctmatrix(N): from Numeric import ones, sqrt, cos, pi x, u = iameshgrid(range(N), range(N)) # (u,x) alpha = ones((N,N)) * sqrt(2./N) alpha[0,:] = sqrt(1./N) # alpha(u,x) A = alpha * cos((2*x+1)*u*pi / (2.*N)) # Cn(u,x) return A
[iadct] [Up] [iadft] | |