中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Opencv LBPH人臉識別算法詳解

發布時間:2020-10-02 20:17:38 來源:腳本之家 閱讀:249 作者:東城青年 欄目:編程語言

簡要: 

LBPH(Local Binary PatternsHistograms)局部二進制編碼直方圖,建立在LBPH基礎之上的人臉識別法基本思想如下:首先以每個像素為中心,判斷與周圍像素灰度值大小關系,對其進行二進制編碼,從而獲得整幅圖像的LBP編碼圖像;再將LBP圖像分為個區域,獲取每個區域的LBP編碼直方圖,繼而得到整幅圖像的LBP編碼直方圖,通過比較不同人臉圖像LBP編碼直方圖達到人臉識別的目的,其優點是不會受到光照、縮放、旋轉和平移的影響。

#include<opencv2\opencv.hpp>
#include<opencv2\face.hpp>
using namespace cv;
using namespace face;
using namespace std;
char win_title[40] = {};
 
int main(int arc, char** argv) { 
 //namedWindow("input",CV_WINDOW_AUTOSIZE);
 
 //讀入模型需要輸入的數據,用來訓練的圖像vector<Mat>images和標簽vector<int>labels
 string filename = string("path.txt");
 ifstream file(filename);
 if (!file) { printf("could not load file"); }
 vector<Mat>images;
 vector<int>labels;
 char separator = ';';
 string line,path, classlabel;
 while (getline(file,line)) {
 stringstream lines(line);
 getline(lines, path, separator);
 getline(lines, classlabel);
 //printf("%d\n", atoi(classlabel.c_str()));
 images.push_back(imread(path, 0));
 labels.push_back(atoi(classlabel.c_str()));//atoi(ASCLL to int)將字符串轉換為整數型
 }
 int height = images[0].rows;
 int width = images[0].cols;
 printf("height:%d,width:%d\n", height, width);
 //將最后一個樣本作為測試樣本
 Mat testSample = images[images.size() - 1];
 int testLabel = labels[labels.size() - 1];
 //刪除列表末尾的元素
 images.pop_back();
 labels.pop_back();
 
 //加載,訓練,預測
 Ptr<LBPHFaceRecognizer> model = LBPHFaceRecognizer::create();
 model->train(images, labels);
 int predictedLabel = model->predict(testSample);
 printf("actual label:%d,predict label :%d\n", testLabel, predictedLabel);
 
 int radius = model->getRadius();
 int neibs = model->getNeighbors();
 int grad_x = model->getGridX();
 int grad_y = model->getGridY();
 double t = model->getThreshold();
 printf("radius:%d\n", radius);
 printf("neibs:%d\n", neibs);
 printf("grad_x:%d\n", grad_x);
 printf("grad_y:%d\n", grad_y);
 printf("threshold:%.2f\n", t);
 
 waitKey(0);
 return 0;
}

Opencv LBPH人臉識別算法詳解

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

盖州市| 广州市| 长宁区| 吉林省| 临颍县| 武定县| 吴旗县| 阿图什市| 芷江| 榆林市| 安顺市| 凤冈县| 韶山市| 民县| 宝应县| 莆田市| 北辰区| 日喀则市| 册亨县| 塔河县| 洛浦县| 瑞金市| 南皮县| 彭山县| 灵寿县| 那坡县| 健康| 绥宁县| 奎屯市| 集安市| 团风县| 江孜县| 托里县| 阳曲县| 新巴尔虎左旗| 新田县| 布尔津县| 彰武县| 霍林郭勒市| 北海市| 五指山市|