OpenCV中DPM(Deformable Part Model)目標檢測類cv::dpm::DPMDetector

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

算法描述

OpenCV 中用于基于可變形部件模型(DPM) 的目標檢測器,主要用于行人、人臉等目標的檢測。它是一種傳統的基于特征的目標檢測方法,不依賴深度學習,而是使用 HOG 特征 + 部件模型來進行檢測。

示例代碼

#include <iostream>
#include <opencv2/dpm.hpp>
#include <opencv2/opencv.hpp>using namespace cv;
using namespace cv::dpm;
using namespace std;int main()
{// 指定模型文件路徑(支持多個類別)vector< String > modelPaths = { "car.xml" };  // 可添加多個如 "car.xml"vector< String > classNames = { "car" };      // 類別名稱// 創建 DPM 檢測器Ptr< DPMDetector > detector = DPMDetector::create( modelPaths, classNames );if ( detector.empty() ){cerr << "Failed to create DPMDetector!" << endl;return -1;}// 讀取圖像Mat image = imread( "/media/dingxin/data/study/OpenCV/sources/images/cars.png" );if ( image.empty() ){cerr << "Failed to load image!" << endl;return -1;}imshow( "Original", image );// 執行檢測vector< DPMDetector::ObjectDetection > detections;detector->detect( image, detections );// 顯示檢測結果for ( const auto& det : detections ){if(det.score > 1.0)rectangle( image, det.rect, Scalar( 0, 255, 0 ), 2 );cout << "Detected object with score: " << det.score << endl;}imshow( "Detections", image );waitKey();return 0;
}

運行結果

在這里插入圖片描述

模型文件獲取

你需要下載 .xml 格式的 DPM 模型文件才能運行檢測。

官方支持的模型包括:

類別文件名
行人(Pedestrian)
轎車(Car)car.xml
自行車(Bicycle)bicycle.xml

你可以從 OpenCV 的額外測試數據倉庫獲取這些模型:

🔗 OpenCV Extra GitHub - dpm 測試數據

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

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

相關文章

macOS 26快捷指令更新,融入AI打造智能操作體驗

快捷指令作為Mac系統中提升用戶操作效率的得力助手&#xff0c;在macOS 26中迎來了一次具有突破性的重大更新。此次更新融入了先進的AI技術&#xff0c;推出“智能操作”&#xff08;Intelligent Actions&#xff09;功能&#xff0c;讓快捷指令從簡單的自動化工具升級為真正的…

InstructBLIP:邁向具備指令微調能力的通用視覺語言模型

溫馨提示&#xff1a; 本篇文章已同步至"AI專題精講" InstructBLIP&#xff1a;邁向具備指令微調能力的通用視覺語言模型 摘要 大規模的預訓練與instruction tuning在構建通用語言模型方面已取得顯著成效。然而&#xff0c;構建通用的視覺-語言模型仍然具有挑戰性&…

基于dropbear實現嵌入式系統ssh服務端與客戶端完整交互

以下基于 Dropbear 實現 SSH 服務端與客戶端交互的完整步驟&#xff0c;涵蓋服務端部署、客戶端連接、認證配置及消息傳輸&#xff0c;結合了多篇權威資料的核心實踐&#xff1a;環境準備與安裝 服務端安裝 ? Linux 系統&#xff08;以 Ubuntu/CentOS 為例&#xff09; Ubuntu…

深圳安銳科技發布國內首款4G 索力儀!讓斜拉橋索力自動化監測更精準高效

近日&#xff0c;深圳安銳科技正式發布國內首款無線自供電、一體化的斜拉索實時監測設備 “4G索力監測儀”&#xff0c;成功攻克了傳統橋梁索體監測領域長期存在的實時性差、布設困難和成本高昂的行業難題&#xff0c;為斜拉橋、系桿拱橋提供全無線、自動化、云端實時同步的索力…

Pipeline 引用外部數據源最佳實踐

場景解析在企業網絡安全日志處理場景中&#xff0c;防火墻、入侵檢測系統&#xff08;IDS&#xff09;等設備會持續產生大量日志&#xff0c;記錄網絡流量、訪問請求、異常事件等基礎信息&#xff0c;但這些原始日志僅能呈現表面現象&#xff0c;難以全面剖析安全威脅&#xff…

UI + MCP Client + MCP Server(并且鏈接多個Server)

項目結構前端項目--------->MCP Client----------->MCP Serverserver就不過多贅述了&#xff0c;他只是相當于添加了多個的tools 鏈接前后端 http.createServer創建一個服務器// ---------------------------------------------------------------- // server.js import …

香港站群服務器與普通香港服務器對比

在選擇香港服務器時&#xff0c;用戶常常會遇到"站群服務器"和"普通服務器"兩種選項&#xff0c;雖然它們都基于香港數據中心的基礎設施&#xff0c;但在 IP 地址配置、功能定位和管理復雜度、成本上存在顯著差異&#xff0c;理解這些差異有助于用戶根據實…

4.B樹和B+樹的區別?為什么MySQL選擇B+樹作為索引?

區別&#xff1a;1.數據存儲位置B樹每個節點都存儲了索引和數據B樹只有葉子節點存儲數據&#xff0c;非葉子節點僅存儲索引2.葉子節點的鏈接B樹的所有葉子節點通過指針連接成一個雙向鏈表&#xff0c;可以高效地進行范圍查詢或者順序遍歷B樹則沒有這樣的連接關系&#xff0c;查…

轉換狂魔,Modbus TCP轉Profinet網關打通視覺傳感線連接之路

在汽車零部件沖壓生產線的世界中&#xff0c;液壓機的壓力穩定性是確保產品質量的秘密武器。然而&#xff0c;舊時代的人工巡檢和傳統監測方式卻好似拖累現代化進程的沉重枷鎖&#xff1a;效率低、成本高&#xff0c;還總是趕不上實時反饋的快車。這時&#xff0c;工廠決心大刀…

C++進階—二叉樹進階

第一章&#xff1a;內容安排說明 map和set特性需要先鋪墊二叉搜索樹&#xff0c;而二叉搜索樹也是一種樹形結構二叉搜索樹的特性了解&#xff0c;有助于更好的理解map和set的特性二叉樹中部分面試題稍微有點難度&#xff0c;在前面講解大家不容易接受&#xff0c;且時間長容易…

驅動下一代E/E架構的神經脈絡進化—10BASE-T1S

汽車電子電氣架構的演進正經歷一場深刻的變革&#xff0c;“中央計算單元區域控制器”的架構模式已成為當前主流車型平臺發展的明確方向。這種從傳統的“功能域”&#xff08;Domain&#xff09;架構向“區域”&#xff08;Zonal&#xff09;架構的轉型升級&#xff0c;旨在實現…

某學校系統中挖礦病毒應急排查

本篇文章主要記錄某學校長期未運營維護的程序&#xff0c;被黑客發現了漏洞&#xff0c;但好在學校有全流量設備&#xff0c;抓取到了過程中的流量包 需要你進行上機以及結合流量分析&#xff0c;排查攻擊者利用的漏洞以及上傳利用成功的木馬 文章目錄靶機介紹1.使用工具分析共…

vue 、react前端頁面支持縮放,echarts、地圖點擊左邊不準的原因和解決辦法

原因 由于以上都是通過canvas畫布生成的&#xff0c;一旦初始化&#xff0c;就會按照比例進行縮放&#xff0c;但與此同時&#xff0c;比例尺并沒有變化&#xff0c;導致坐標偏移 解決辦法 設置一個zoomVal產量&#xff0c;在頁面加載時計算縮放比例&#xff0c;然后在canvas容…

(LeetCode 每日一題) 1353. 最多可以參加的會議數目 (優先隊列、小頂堆)

題目&#xff1a;1353. 最多可以參加的會議數目 思路&#xff1a;優先隊列實現小頂堆&#xff0c;0(mx*logn) 在第i天&#xff0c;優先選endDay最小的那一個活動進行。那么遍歷每一天&#xff0c;用小頂堆來維護每個活動的最后一天即可&#xff0c;細節看注釋。 C版本&#xf…

Java結構型模式---代理模式

代理模式基礎概念代理模式是一種結構型設計模式&#xff0c;其核心思想是通過創建一個代理對象來控制對另一個真實對象的訪問。代理對象在客戶端和真實對象之間起到中介作用&#xff0c;允許在不改變真實對象的前提下&#xff0c;對其進行增強或控制。代理模式的核心組件主題接…

MySQL流程控制函數全解析

MySQL 中的流程控制函數&#xff08;也稱為條件函數&#xff09;允許你在 SQL 語句中進行邏輯判斷&#xff0c;根據不同的條件返回不同的值或執行不同的操作。它們極大地增強了 SQL 的靈活性和表達能力&#xff0c;尤其在進行數據轉換、結果格式化、條件聚合和復雜業務邏輯實現…

【7】PostgreSQL 事務

【7】PostgreSQL 事務前言使用事務事務內錯誤處理事務保存點DDL 事務前言 在 PostgreSQL 中&#xff0c;每一個操作都是一個事務。即使一個簡單的查詢(select)&#xff0c;這也是一個事務。 例如&#xff1a; postgres# select now();now --------------------…

Linux:多線程---深入互斥淺談同步

文章目錄1. 互斥1.1 為什么需要互斥1.2 互斥鎖1.3 初談互斥與同步1.4 鎖的原理1.5 可重入VS線程安全1.6 死鎖1.7 避免死鎖的算法&#xff08;擴展&#xff09;序&#xff1a;在上一章中我們知道了線程控制的三個角度&#xff1a;線程創建、線程等待和線程終止&#xff0c;分別從…

適用于 vue2、vue3 的自定義指定:v-int(正整數)

在項目中&#xff0c;我們經常會遇到輸入框只允許輸入數字的情況&#xff0c;下面是一段自定義指定 代碼&#xff0c;復制到項目中&#xff0c;注冊指定即可使用用法如下&#xff1a; 創建一個IntInput.js 文件&#xff0c;將下面代碼復制到文件中保存在項目中的 main.js 文件中…

學習基于springboot秒殺系統-環境配置(接口封裝,mybatis,mysql,redis(Linux))

文章目錄前言創建springboot項目封裝controller層輸入輸出rest api 的json輸出返回頁面集成mybatis集成redis下載虛擬機和centos下載redis.tar.gz上傳redis.tar.gz 到虛擬機前言 今天開始記錄學習秒殺系統-課程是基于慕課上的搜索秒殺系統的課程&#xff0c;老師講解非常好。這…