matlab使用别人的代码的时候出现找不到函数的问题

我在试着复现这个问题
https://github.com/cszn/IRCNN
目前进行到了最后一步了,可是有很大的问题

图片说明

 clear; clc;

addpath('utilities');
imageSets    = {'Set18','Set24'}; % testing dataset
setTest      = imageSets(1); % select the dataset

useGPU       = 0;

folderTest   = 'testsets';
folderResult = 'results';
folderModel  = 'models';
if ~exist(folderResult,'file')
    mkdir(folderResult);
end
setTestCur = cell2mat(setTest(1));
disp('--------------------------------------------');
disp(['----',setTestCur,'--Color Image Demosaiking--']);
disp('--------------------------------------------');
folderTestCur = fullfile(folderTest,setTestCur);

% folder to store results
folderResultCur = fullfile(folderResult, ['Demosaik_',setTestCur]);
if ~exist(folderResultCur,'file')
    mkdir(folderResultCur);
end


%% Noise level 
noiselevel = 0; % default; noiselevel = 10; Isigma     = 10/255; Msigma     = 8;


%% parameter setting in HQS (tune the following parameters to obtain the best results)
%% -------------------important!------------------
% Parameter settings of IRCNN
% (1) image noise level: Isigma
Isigma     = 0.5/255; % default 0.5/255 for noise-free image, ****** from interval [1/255, 20/255] ******; e.g., 1/255, 2.55/255, 7/255, 11/255
% (2) noise level of the last denoiser: Msigma
Msigma     = 2; % default 2 for noise-free image, ****** from {1 2 3 4 5 7 9 11 13 15} ******
%--------------------------------------------------------

%% load denoisers
load(fullfile(folderModel,'modelcolor.mat'));

%% default parameter setting in HQS
totalIter   = 30; % default 30
lamda       = (Isigma^2)/3; % default 3, ****** from {1 2 3 4} ******
modelSigma1 = 49; % default 49
modelSigmaS = logspace(log10(modelSigma1),log10(Msigma),totalIter);
rho         = Isigma^2/((modelSigma1/255)^2);

ns          = min(25,max(ceil(modelSigmaS/2),1));
ns          = [ns(1)-1,ns];

ext                 =  {'*.jpg','*.png','*.bmp','*.tif'};
filepaths           =  [];
for i = 1 : length(ext)
    filepaths = cat(1,filepaths,dir(fullfile(folderTestCur, ext{i})));
end

PSNRs = zeros(1,length(filepaths));
SSIMs = zeros(1,length(filepaths));

for i = 1 : length(filepaths)

    label  = imread(fullfile(folderTestCur,filepaths(i).name));
    [~, Iname, ext] = fileparts(filepaths(i).name);
    label = im2single(label);

    % generate mask
    [B, y, mask] = mosaic_bayer(label, 'grbg', noiselevel);
    y    = single(y);
    mask = single(mask);
    z = linearlcc(B, 0);
    z =  single(z);

    z0          = z;
    if useGPU
        z       = gpuArray(z);
        y       = gpuArray(y);
    end

    for itern = 1:totalIter

        % step 1
        rho = lamda*255^2/(modelSigmaS(itern)^2);
        z   = (y+rho*z)./(mask+rho);

        if ns(itern+1)~=ns(itern)
            [net] = loadmodel(modelSigmaS(itern),CNNdenoiser);
            net = vl_simplenn_tidy(net);
            if useGPU
                net = vl_simplenn_move(net, 'gpu');
            end
        end

        % step 2
        res = vl_simplenn(net, z,[],[],'conserveMemory',true,'mode','test');
        residual = res(end).x;
        z = z - residual;

        %         imshow(z)
        %         title(int2str(itern))
        %         drawnow;
    end

    if useGPU
        output = im2uint8(gather(z));
        y      = im2uint8(gather(y));
    end

    %output(mask==1) = y(mask==1);

    [PSNR_Cur,SSIM_Cur] = Cal_PSNRSSIM(im2uint8(label),output,10,10);

    PSNRs(i) = PSNR_Cur;
    SSIMs(i) = SSIM_Cur;

    imshow(cat(2,y,output));
    drawnow;
    pause(0.001);

    disp([filepaths(i).name,'  --  ', num2str(PSNR_Cur,'%2.2f'),'dB  --  ', num2str(SSIM_Cur,'%2.2f')]);
    %     imwrite(y,fullfile(folderResultCur,[Iname,'_mosaik.png']));
    %     imwrite(output,fullfile(folderResultCur,[Iname,'_ircnn.png']));

end

disp('Average PSNR and SSIM')
disp([mean(PSNRs),mean(SSIMs)]);
        net = vl_simplenn_tidy(net);
                    应该是这行代码出错了;
                    显示没有找到这个函数;
                    Demo_demosaiking函数中调用 vl_simplenn_tidy子函数时,将包含vl_simplenn_tidy函数的.m文件拷贝至Demo_demosaiking相同目录即可。

vl_simplenn_tidy 是MatConvNet的函数。你要先去下载安装这个MATLAB扩展包。

你这函数在你设置的路径下有吗

首先把该函数筛选出来运行一下,看是否能成功,不能则检查函数是否有问题,没问题就检查下你引入的路径,看看该函数是否导入成功,若都没问题看你写的函数调用方法是否写错了,一般来说就这几个问题,一步一步解决

缺少vl_simplenn_tidy子函数,找到这个函数,包含至目录

https://blog.csdn.net/xiongchao99/article/details/78843154

可以尝试更改MATLAB版本
不同版本会舍弃部分自带函数

前辈,您解决这个问题了吗