OpenCV的支援向量機SVM的程式

2021-07-04 11:02:45 字數 1350 閱讀 3865

步驟:

1,生成隨機的點,並按一定的空間分布將其歸類

2,建立svm並利用隨機點樣本進行訓練

3,將整個空間按svm分類結果進行劃分,並顯示支援向量

[cpp]view plain

copy

#include "stdafx.h"

#include 

void

drawcross(mat &img, point center, scalar color)  

intnewsvmtest(

introws, 

intcols, 

inttestcount)  

else

if(row > ( 50 * cos(col * cv_pi/ 100) + 200) )  

else

else

}   

}  //show test points

imshow("dst"

, img);  

waitkey(0);  

/start svm trainning//

cvsvm svm = cvsvm();   

cvsvmparams param;   

cvtermcriteria criteria;  

criteria= cvtermcriteria(cv_termcrit_eps, 1000, flt_epsilon);   

param= cvsvmparams (cvsvm::c_svc, cvsvm::rbf, 10.0, 8.0, 1.0, 10.0, 0.5, 0.1, null, criteria);   

svm.train(data, res, mat(), mat(), param);  

for(

inti= 0; i

line(img, point(j,i), point(j,i), rcolor);  

}   

}  imshow("dst"

, img);  

waitkey(0);  

//show support vectors

intsv_num= svm.get_support_vector_count();   

for(

inti= 0; i

imshow("dst"

, img);  

waitkey(0);  

return

0;  

}  int

main(

intargc, 

char

** argv)    

學習樣本:

分類:支援向量:

OpenCV的支援向量機SVM的程式

include include include include include include include using namespace std define width 28 define height 30 int main int argc,char argv else svm data...

支援向量機(SVM)

簡介 術語 支援向量機 svm 是乙個類分類器,正式的定義是乙個能夠將不同類樣本在樣本空間分隔的超平面。換句話說,給定一些標記 label 好的訓練樣本 監督式學習 svm演算法輸出乙個最優化的分隔超平面。首先我們假定有乙個未知的欲分類的集合,可以進行分割,但是我們不知道分割的函式 超平面,也叫真實...

支援向量機SVM

支援向量機svm support vector machine 是機器學習領域的乙個有監督的學習模型。一 簡介 支援向量機建立在統計學習理論的基礎之上。統計學習理論 statistical learning theory簡稱slt 是一種處理小樣本的統計理論 為研究有限樣本情況下的統計模式識別和更廣...