但是为什么要“手动”分类呢?OpenCv  有一个名为的分类例程predict,它使用找到的 SVs' 和 alphas'
float response = SVM.predict(sampleMat);
如果你真的想自己做,你不仅需要 SV 和 alpha,还需要一个用于训练和计算的核函数
SUM alpha_i K( support_vector_i , data_point ) - rho
我不确定是否可以在不扩展 SVM 类的情况下“手动”提取 alpha,正如在源代码中看到的那样- alpha 存储在CvSVMDecisionFunc结构中:
struct CvSVMDecisionFunc
{
    double rho;
    int sv_count;
    double* alpha;
    int* sv_index;
};
而对该结构的唯一参考是在以下protected部分:
protected:
    (...)
    CvSVMDecisionFunc* decision_func;
从源代码中svm.cpp我们可以发现,它只能通过save例程公开访问。所以一些“hack”将是保存模型并从那里提取 alpha(它将位于“决策函数”部分,以人类可读的格式编写)。
最简单的提取技术似乎扩展了CvSVM类并包含方法,例如
public:
    CvSVMDecisionFunc* get_decision_function() { return decision_func; }
更新
澄清后,OP实际上正在尝试在opencv中使用外部训练模型-最简单的方法是将由其他方法(libsvm,linearsvm等)创建的libsvm模型转换为opencv兼容格式并使用read方法加载它
void CvSVM::read( CvFileStorage* fs, CvFileNode* svm_node )
有关更多详细信息,请参阅来源。