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