是否可以在OpenCV中使用卡方内核作为SVM?

时间:2012-09-05 18:51:38

标签: c++ opencv machine-learning svm

我想在我正在编写的应用程序中使用带有卡方内核的SVM,但是我不知道如何应用它。

我将内核定义为K(x_i, x_j) = exp( -1/A * D(x_i, x_j)),其中A是我可以选择的缩放参数,D(x_i, x_j)是它们之间的卡方距离。

如何做到这一点?它是计算机视觉文献中常用的核心,所以如果不可能的话会令人惊讶。

2 个答案:

答案 0 :(得分:2)

答案 1 :(得分:0)

我不认为在opencv中存在卡方或自定义内核的选项。

因此,一种选择是使用不同的SVM库。

This是对LIBSVM的修改,它支持卡方内核(不同的内核)以及预先计算的内核。但它的目标是与Matlab一起使用。所以我不确定使它与C ++一起工作需要多少。

如果你想坚持使用opencv svm,另一个选择可能是使用线性SVM和transform你的数据来近似卡方内核。

answer也可能会为您提供更多提示。