• 基于PCA和SVM的人脸识别系统-error修改


    -------------------------------------------------
    Undefined function or variable 'W'.
    Error in classify (line 18)
    xNewFace = xNewFace*W; % 经过pca变换降维
    Error in GUIRecgFaceImage (line 3)
    nClass = classify(filepath); 
    Error while evaluating uicontrol Callback
    -------------------------------------------------
    xNewFace = xNewFace*W; % 经过pca变换降维
      classify.m函数的一句语句做修改,修改为
      xNewFace =  (xNewFace-meanVec)*V; % 经过pca变换降维


    -------------------------------------------------
    Error using svmclassify (line 53)
    The first input should be a struct generated by SVMTRAIN.
    Error in multiSVMClassify (line 29)
            classes = svmclassify(CASVMStruct{iIndex}{jIndex},TestFace);
    Error in test (line 36)
    classes = multiSVMClassify(TestFace);
    Error while evaluating uicontrol Callback
    -------------------------------------------------
    在运行程序之前,必须运行pathtool设置路径,添加根路径下的exportLibSVM,Kernel,PCA,SVM几个文件夹。并且remove原来自己的libSVM。
    matlab工具箱中svmtrain的用法

    原来用的是libsvm的工具包,感觉很好用。
    最近应为用到的核函数需要自己设定,所以转到了matlab的自带的svm函数。
    目前用到的主要有两个:
    svmtrain和svmclassify。
    其中具体的参数可以参考help。
    有几点应用的时候需要注意:
    1.如果你原来安装过libsvm需要先卸载掉。
    方法是:在command window中输入pathtool,在弹出的框中去掉libsvm的文件夹。
    2.svmtrain的语法示例:
    svmStruct = svmtrain(data(train,:),groups(train),'showplot',true,'Kernel_Function',‘rbf’ );
    或:
    svmStruct = svmtrain(data(train,:),groups(train),'showplot',true,'Kernel_Function','rbf' ,'RBF_Sigma',1.5);
    但是如果用的是自编的函数的话,则为:
    svmStruct = svmtrain(data(train,:),groups(train),'showplot',true,'Kernel_Function',@kfun);
    最后的参数为自己设计的核函数,函数名字是kfun,作为参数不加引号。
  • 相关阅读:
    SQL 数据库备份
    压力测试工具WAS
    petshop4.0 详解之八(PetShop表示层设计
    类库生成的dll 添加 注释
    硬盘格式化后 数据全部找回
    petshop4.0 详解之七(PetShop表示层设计)
    JS 显示动态更新时间
    petshop4.0 详解之六(PetShop表示层设计)
    在linux环境下搭建嵌入式开发平台
    收录 Uboot 详解
  • 原文地址:https://www.cnblogs.com/anyuan9/p/6171582.html
Copyright © 2020-2023  润新知