OpenCV3 4 3 KNN使用教程

2021-08-28 16:29:55 字數 1484 閱讀 2441

// 參考資料:(建議先閱讀此處)

// //

#include

#include

#include

#include

#include

void

init()

const

auto offsetrow = i * b;

for(

int j =

0; j < n;

++j)

} std::cout <<

"init done.\n"

<< std::endl;

}void

trainandpredict

(int k)

} traindata.

convertto

(traindata, cv_32f)

;// 這是新版opencv的介面,網上很多資料都舊了,所以我就寫一篇文章介紹一下新版介面的用法

auto knn = cv::ml::knearest::

create()

; knn-

>

setdefaultk

(k);

knn-

>

setisclassifier

(true);

knn-

>

setalgorithmtype

(cv::ml::knearest::brute_force)

; knn-

>

train

(traindata, cv::ml::row_sample, trainlabel)

; std::cout <<

"predicting..."

<< std::endl;

auto testnum =

0, truenum =0;

for(

int i =

0; i <10;

++i)}}

std::cout <<

"k: "

<< k << std::endl;

std::cout <<

"truenum: "

<< truenum << std::endl;

std::cout <<

"testnum: "

<< testnum << std::endl;

std::cout <<

"result: "

<<

1.0* truenum / testnum << std::endl;

std::cout << std::endl;

}int

main()

return0;

}

效果圖:

OpenCV3 4 3 SVM使用教程

參考資料 建議先閱讀此處 include include include include intmain cv mat labelsmat 4 1,cv 32sc1,labels cv 32sc1 32位有符號單通道矩陣 設定訓練資料的座標,注意要和前面的labels對應起來 float train...

OpenCV實現KNN演算法

原文 opencv實現knn演算法 這個演算法首先貯藏所有的訓練樣本,然後通過分析 包括選舉,計算加權和等方式 乙個新樣本周圍k個最近鄰以給出該樣本的相應值。這種方法有時候被稱作 基於樣本的學習 即為了 我們對於給定的輸入搜尋最近的已知其相應的特徵向量。class cvknearest public...

OpenCV 115 KNN演算法應用

opencv中機器學習模組的最近鄰演算法knn,對使用knn訓練好的檔案,可以通過演算法介面的load方法載入成為knn分類器,使用findnearest方法進行 opencv knn 方法引數解釋如下 retval,results,neighborresponses,dist cv.ml knea...