OpenCV 人臉分析------面部關鍵點檢測類cv::face::FacemarkLBF

  • 操作系統:ubuntu22.04
  • OpenCV版本:OpenCV4.9
  • IDE:Visual Studio Code
  • 編程語言:C++11

算法描述

使用 Local Binary Features (LBF) 算法進行面部關鍵點檢測(facial landmark detection)。該算法通過級聯回歸樹預測人臉的 68 個關鍵點,具有較高的精度和速度。

公共成員函數

static Ptr<FacemarkLBF> create(const Params &parameters = Params())

作用:創建一個 FacemarkLBF 實例。
參數:
parameters: 可選的 LBF 參數配置。
返回值:返回 FacemarkLBF 的智能指針對象。

 virtual bool loadModel(const String& filename) override

作用:加載預訓練的 LBF 模型文件(.yaml 或 .yml 格式)。
參數:
filename: 模型文件路徑。
返回值:成功返回 true,失敗返回 false。
注意:模型文件通常是 lbfmodel.yaml。

 virtual bool fit(InputArray image, const std::vector<cv::Rect>& faces, CV_OUT std::vector<std::vector<cv::Point2f>>& landmarks) override

作用:對圖像中的一張或多張人臉進行面部關鍵點擬合。
參數:

  • image: 輸入圖像(建議為灰度圖)。
  • faces: 包含每張人臉的邊界框(std::vectorcv::Rect)。
  • landmarks: 輸出結果,是一個二維向量,每個子向量對應一張人臉的關鍵點集合。

返回值:成功返回 true,否則 false。

`void setParameters(const Params& parameters)`

作用:設置 LBF 算法的參數。
參數:

  • parameters: LBF 參數結構體。
const Params& getParameters() const

作用:獲取當前設置的 LBF 參數。

參數結構體 cv::face::FacemarkLBF::Params

這是 FacemarkLBF 的參數結構體,可以自定義以下參數:

成員變量類型默認值含義
scale_factorfloat1.0f圖像縮放因子,影響檢測速度與精度
n_landmarksint68關鍵點數量(通常為 68)
n_treesint500使用的回歸樹數量
tree_depthint5每棵樹的最大深度
valid_radiusfloat1.0f特征采樣半徑范圍
oversampling_ceilint30過采樣上限
use_eye_centersboolfalse是否使用眼睛中心作為初始點

示例代碼


#include <opencv2/face.hpp>
#include <opencv2/opencv.hpp>using namespace cv;
using namespace cv::face;
using namespace std;int main()
{// 加載 Haar 分類器CascadeClassifier faceCascade( "haarcascade_frontalface_default.xml" );if ( faceCascade.empty() ){cerr << "無法加載 Haar 分類器!" << endl;return -1;}// 創建 FacemarkLBF 實例Ptr< FacemarkLBF > facemark = FacemarkLBF::create();facemark->loadModel( "lbfmodel.yaml" );// 加載圖像Mat img = imread( "/media/dingxin/data/study/OpenCV/sources/images/Lenna.png" );if ( img.empty() ){cerr << "圖像加載失敗!" << endl;return -1;}Mat gray;cvtColor( img, gray, COLOR_BGR2GRAY );// 檢測人臉vector< Rect > faces;faceCascade.detectMultiScale( gray, faces, 1.1, 3, 0, Size( 100, 100 ) );if ( faces.empty() ){cout << "未檢測到人臉。" << endl;return -1;}// ? 改為二維向量存儲關鍵點vector< vector< Point2f > > landmarks;// 擬合關鍵點if ( facemark->fit( img, faces, landmarks ) ){// 遍歷每個人臉的關鍵點集合并繪制for ( const auto& face_landmarks : landmarks ){for ( const auto& point : face_landmarks ){circle( img, point, 2, Scalar( 0, 255, 0 ), FILLED );}}imshow( "Facial Landmarks", img );waitKey( 0 );}else{cout << "未能擬合面部關鍵點。" << endl;}return 0;
}

運行結果

在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/90215.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/90215.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/90215.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Netstat高級分析工具:Windows與Linux雙系統兼容的精準篩查利器

Netstat高級分析工具&#xff1a;Windows與Linux雙系統兼容的精準篩查利器在網絡安全運維中&#xff0c;快速識別可疑連接是防御入侵的關鍵一步。本文將介紹一款我本人開發的原創高效的雙系統兼容Netstat信息分析工具&#xff0c;大幅提升惡意連接篩查效率。一、Netstat分析在安…

Bright Data MCP+Trae :快速構建電商導購助手垂直智能體

聲明&#xff1a;本測試報告系作者基于個人興趣及使用場景開展的非專業測評&#xff0c;測試過程中所涉及的方法、數據及結論均為個人觀點&#xff0c;不代表任何官方立場或行業標準。 文章目錄 一、引言1.1 當前AI智能體的趨勢1.2 構建智能體面臨的最大挑戰&#xff1a;數據來…

plantuml用法總結

時序圖 參考 https://blog.csdn.net/vitaviva/article/details/120735745用PlantUML簡化復雜時序圖的秘訣 startuml skin rose actor User as user participant "Component A" as A participant "Component B" as Buser -> A: Request data activate …

基于自研心電芯片國產化手持單導/6導/12導心電解決方案

蘇州唯理作為國內心電芯片國產化廠商&#xff0c;面向家用場景&#xff0c;推出了國產化的手持單導/6導/12導心電儀技術解決方案&#xff0c;可以讓家用心電圖儀成本可控&#xff0c;信號鏈路質量更佳穩定。該方案已在多家客戶中實現批量出貨。唯理科技同樣提供了醫療級的心電圖…

Sass詳解:功能特性、常用方法與最佳實踐

Sass詳解&#xff1a;功能特性、常用方法與最佳實踐 Sass&#xff08;Syntactically Awesome Style Sheets&#xff09;作為CSS預處理器領域的先驅&#xff0c;自2006年由Hampton Catlin創建以來&#xff0c;已成為現代前端開發中不可或缺的工具。它通過引入變量、嵌套、混合宏…

vulnhub靶機滲透:PWNLAB: INIT

一、信息收集1、主機發現2、端口掃描PORT STATE SERVICE VERSION 80/tcp open http Apache httpd 2.4.10 ((Debian))111/tcp open rpcbind 2-4 (RPC #100000)3306/tcp open mysql MySQL 5.5.47-0deb8u151649/tcp open status 1 (RPC #100024)3、目錄掃描&…

LiveKit 本地部署全流程指南(含 HTTPS/WSS)

1. 環境準備 操作系統&#xff1a;Windows 10/11 或 Linux/Mac需有本地公網/內網 IP&#xff08;如 192.168.x.x&#xff09;推薦瀏覽器&#xff1a;Chrome/Edge/Firefox/Safari端口未被占用&#xff0c;防火墻允許相關端口 2. 目錄結構建議 livekit/livekit-server.execonf…

NumPy-統計函數詳解

NumPy-統計函數詳解一、基礎統計函數&#xff1a;均值、方差、標準差1. 全局統計&#xff1a;忽略維度的整體計算2. 按軸統計&#xff1a;指定維度方向的計算二、位置統計&#xff1a;中位數、分位數、百分位數1. 中位數計算2. 分位數與百分位數三、離散程度&#xff1a;極差、…

音頻被動降噪技術

音頻被動降噪技術 音頻被動降噪技術是一種通過物理結構和材料設計來減少或隔離外部噪聲的降噪方式,其核心原理是通過物理屏障或吸聲材料來阻斷或吸收聲波,從而降低環境噪聲對聽覺體驗的影響。以下將從技術原理、應用場景、優缺點及與其他降噪技術的對比等方面進行詳細分析。…

中國蟻劍使用方法

找到mysql配置文件 secure-file-priv工作目錄 D:\tool\huli\gui_webshell\AntSword\AntSword\antSword-master重點是tool目錄后面 前面大家可能都不一樣 添加數據一句話木馬 3C3F706870206576616C28245F504F53545B22636D64225D293B3F3E 翻譯過來 <?php eval($_POST["c…

8.1 prefix Tunning與Prompt Tunning模型微調方法

1 prefix Tunning 鏈接&#xff1a;https://blog.csdn.net/m0_66890670/article/details/142942034 這里有基礎的細節介紹。我下面直接總結。 連接2 &#xff1a;https://zhuanlan.zhihu.com/p/1899112824342577371&#xff0c;簡單明了 prefix Tunning改變了什么呢&#xff…

FlashAttention 深入淺出

一 標準Attention的計算 1.1 標準Attention機制詳解 標準Attention&#xff08;注意力&#xff09;機制是深度學習&#xff0c;尤其是在自然語言處理領域中一項革命性的技術&#xff0c;它允許模型在處理序列數據時&#xff0c;動態地將焦點放在輸入序列的不同部分&#xff0c;…

C/C++ inline-hook(x86)高級函數內聯鉤子

&#x1f9f5; C/C inline-hook&#xff08;x86&#xff09;高級函數內聯鉤子 引用&#xff1a; fetch-x86-64-asm-il-sizeC i386/AMD64平臺匯編指令對齊長度獲取實現 &#x1f9e0; 一、Inline Hook技術體系架構 Inline Hook是一種二進制指令劫持技術&#xff0c;通過修改目…

云服務器的安全防護指南:從基礎安全設置到高級威脅防御

隨著云計算的廣泛應用&#xff0c;云服務器已成為企業和個人存儲數據、運行應用的重要基礎設施。然而&#xff0c;隨之而來的安全威脅也日益增多——從常見的網絡攻擊&#xff08;如 DDoS、SQL 注入&#xff09;到復雜的惡意軟件和零日漏洞&#xff0c;無一不考驗著系統的安全性…

狀態機管家:MeScroll 的交互秩序維護

一、核心架構設計與性能基石 MeScroll作為高性能滾動解決方案&#xff0c;其架構設計遵循"分層解耦、精準控制、多端適配"的原則&#xff0c;通過四大核心模塊實現流暢的滾動體驗&#xff1a; 事件控制層&#xff1a;精準捕獲觸摸行為&#xff0c;區分滾動方向與距…

數據出海的隱形冰山:企業如何避開跨境傳輸的“合規漩渦”?

首席數據官高鵬律師數字經濟團隊創作&#xff0c;AI輔助凌晨三點的寫字樓&#xff0c;某跨境電商的技術總監盯著屏幕上的報錯提示&#xff0c;指尖懸在鍵盤上遲遲沒落下。剛從新加坡服務器調取的用戶行為數據&#xff0c;在傳輸到國內分析系統時被攔截了——系統提示“不符合跨…

【Rust base64庫】Rust bas64編碼解碼詳細解析與應用實戰

?? 歡迎大家來到景天科技苑?? ???? 養成好習慣,先贊后看哦~???? ?? 作者簡介:景天科技苑 ??《頭銜》:大廠架構師,華為云開發者社區專家博主,阿里云開發者社區專家博主,CSDN全棧領域優質創作者,掘金優秀博主,51CTO博客專家等。 ??《博客》:Rust開發…

如何利用AI大模型對已有創意進行評估,打造殺手級的廣告創意

摘要 廣告創意是影響廣告效果的最重要的因素之一&#xff0c;但是如何評估和優化廣告創意&#xff0c;一直是一個難題。傳統的方法&#xff0c;如人工評審、A/B測試、點擊率等&#xff0c;都有各自的局限性和缺陷。本文將介紹一種新的方法&#xff0c;即利用人工智能大模型&am…

OSCP - HTB - Cicada

主要知識點 SMB 用戶爆破Backup Operator 組提權 具體步驟 nmap掃描一下先&#xff0c;就像典型的windows 靶機一樣&#xff0c;開放了N多個端口 Nmap scan report for 10.10.11.35 Host is up (0.19s latency). Not shown: 65522 filtered tcp ports (no-response) PORT …

10046 解決 Oracle error

How to Offline a PDB Datafile in NOARCHIVELOG mode CDB which is not Open in Read Write (Doc ID 2240730.1)1. pdb 下的datafile 只能在pdb下操作&#xff0c;不能在cdb下操作For the purposes of this document, the following fictitious environment is used as an exa…