zoukankan      html  css  js  c++  java
  • 基于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,作为参数不加引号。
  • 相关阅读:
    数据结构(复习)链表完结篇
    第三部分_JSP详解续
    第二部分_搭建Java Web开发环境与配置Tomcat服务器&JSP详解
    第一部分_HTTP协议详解&HTML常用控件
    集合框架中的接口及其实现类
    封底估算
    从起泡排序探究算法正确性证明的一般规律
    各种曲线运动、弹球、笔记
    Android 之px于dp在Java代码中的转换
    sqlite之聚合函数的使用
  • 原文地址:https://www.cnblogs.com/anyuan9/p/6171582.html
Copyright © 2011-2022 走看看