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