1

libsvm を使用してトレーニングされた SVM RBF モデルがあります。現在 OpenCV で開発されている特徴抽出器があり、OpenCV でモデルを再トレーニングするのではなく、libsvm モデルを直接使用したいと考えています。svm_load_model を使用して libsvm を使用してモデルをロードしています。svm_predict(model,x) を使用したいのですが、テスト データは svm_node x にロードされます。OpenCV Mat 機能を svm_node に、または C++ ベクトル機能を svm_node x に変換するにはどうすればよいですか?

struct svm_node
{
int index;
double value;
};
4

2 に答える 2

2

http://book.caltech.edu/bookforum/archive/index.php/t-4065.html

これを見てください。これには、あなた(および私)が直面している同様の問題があります。

于 2013-11-20T20:28:13.203 に答える
-3

このリンク チュートリアルは、OpenCV の SVM です。
http://docs.opencv.org/doc/tutorials/ml/introduction_to_svm/introduction_to_svm.html

SVM パラメータを設定できます。つまり、C と G
です。
params.svm_type = CvSVM::C_SVC;
params.kernel_type = CvSVM::LINEAR;
params.term_crit = cvTermCriteria(CV_TERMCRIT_ITER, 100, 1e-6);

OpenCV
CvSVM SVM で SVM モデルをトレーニングします。
SVM.train(trainingDataMat、labelsMat、Mat()、Mat()、params);

最後に、SVM モデルでデータを予測できます。
float response = SVM.predict(sampleMat);

于 2013-06-12T07:27:27.137 に答える