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

歡迎訪問 生活随笔!

生活随笔

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

pytorch

OpenCV3.3人脸识别模块的API的变化

發(fā)布時間:2024/3/26 pytorch 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 OpenCV3.3人脸识别模块的API的变化 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

OpenCV3.3人臉識別模塊的API的變化

1. 前言

開始用最新版的OpenCV進行人臉識別的小伙伴也許已經(jīng)發(fā)現(xiàn)了,人臉識別的最新API變化了。這也正是人臉識別等contrib模塊沒有放到主倉庫的原因:不穩(wěn)定,仍在開發(fā)中。當然這次的變化也預示著一些好的事情,畢竟自從OpenCV2.4時期人臉識別模塊加入到OpenCV之后就幾乎沒怎么變過,這次變化說明又有人開始為OpenCV的人臉識別模塊貢獻代碼了。而且還不僅于此,感興趣的小伙伴可以去github看看OpenCV最新的人臉識別模塊的代碼,已經(jīng)加入了人臉關(guān)鍵點檢測、人臉對齊的內(nèi)容,簡直是非常讓人期待!

其他的都是以后的事情,我們今天先看看人臉識別模塊的變化,我們從facerec.hpp來看。

2. opencv3.3之前的facerec.hpp

(提示:代碼可以左右滑動查看)

#ifndef __OPENCV_FACEREC_HPP__ #define __OPENCV_FACEREC_HPP__#include "opencv2/face.hpp" #include "opencv2/core.hpp"namespace cv { namespace face {// base for two classes class CV_EXPORTS_W BasicFaceRecognizer : public FaceRecognizer { public:/** @see setNumComponents */CV_WRAP virtual int getNumComponents() const = 0;// ----------- 此處省略代碼若干行 -----------// ----------- 此處省略代碼若干行 ------------// ----------- 此處省略代碼若干行 -----------CV_WRAP virtual cv::Mat getEigenValues() const = 0;CV_WRAP virtual cv::Mat getEigenVectors() const = 0;CV_WRAP virtual cv::Mat getMean() const = 0; };CV_EXPORTS_W Ptr<BasicFaceRecognizer> createEigenFaceRecognizer(int num_components = 0, double threshold = DBL_MAX);CV_EXPORTS_W Ptr<BasicFaceRecognizer> createFisherFaceRecognizer(int num_components = 0, double threshold = DBL_MAX);class CV_EXPORTS_W LBPHFaceRecognizer : public FaceRecognizer { public:/** @see setGridX */CV_WRAP virtual int getGridX() const = 0;/** @copybrief getGridX @see getGridX */CV_WRAP virtual void setGridX(int val) = 0;// ----------- 此處省略代碼若干行 -----------// ----------- 此處省略代碼若干行 ------------// ----------- 此處省略代碼若干行 -----------CV_WRAP virtual cv::Mat getLabels() const = 0; };CV_EXPORTS_W Ptr<LBPHFaceRecognizer> createLBPHFaceRecognizer(int radius=1, int neighbors=8, int grid_x=8, int grid_y=8, double threshold = DBL_MAX);}} //namespace cv::face#endif //__OPENCV_FACEREC_HPP__

這個文件里要注意的有:

  • 第九行的那句注釋:// base for two classes。說明BasicFaceRecognizer是兩個類的基類:EigenFaceRecognizer和FisherFaceRecognizer。跟LBPHFaceRecognizer是沒啥關(guān)系的。即使到了新的API中仍然是這樣。

  • 第23、25、40行。創(chuàng)建三種人臉識別器的方法。大致如下,注意第三個和前兩個的區(qū)別。

    (提示:代碼可以左右滑動查看)

    Ptr<BasicFaceRecognizer> model = createEigenFaceRecognizer(); Ptr<BasicFaceRecognizer> model = createFisherFaceRecognizer(); Ptr<LBPHFaceRecognizer> model = createLBPHFaceRecognizer();

3. opencv3.3的facerec.hpp

(提示:代碼可以左右滑動查看)

#ifndef __OPENCV_FACEREC_HPP__ #define __OPENCV_FACEREC_HPP__#include "opencv2/face.hpp" #include "opencv2/core.hpp"namespace cv { namespace face {// base for two classes class CV_EXPORTS_W BasicFaceRecognizer : public FaceRecognizer { public:/** @see setNumComponents */CV_WRAP int getNumComponents() const;// ----------- 此處省略代碼若干行 -----------// ----------- 此處省略代碼若干行 ------------// ----------- 此處省略代碼若干行 -----------CV_WRAP cv::Mat getEigenValues() const;CV_WRAP cv::Mat getEigenVectors() const;CV_WRAP cv::Mat getMean() const;virtual void read(const FileNode& fn);virtual void write(FileStorage& fs) const;virtual bool empty() const;using FaceRecognizer::read;using FaceRecognizer::write;protected:int _num_components;double _threshold;std::vector<Mat> _projections;Mat _labels;Mat _eigenvectors;Mat _eigenvalues;Mat _mean; };class CV_EXPORTS_W EigenFaceRecognizer : public BasicFaceRecognizer { public:CV_WRAP static Ptr<EigenFaceRecognizer> create(int num_components = 0, double threshold = DBL_MAX); };class CV_EXPORTS_W FisherFaceRecognizer : public BasicFaceRecognizer { public:CV_WRAP static Ptr<FisherFaceRecognizer> create(int num_components = 0, double threshold = DBL_MAX); };class CV_EXPORTS_W LBPHFaceRecognizer : public FaceRecognizer { public:/** @see setGridX */CV_WRAP virtual int getGridX() const = 0;// ----------- 此處省略代碼若干行 -----------// ----------- 此處省略代碼若干行 ------------// ----------- 此處省略代碼若干行 -----------CV_WRAP virtual cv::Mat getLabels() const = 0;CV_WRAP static Ptr<LBPHFaceRecognizer> create(int radius=1, int neighbors=8, int grid_x=8, int grid_y=8, double threshold = DBL_MAX); };}} //namespace cv::face#endif //__OPENCV_FACEREC_HPP__

我們對比同一個文件的不同時期的內(nèi)容就可以看出一些變化了。首先需要注意的還是第九行的注釋。前面說的同樣適用。而且第二個文件的代碼看起來更加清晰:EigenFaceRecognizer和FisherFaceRecognizer都是繼承自BasicFaceRecognizer。然而LBPHFaceRecognizer跟BasicFaceRecognizer一樣,都是繼承自FaceRecognizer。

第二個是創(chuàng)建各人臉識別器的代碼都同一變成了類的成員函數(shù):create()。所以我們創(chuàng)建人臉識別檢測器的時候就要用下面這樣的代碼了。

(提示:代碼可以左右滑動查看)

Ptr<EigenFaceRecognizer> model = EigenFaceRecognizer::create(); Ptr<FisherFaceRecognizer> model = FisherFaceRecognizer::create(); Ptr<LBPHFaceRecognizer> model = LBPHFaceRecognizer::create();

4. 以后的人臉識別模塊

目前人臉識別模塊頭文件夾下只有以下三個文件:

bif.hpp facerec.hpp predict_collector.hpp

而現(xiàn)在最新的contrib倉庫里,人臉識別的頭文件夾下,已經(jīng)是下面這樣:

一起期待吧。


知識星球

除了平時發(fā)文章之外,也會發(fā)一些平時學習過程中其他的參考資料和代碼,歡迎加入。

總結(jié)

以上是生活随笔為你收集整理的OpenCV3.3人脸识别模块的API的变化的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 欧美在线观看视频一区 | 玖玖爱这里只有精品 | 日本wwww视频 | 日韩一区在线播放 | 人体私拍套图hdxxxx | 国产精品久久久久久久久久久免费看 | 国产二区视频 | 国产精品天美传媒 | 95看片淫黄大片一级 | 亚洲免费在线视频观看 | 欧美网站在线 | 3d动漫啪啪精品一区二区中文字幕 | 欧亚在线视频 | 久久精品6 | 亚洲国产日韩一区 | 69久久精品无码一区二区 | 杨幂一区二区国产精品 | 中文字幕亚洲精品在线观看 | 三级黄色图片 | 毛片小视频 | 亚洲欧美综合一区二区 | 性色欲网站人妻丰满中文久久不卡 | 一本久久道 | 超碰在线香蕉 | 69精品丰满人妻无码视频a片 | 国产一区二区三区视频 | 国产精品激情偷乱一区二区∴ | 色婷婷yy | 桃色成人| 日韩三级网 | 免费污视频在线观看 | 成人黄色大片在线观看 | 久久国产柳州莫菁门 | 国产精品第12页 | 韩国毛片一区二区 | 久久久久久久免费 | 99久久精品国产亚洲 | 真实乱视频国产免费观看 | 日韩偷拍一区 | 亚洲一区免费电影 | 99国产精品一区二区三区 | 一区二区视频免费在线观看 | 青草久久久久 | 色婷婷精品 | 国产自偷自拍视频 | 日韩一级黄色 | 精品久久久国产 | 伊人久久大香线蕉成人综合网 | 九九在线观看高清免费 | 99re热在线视频 | 精品国产乱码久久久久久蜜臀 | 精品一区二区三区在线观看视频 | 国产麻豆天美果冻无码视频 | 久久精品视频一区二区三区 | 136fldh导航福利微拍 | 清冷男神被c的合不拢腿男男 | 青青草成人影视 | 爆乳熟妇一区二区三区霸乳 | 亚洲精品v天堂中文字幕 | 无码人妻精品一区二区蜜桃色欲 | 琪琪色影音先锋 | 欧美在线视频你懂的 | 狠狠干少妇 | 久久二| 久久精品无码一区二区三区 | 一级激情视频 | 日韩日韩 | 麻豆传媒视频入口 | 国产精品区二区三区日本 | 污污视频网站免费观看 | 免费看黄色大片 | 欧美成人一区在线 | 岛国av在线免费 | 污视频在线观看网址 | 播放灌醉水嫩大学生国内精品 | 毛片大全| 一区二区三区麻豆 | 懂色av一区二区 | 蜜桃色999| 91成人短视频在线观看 | www.色综合| 久久精彩 | 毛片导航| av一本在线 | 五月激情婷婷在线 | 亚洲欧美成人 | 国语对白做受xxxxx在线中国 | 国产欧美日韩视频在线观看 | 亚洲高清影院 | 97综合| 国产自在线 | 性做久久久久久久免费看 | 无码人妻精品一区二区三区不卡 | 日本在线精品 | 97成人精品 | 91九色蝌蚪91por成人 | 国产精品免费视频一区 | 天天拍天天射 | 日韩 欧美 亚洲 |