根据Octave documentation for dct2,dct2 (x)
计算矩阵x
的二维离散余弦变换,但是当我尝试以下代码时我得到一个错误,我怎么可能做错了?
A= imread('img.jpg')
[m,n]=size(A)
B=dct2(A)
它返回一个错误:
ERROR: 'dct2' undefined near line 4 column 3
我试过检查A
是否是一个矩阵,它是一个矩阵,那么bug在哪里?我在Windows上使用OCtave 3.2.4。
答案 0 :(得分:5)
Octave没有找到函数定义。您必须首先安装信号包,您可以从http://octave.sourceforge.net/signal/index.html下载它,并在文件的同一文件夹中提示八度并调用:
pkg install signal-1.2.0.tar.gz
或者,正如@carandraug在评论中所建议的那样,自Octave 3.4起,您可以通过输入以下内容自动下载和安装软件包:
pkg install -forge signal
在权限错误上尝试使用sudo octave
提示并在安装后添加:
pkg load signal
在使用dct2
函数之前。