[英]mex function undefined error while running matlab project in octave
我實際上是 matlab 的新手。
我正在嘗試在我的 ubuntu 機器上以八度音程運行這個matlab 項目。 它有一個名為“bm3d_thr”的函數,用於其中一個文件(BM3D-Net/library/bm3d-denoising/BM3D.m 文件的第 342 行),如下所示:
y_hat = bm3d_thr(z, hadper_trans_single_den, Nstep, N1, N2, lambda_thr2D,...
lambda_thr3D, tau_match*N1*N1/(255*255), (Ns-1)/2, (sigma/255), thrToIncStep, single(Tfor), single(Tinv)', inverse_hadper_trans_single_den, single(thr_mask), Wwin2D, smallLN, stepFS );
此外,我的八度音程路徑中有相應的 mex 文件(名稱為“bm3d_thr.mexa64”)。
問題是當我嘗試運行項目時(通過說“演示”),它給出了以下錯誤:
error: 'bm3d_thr' undefined near line 342 column 9
error: called from
BM3D at line 342 column 7
bm3d_net_res at line 5 column 7
demo at line 9 column 7
有人可以幫我弄清楚這里出了什么問題並使其正常工作。 我想問題是 mex 文件沒有在我的機器上編譯,但作者沒有提供這個 mex 文件的源代碼。
任何幫助,將不勝感激。
提前致謝。
來自 Matlab 的二進制 MEX 文件與 Octave 不兼容。 您需要使用 Octave 的mex
或mkoctfile --mex
命令從源代碼重新編譯項目中的所有 MEX 文件。
如果作者未提供此 MEX 文件的來源,則您是 SOL。 在他們的 GitHub 存儲庫上發布一個問題,要求提供源代碼。 還有祝你好運。 :)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.