基于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,作为参数不加引号。

转载于:https://www.cnblogs.com/anyuan9/p/6171582.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值