opencv中SVM
首先,理解下SVM得輸入格式。SVM的train()函式主要包含兩個輸入資料:訓練資料矩陣以及對應標籤組成的矩陣。其中訓練資料為行向量,標籤矩陣為列向量。舉個例子吧,比如在實驗裡一共用到300張圖片作為訓練資料,其中150張為正例樣本,150張為負例樣本,那麼最終得到的訓練資料矩陣大小應為300行n列,這裡的n代表的就是每一張圖片進行特徵提取(包括下采樣的方法)之後的特徵維數,一般在一兩千左右。對應的,標籤矩陣應為300行1列,儲存的內容為對應行特徵向量所代表的正負標籤,一般去+1和-1,當然取成別的數也可以。
其次需要說明的是就是SVM對於輸入的資料型別是有要求的,即mTrainData(訓練資料矩陣)以及mFlagPosNeg(標籤矩陣)都必須為CV_32FC1型別,因此需要進行型別轉換,而且必須保證轉換完之後數值都不能大於1,這就給我們了兩點啟示:1、不能直接用下采用後的影像畫素作為訓練資料的輸入,需要進行型別的歸一化。2、型別轉換時要使用normlize()函式,保證其數值範圍不大於1,而不能簡單的使用Mat的成員函式coverto,只變型別不變數值範圍。
--------------------- 本文來自 山在嶺就在 的CSDN 部落格 ,全文地址請點選:https://blog.csdn.net/u013088062/article/details/45113417?utm_source=copy
相關文章
- opencv SVM的使用OpenCV
- opencv + SVM 程式碼OpenCV
- opencv SVM分類DemoOpenCV
- OpenCV中使用SVM簡介OpenCV
- OpenCV進階---介紹SVMOpenCV
- OpenCV筆記(3)實現支援向量機(SVM)OpenCV筆記
- opencv python 基於SVM的手寫體識別OpenCVPython
- 機器學習(3),opencv4.0中SVM各個引數的意義,設定機器學習OpenCV
- 【opencv3】 svm實現手寫體與人臉識別OpenCV
- 學習SVM(四) 理解SVM中的支援向量(Support Vector)
- OpenCL中的SVM使用案例
- SVM
- 【OpenCV教程】OpenCV中的資料型別OpenCV資料型別
- 【OpenCV教程】OpenCV中對矩陣的常用操作OpenCV矩陣
- SVM原理
- 支援向量機(Support Vector Machine,SVM)—— 線性SVMMac
- SVM家族(一)
- Python機器學習筆記:SVM(1)——SVM概述Python機器學習筆記
- Python機器學習筆記:SVM(3)——證明SVMPython機器學習筆記
- 學習SVM(五)理解線性SVM的鬆弛因子
- 支援向量機(SVM)
- 線性可分SVM
- Python機器學習筆記:SVM(2)——SVM核函式Python機器學習筆記函式
- C++ opencv中的namedWindow和imshowC++OpenCV
- 【Svm機器學習篇】Opencv3.4.1與C++實現對分類問題的訓練與預測】機器學習OpenCVC++
- SVM——支援向量機(完整)
- SVM_支援向量機
- OpenCV()OpenCV
- opencvOpenCV
- 如何在 Android 專案中應用 OpenCV?AndroidOpenCV
- python OpenCV中的閾值是什麼PythonOpenCV
- opencv中的exp32f函式OpenCV函式
- python中的scikit-learn庫來實現SVM分類器。Python
- Scikit-learn SVM 實現
- 對SVM支援向量機(1)
- [譯] 支援向量機(SVM)教程
- SVM知識點彙總
- 以opencv為例說明cmake中的findpackage()OpenCVPackage