系统里装的是libsvm3.17,下载的一个场景字符识别程序没有标明用的是哪个版本的libsvm。
运行程序出现“can't read model: number of return field is not correct”。
错误在 “[pl,ac,py]=svmpredict(zeros(size(x,1),1),x,clf{3},'-b 0');”这一行里
之前一直无法解决。在熟悉了解了libsvm之后,发觉问题应该出现model上。
在http://www.csie.ntu.edu.tw/~cjlin/libsvm/oldfiles/上找到libsvm的旧版本(从libsvm3.1才开始支持matlab)。
发现model有两个地方不同,于是安装libsvm3.1成功解决问题。
Libsvm 3.1
Libsvm 3.17
http://www.csie.ntu.edu.tw/~cjlin/libsvm/oldfiles/