當樣本的特徵向量滿足多維正態分佈時,對於分類任務,可以使用正態貝葉斯分類方法,進行訓練。使用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 它們的補色是...