幀差法識別

定義:

視頻通過閃過x幀畫面來實現,幀差法就是利用兩幀之間的差異找出。也就是移動目標識別

幀差法識別步驟:

1、灰度處理:將多通道變成雙通道壓縮圖像數據。

    cvtColor(before_frame,before_gray,CV_RGB2GRAY);cvtColor(after_frame,after_gray,CV_RGB2GRAY);

2、偵差計算

absdiff(before_gray,after_gray,diff_frame);

3、二值化處理:將圖片變成黑色和白色兩種

    /** 25:灰度值在25以上為1,在25以下為0*/threshold(diff_frame,diff_frame,25,255,CV_THRESH_BINARY);

4、降噪:去除噪點

????????開運算:先腐蝕再膨脹,用來消除小物體(圖像周邊白點)。

? ? ? ? 關鍵代碼

    // 腐蝕Mat ele1=getStructuringElement(MORPH_RECT,Size(3,3));erode(diff_frame,diff_frame,ele1);// 膨脹Mat ele2=getStructuringElement(MORPH_RECT,Size(20,20));dilate(diff_frame,diff_frame,ele2);

????????閉運算:先膨脹再腐蝕,用于排除小型黑洞(圖像內部黑點)。

5、多邊擬合:將相鄰的點連成一塊區域(繪制矩形的坐標)

6、獲取坐標點,繪制矩形

    // 5、多邊擬合:將相鄰的點連成一塊區域(繪制矩形的坐標)// 原始的輪廓點集合vector<vector<Point>> contours;// 它能在二值圖像diff_frame中檢測出物體的輪廓findContours(diff_frame,contours,CV_RETR_EXTERNAL,CHAIN_APPROX_SIMPLE,Point(0,0));// 創建一個與 contours 大小相同的向量,用于存儲每個輪廓的簡化多邊形表示vector<vector<Point>> contours_poly(contours.size());// 創建一個與 contours 大小相同的向量,用于存儲每個簡化多邊形的外接矩形vector<Rect> boundRect(contours.size());// 6、獲取坐標點,繪制矩形int x,y,w,h;int num=contours.size();for(int i=0;i<num;i++){// 將復雜的輪廓曲線簡化為近似的多邊形approxPolyDP(Mat(contours[i]),contours_poly[i],3,true);// 計算外接矩形boundRect[i]=boundingRect(Mat(contours_poly[i]));x=boundRect[i].x;y=boundRect[i].y;w=boundRect[i].width;h=boundRect[i].height;rectangle(res_frame,Point(x,y),Point(x+w,y+h),Scalar(0,255,0));}

優點:

? ? ? ? 開銷小,占用內存和CPU算力小,對硬件配置要求不高。

缺點:

????????檢測時對畫面要求高,且監測方要固定。

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

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

相關文章

基于OAuth2+SpringSecurity+Jwt實現身份認證和權限管理后端服務

1、簡介 本文講述了如何實現簡易的后端鑒權服務。所謂“鑒權”&#xff0c;就是“身份鑒定”“權限判斷”。涉及的技術有&#xff1a;OAuth2、SpringSecurity、Jwt、過濾器、攔截器。OAuth2用于授權&#xff0c;使用Jwt簽發Access Token和Refresh Token&#xff0c;并管理token…

<C++> MFC自動關閉對話框(MessageBoxTimeout)

MFC自動關閉對話框&#xff08;MessageBoxTimeout&#xff09; 記錄一下今天在界面開發中的解決方案。自動關閉對話框有兩種方案&#xff1a; 1.使用定時器實現延遲關閉&#xff08;DeepSeek方案&#xff09; 提示框顯示幾秒后自動關閉&#xff0c;可以使用 SetTimer KillT…

多語言支持的常見設計方案

在 Java 項目中實現**多語言&#xff08;國際化&#xff0c;i18n&#xff09;**功能&#xff0c;是很多企業級應用支持不同地區和語言用戶的基礎需求。以下是 Java 中實現多語言支持的常見設計方案&#xff1a; 一、常見多語言設計方案 1. 使用 ResourceBundle 讀取 propertie…

vuex基本介紹

Vuex是Vue.js應用程序中專門用于狀態管理的庫。以下是其基本介紹&#xff1a; 概念 Vuex采用集中式存儲管理應用的所有組件的狀態&#xff0c;并以相應的規則保證狀態以一種可預測的方式發生變化。 特點 - 集中化管理&#xff1a;將應用的狀態集中存儲在一個單一的狀態…

Android開發-在應用之間共享數據

在Android系統中&#xff0c;應用之間的隔離機制&#xff08;沙箱機制&#xff09;保障了系統的安全性與穩定性。然而&#xff0c;在實際開發中&#xff0c;我們經常需要實現跨應用的數據共享&#xff0c;例如&#xff1a; 從一個應用向另一個應用傳遞用戶信息&#xff1b;多個…

深度解析 JWT:從原理到實戰的全場景解決方案(附永久 Token 設計與集成系統實踐)

摘要 本文結合 JWT 官方標準&#xff08;RFC 7519&#xff09;與生產級實踐&#xff0c;全面解析 JSON Web Token 的核心機制、安全規范及 Java 生態最佳實現。涵蓋 JJWT 工具類優化、Auth0/Nimbus 替代方案對比、永久 Token 設計&#xff08;滿足集成系統長期調用需求&#x…

[特殊字符]Meilisearch:AI驅動的現代搜索引擎

前言 大家好&#xff0c;我是MAI麥造&#xff01; 上文介紹一了Manticore Search 這款輕量級的搜索引擎&#xff0c;這次又有了新的發現&#xff01;傳送門&#xff1a; Elasticsearch太重&#xff1f;它的超輕量的替代品找到了&#xff01; 這是一個讓我超級興奮的AI搜索引…

【Linux C/C++開發】輕量級關系型數據庫SQLite開發(包含性能測試代碼)

前言 之前的文件分享過基于內存的STL緩存、環形緩沖區&#xff0c;以及基于文件的隊列緩存mqueue、hash存儲、向量庫annoy存儲&#xff0c;這兩種屬于比較原始且高效的方式。 那么&#xff0c;有沒有高級且高效的方式呢。有的&#xff0c;從數據角度上看&#xff0c;&#xff0…

首個專業AI設計Agent發布-Lovart

Lovart是什么 Lovart 是為設計師打造的世界上首個專業設計 Agent。Lovart 能像專業設計師一樣思考和執行設計任務&#xff0c;提供高水平的設計方案。基于自然語言交互&#xff0c;用戶能快速調整布局、顏色和構圖。Lovart 支持從創意拆解到專業交付的全鏈路設計&#xff0c;單…

關于Python 實現接口安全防護:限流、熔斷降級與認證授權的深度實踐

作為一名IT從業者&#xff0c;就自己的職業經歷&#xff0c;我一直很注重系統安全的。從桌面時代就對此很感興趣&#xff0c;后來隨著技術的更新迭代&#xff0c;系統安全衍生出來了網絡安全。維度更大&#xff0c;范圍更廣。尤其在數字化浪潮席卷全球的今天&#xff0c;互聯網…

onGAU:簡化的生成式 AI UI界面,一個非常簡單的 AI 圖像生成器 UI 界面,使用 Dear PyGui 和 Diffusers 構建。

?一、軟件介紹 文末提供程序和源碼下載 onGAU&#xff1a;簡化的生成式 AI UI界面開源程序&#xff0c;一個非常簡單的 AI 圖像生成器 UI 界面&#xff0c;使用 Dear PyGui 和 Diffusers 構建。 二、Installation 安裝 文末下載后解壓縮 Run install.py with python to setup…

南方科技大學Science! 自由基不對稱催化新突破 | 樂研試劑

近日&#xff0c;南方科技大學劉心元教授團隊聯合浙江大學洪鑫教授團隊在自由基不對稱催化領域取得新進展。課題組開發了一系列大位阻陰離子 N,N,P-配體&#xff0c;用于銅催化未活化外消旋仲烷基碘與亞砜亞胺的不對稱胺化反應。該反應表現出廣泛的底物兼容性&#xff0c;涵蓋具…

Milvus 視角看主流嵌入式模型(Embeddings)

嵌入是一種機器學習概念&#xff0c;用于將數據映射到高維空間&#xff0c;其中語義相似的數據被緊密排列在一起。嵌入模型通常是 BERT 或其他 Transformer 系列的深度神經網絡&#xff0c;它能夠有效地用一系列數字&#xff08;稱為向量&#xff09;來表示文本、圖像和其他數據…

【MySQL】牛客網sql語句簡單例題,sql入門

目錄 一、基礎查詢 1、查詢所有列 2、 查詢多列 二、簡單處理查詢結果 1、查詢結果去重 2、查詢結果限制返回列數 3、將查詢后的列重新命名 三、條件查詢之基礎排序 1、查找后排序 2、 查找后多列排序 3、查找后降序排列 四、條件查詢之基礎操作符 1、查找學校是北…

Linux云計算訓練營筆記day06(Windows DOS下的常用命令 及 HTML)

windows dos命令行 切換盤符 d: 查看文件夾下的內容 dir 創建文件夾 md/mkdir gongli 進入文件夾 cd gongli 往回退一層 cd .. 清屏 cls 歷史命令(用鍵盤的上下鍵) 創建一個空的文件 echo.>a.txt 寫入內容到文件中 echo hello world > b.txt 刪除文件 del a.txt 查…

如何開啟或關閉WordPress的自動更新功能

WordPress是一個開源軟件&#xff0c;您可以從他們的官方網站免費下載。但是&#xff0c;要啟動WordPress站點&#xff0c;您需要安裝一個主題&#xff0c;以幫助為您的內容創建特定布局。此外&#xff0c;您可能還需要安裝一些插件來添加其他功能。 當您必須管理所有這些東西…

SpringSecurity當中的CSRF防范詳解

CSRF防范 什么是CSER 以下是基于 CSRF 攻擊過程的 順序圖 及詳細解釋&#xff0c;結合多個技術文檔中的攻擊流程&#xff1a; CSRF 攻擊順序圖 #mermaid-svg-FqfMBQr8DsGRoY2C {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#m…

給 DBGridEh 增加勾選用的檢查框 CheckBox

需求 Delphi 的 DBGrid 通過 DataSource 綁定到一個 DataSet 顯示數據表里面的 N 多條記錄。如果我想給每條記錄加一個 CheckBox 讓用戶去勾選&#xff0c;該怎么做&#xff1f; 以下描述&#xff0c;使用的 DBGrid 是 DBGrieEh。 Delphi 自帶的 DBGrid 要加 CheckBox 比較麻…

WordPress 和 GPL – 您需要了解的一切

如果您使用 WordPress&#xff0c;GPL 對您來說應該很重要&#xff0c;您也應該了解它。查看有關 WordPress 和 GPL 的最全面指南。 您可能聽說過 GPL&#xff08;通常被稱為 WordPress 的權利法案&#xff09;&#xff0c;但很可能并不完全了解它。這是有道理的–這是一個復雜…

力扣144題:二叉樹的前序遍歷(遞歸)

小學生一枚&#xff0c;自學信奧中&#xff0c;沒參加培訓機構&#xff0c;所以命名不規范、代碼不優美是在所難免的&#xff0c;歡迎指正。 標簽&#xff1a; 二叉樹、前序遍歷、遞歸 語言&#xff1a; C 題目&#xff1a; 給你二叉樹的根節點root&#xff0c;返回它節點值…