日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人工智能 > pytorch >内容正文

pytorch

Qt5.7+Opencv2.4.9人脸识别(四)模型训练

發布時間:2025/3/15 pytorch 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Qt5.7+Opencv2.4.9人脸识别(四)模型训练 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

【注意】本博文的檔次適合OpenCV初學者,和要做本科生畢業設計這類檔次。

源碼的下載地址和原理理論部分請走下面連接

http://blog.csdn.net/qq78442761/article/details/71157980


上一節是人臉處理,鏈接如下:

http://blog.csdn.net/qq78442761/article/details/71159013


這一節是模型訓練,這個模型訓練要做的功能就是調用Opencv生成一個XML文件,這個XML文件記錄了每組的人臉的特征(本程序是10張圖一個人,每一個人有唯一固定的編號)

功能如下,在點擊功能再點擊訓練模型后會在此程序根目錄下生成如下xml文件。



下面來看代碼,如何實現這一功能:

void AddPeople::TrainingModel() {//讀取你的CSV文件路徑.//string fn_csv = string(argv[1]);std::string fn_csv = "./Data/at.txt";// 2個容器來存放圖像數據和對應的標簽std::vector<cv::Mat> images;std::vector<int> labels;// 讀取數據. 如果文件不合法就會出錯// 輸入的文件名已經有了.try{read_csv(fn_csv, images, labels);}catch (cv::Exception& e){std::cerr << "Error opening file \"" << fn_csv << "\". Reason: " << e.msg << endl;// 文件有問題,我們啥也做不了了,退出了return;}// 如果沒有讀取到足夠圖片,也退出.if (images.size() <= 1) {std::string error_message = "This demo needs at least 2 images to work. Please add more images to your data set!";CV_Error(CV_StsError, error_message);}// 下面的幾行代碼僅僅是從你的數據集中移除最后一張圖片//[gm:自然這里需要根據自己的需要修改,他這里簡化了很多問題]cv::Mat testSample = images[images.size() - 1]; // int testLabel = labels[labels.size() - 1];images.pop_back();labels.pop_back();cv::Ptr<cv::FaceRecognizer> model = cv::createEigenFaceRecognizer();model->train(images, labels);model->save("MyFacePCAModel.xml");int predictedLabel = -1;double confidence = 0.0;model->predict(testSample, predictedLabel, confidence);qDebug()<<confidence; } 其實就是調用了createEigenFaceRecognizer(),就實現了在第一節中,所說的理論,然后在train就能訓練出xml文件。


下一節將說明人臉識別。

源碼和理論部分在本博文開頭有提供。

總結

以上是生活随笔為你收集整理的Qt5.7+Opencv2.4.9人脸识别(四)模型训练的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。