利用opencv3 4 1進行正態貝葉斯分類

2021-09-05 15:26:07 字數 1049 閱讀 2016

當樣本的特徵向量滿足多維正態分佈時,對於分類任務,可以使用正態貝葉斯分類方法,進行訓練。使用opencv3.4.1中的ml模組,具體實現demo如下:

#include"pch.h"

#include#includeusing namespace std;

using namespace cv;

using namespace ml;

int main()

for (int i = 10; i < 20; i++)

for (int i = 20; i < 30; i++)

mat trainingdatamat(30, 2, cv_32fc1, traindataarray);

// 建立貝葉斯分類器

ptrmodel = normalbayesclassifier::create();

// 設定訓練資料

ptrtdata = traindata::create(trainingdatamat, row_sample, labelsmat);

//訓練分類器

model->train(tdata);

//對影象內所有512*512個背景點進行**,不同的**結果,影象背景區域顯示不同的顏色

vec3b red(0,0,255), green(0, 255, 0), blue(255, 0, 0);

for (int i = 0; i < image.rows; ++i)

for (int j = 0; j < image.cols; ++j)

//把訓練樣本點,顯示在圖相框內

for (int i = 0; i < trainingdatamat.rows; i++)

//顯示分類結果影象

imshow("貝葉斯分類器示例", image);

waitkey(0);

return 0;

}

執行如上程式,結果如下:

編譯OpenCV3 4 1時出現的一些問題

使用cmake編譯 編譯資料夾在opencv安裝資料夾下,名字是release d opencv sources 3rdparty protobuf src google protobuf stubs io win32.cc 94 3 warning identifier nullptr is a ...

利用opencv進行換臉

關於換臉的什麼背景什麼的,我也就不提了,直接說一下換臉所需要的步驟吧,在這裡我用的是opencv和之前我用的clm框架,clm還是進行人臉關鍵點檢測,利用opencv進行臉部替換和顏色風格統一。接下來是利用opencv換臉的一般步驟 臉部關鍵點檢測 因為我們要變換的兩張臉的形狀一般是不同的,所以我們...

利用OpenCV進行顏色檢測

rgb通道與hsv通道在顏色檢測中的區別 hsv是相對rgb的另一種顏色表示方式,它相對rgb而言,是一種比較直觀的顏色模型。其中顏色的引數分別是 色調 h 飽和度 s 明度 v 色調h 用角度度量,取值範圍為0 360 從紅色開始按逆時針方向計算,紅色為0 綠色為120 藍色為240 它們的補色是...