1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
function y = idct2 (x, m, n)
// Description
// This function computes the inverse 2-D discrete cosine transform of matrix X. If M and N are specified, the input is either padded or truncated to have M rows and N columns.
// Calling Sequence
// Y = idct2(X)
// Y = idct2(X, M, N)
// Y = idct2(X, [M, N])
// Parameters
// X: Matrix or integer
// M, N: If specified Matrix X is padded with M rows and N columns.
// Examples
// idct2(3, 4, 6)
// ans =
// 2.811261 0.612372 -0.525856 0.250601 0.612372 -0.086516 */
funcprot(0);
rhs=argn(2);
select (rhs)
case 1 then
[m,n]=size(x);
case 2 then
n=m(2);
m=m(1);
end
if m==1 then
y=idct1(x.',n).';
elseif n==1 then
y=idct1(x,m);
else
y=idct1(idct1(x,m).',n).';
end
endfunction
|