一種簡單的3dnr去噪算法介紹

????????一段未經過插補的視頻圖像可以分解為若干幀,為了能正確地找到并去除圖像幀中的噪聲污染,由于視頻圖像各幀的連續性,在去噪的過程中就必須考慮幀圖像的空間性和時間性,一個簡單的例子,在去噪算法中就必須考慮,當視頻中有物體運動時,就要加強幀圖像的空間比重(即相鄰像素的比重)而相對的減少相鄰幀的影響。

????????在含有運動物體的幀圖像中,沒有任何相鄰的幀信息是相同的,即使在一段靜止的無運動視頻中由于噪聲的干擾,各幀的數據也不盡相同,在去噪的過程中,如果簡單的將各幀各自獨立的考慮,各幀的圖像殘留的噪聲容易使視頻圖像產生抖動現象,而如果沒有考慮到視頻中物體的運動,就會使視頻畫面出現疊影現象,為了避免這兩種情況,考慮幀中的兩幀圖像,其中一幀即當前還未處理的幀,另外一幀是已經處理過的上一幀圖像(如圖所示)

????????在處理當前幀的時候,往往想找到與待處理點相匹配的上一幀圖像中的對應點,但是由于運動存在的可能性,對應點可能與待處理的不在相同的位置,如圖所示,可以找到與待處理像素點ww2相對應的先前幀對應位置像素點wwl,如果沒有物體的運動,兩個像素點上的值應該是一致的,但是,由于運動存在的可能性,ww1或許已經移動到物體的邊沿或背景上,雖然可以利用矢量運算可以將畫面中運動的部分分割出來,再經過多次迭代的運算可以得到比較準確的數據,但是運算量大,不符合視頻獲取的實時性原則,這里利用一種較簡單的方法來設計本文的算法,利Angelo Bosco等人在2004年提出的一種方法并加以改進,以圖達到更好的效果。

????????首先,引入一個變量SAD(sum of Absolute Differences)的概念,在待處理的幀圖像中,以待處理像素點為中心取一個5*5的方陣,設當前矩陣中個像素點的值為P_{Cij},上一幀中對應矩陣中的像素值為P_{pij},首先計算:

D_{sad}=\sum_{i=1}^{m}\sum_{j=1}^{n}(\left |P_{Cij}-P_{pij} | \right)

稱之為絕對差值,描述了當前待處理像素點所在的矩陣范圍內與上一幀已處理所對應區域的絕對差,可以這樣認為,當絕對差值大于某一事先設定好的閾值D時,就認為兩幀在此區域內差別較大,有明顯的物體運動,反之,就認為兩幀之間無明顯差別,或者可以認為物體運動不明顯。

????????在這個過程中,還考慮一個明顯的問題,由于不同光強的不同,也會引起D_{sad}的數值較大,為了避免這種情況,以達到使人滿意的視覺效果,令\Delta P_{ij}=\left | P_{Cij}-P_{pij} \right |的絕對值,計算
\Delta P_{ij}方差\Delta P,還是當\Delta P大于某設定值的時候,認為光強的影響較大,比較前后兩幀數值大小,使當前幀待處理窗口減去或加上D_{sad}/25,然后再重復計算D_{sad}的大小,以確定是否有明顯的物體運動,反之,可以認為無光強的影響或者影響較小,不予考慮。

????????當D_{sad}大于預先設定的閾值的時候,可以認為在視頻的前后兩幀中有明顯的物體運動,在處理過程中,忽略幀圖像的時間性,以所在處理幀的空間特性為主要依據進行去噪,假設待處理像素點為S,S可以是R,G,B中的任何一個,分別取S周圍的四個像素進行計算,分別取距離S在水平方向和垂直方向的兩個元素。

????????并對相應的四個像素點取均值Sav,令\Delta S=\left | S-S_{av} \right |,在這里,還要引入一個變量
\delta _{x}來表示噪聲的離散程度,定義在待處理的矩陣區域R內,f(x,y)是屬于R中的像素點值,有以下定義:

\delta _{x}=\sqrt{\frac{1}{N-1}\sum_{((x,y)\in R)}^{}(f(x,y)-average)^{^{2}}}(3—4)

????????其中N為區域內的像素點的個數,averge為所在區域內各像素點的平均值,,當\Delta S大于等于\delta _{x}時,則可以認為S所在點為噪聲點,令:S=Sav。否則不做處理。

????????當D_{sad}小于固定閾值時,可以認為沒有明顯的運動發生,就可以計算待處理像素所在幀區域與先前幀所對應區域綜合考慮。如果\Delta P_{ij}=\left | P_{Cij}-P_{pij} \right |的絕對值大于等于\delta _{x},可以認定當前點是被噪聲污染的噪音點,用上面介紹的方法分別求出前后兩幀處理區域像素點平均值Pca和Ppa,則S= (Pca+Ppa)/2。當\Delta P_{ij}=\left | P_{Cij}-P_{pij} \right |的絕對值小于\delta _{x},認為沒有噪音污染,或者認為噪聲點污染不足以引起人視覺上的反應,不作任何處理。

????????下面著重考慮判斷物體是否移動的閾值的選擇,由于視頻采集的圖像15幀/秒,在進行的噪音點處理的時候,在一個5木5的小矩形區域內,因此對于存在物體移動的情況,在這個小區域內,存在兩種不同的區域,背景域和移動物體域,假設在這兩個存在完全不同的小區域均是平滑的,由此可見可以將這種情況抽象成邊界移動模型,假設Dmax表示前后兩幀圖像對應點差值中的最大值,不妨假設Threshold=5*Dmax(在待處理區域內物體的邊界為5個像素)當絕對差值大于Thresho1d時,認為有明顯的物體移動,否則,認為沒有明顯的運動跡象。

????????在關于怎樣確定Thresho1d閾值的時候,還有人提出,通過計算上一幀處理過圖像的噪聲干擾的程度,通過步步迭代來確定閾值,由于設定閾值的目的是確定在感興趣的區域內有無明顯的運動,完全可以通過一種更簡單的方式來確定,實驗表明,本文的算法同樣取得良好的效果,下圖中的兩幅幀圖像分別是去噪前進行插補算法和去噪以后進行的插補算法,前一幅圖像的噪聲影響下,圖像顯得很粗糙,經過去噪算法以后,效果有明顯的改善.

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

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

相關文章

【數據結構初階】--排序(四):歸并排序

🔥個人主頁:草莓熊Lotso 🎬作者簡介:C研發方向學習者 📖個人專欄: 《C語言》 《數據結構與算法》《C語言刷題集》《Leetcode刷題指南》 ??人生格言:生活是默默的堅持,毅力是永久的…

GaussDB 并行創建索引

1 背景當業務數據在單表存儲達到一定的數量級時,此時對表創建索引是要花費時間的。GaussDB為了解決這個問題采用并行創建索引技術,以提高創建索引的效率。2 示例步驟1:根據實際情況調整maintenance_work_mem參數該大小。[Rubydtest1 ~]$ gsq…

LOOP Finance:一場 Web3 共和國中的金融制度實驗

LOOP Finance 是建構于幣安智能鏈(BNB Chain)上的定投型DEFI理財協議。 它以凱因斯經濟學為啟發,設計出一套長期、安全、穩定收益的全新DEFI玩法,兼顧穩健利息回報與DEFI高速成長的潛力。 通過生態機制,LOOP要求每位參…

【golang面試題】Golang遞歸函數完全指南:從入門到性能優化

引言:遞歸的本質與挑戰 在Golang中,遞歸函數是一把鋒利的雙刃劍。它通過函數自身調用實現問題分解,讓代碼變得簡潔優雅,但也容易因無限遞歸、棧溢出或性能問題讓開發者陷入困境。本文將從基礎到高級,全面解析Golang遞歸…

功能安全和網絡安全的綜合保障流程

摘要網絡物理系統是控制機械部件的計算機化系統。這些系統必須既功能安全又網絡安全。因此,已建立的功能安全與網絡安全標準需求創建網絡安全檔案(ACs),以論證系統是功能安全與網絡安全的,即所有功能安全與網絡安全目標…

數據科學首戰:用機器學習預測世界杯冠軍

數據科學首戰:用機器學習預測世界杯冠軍Scikit-learn實戰:從數據清洗到冠軍預測的完整指南一、足球預測:數據科學的終極挑戰??世界杯數據價值??:歷史比賽數據:44,000場球隊特征指標:200球員數據點&…

一個php 連sqlserver 目標計算機積極拒絕,無法連接問題的解決

一個接口查詢數據耗時15秒,還沒數據,經查報錯日志:SQLSTATE[08001]: [Microsoft][ODBC Driver 17 for SQL Server]TCP 提供程序: 由于目標計算機積極拒絕,無法連接。 命令行執行:netstat -ano | findstr :1433發現結…

生成網站sitemap.xml地圖教程

要生成 sitemap.xml 文件,需要通過爬蟲程序抓取網站的所有有效鏈接。以下是完整的解決方案: 步驟 1:安裝必要的 Python 庫 ounter(line pip install requests beautifulsoup4 lxml 步驟 2:創建 Python 爬蟲腳本 (sitemap_genera…

idea拉取新項目第一次啟動報內存溢出(java.lang.OutOfMemoryError: Java heap space)

背景: 新拉取一個項目后,第一次啟動的時候報錯內存溢出: Java 堆內存溢出 (java.lang.OutOfMemoryError: Java heap space) 這個錯誤表示你的 Java 應用程序需要的內存超過了 JVM 堆內存的分配上限。 解決方案 1.增加堆內存大小 啟動應用時添…

安卓雷電模擬器安裝frida調試

1.在模擬器中設置調試root和adb 2.在vscode中安裝autox.js 3.在github上下載auto.js組件 新地址鏈接看來大佬的項目也經歷了波折https://blog.csdn.net/weixin_41961749/article/details/145669531 github地址https://github.com/aiselp/AutoX/releases 將下載的apk放入雷電…

Godot ------ 初級人物血條制作02

Godot ------ 初級人物血條制作02引言正文血條動態顯示引言 在 Godot ------ 初級人物血條制作01 一文中我們介紹了如何構建一個初級血條,但是我們并沒有涉及如何動態顯示血條。本文我們將介紹如何動態顯示血條。 正文 血條動態顯示 首先,我們為當前…

(Python)待辦事項升級網頁版(html)(Python項目)

源代碼: app.py from flask import Flask, render_template, request, redirect, url_for, jsonify import json import osapp Flask(__name__)# 數據存儲文件 DATA_FILE "todos.json"def load_todos():"""從文件加載待辦事項"&q…

智慧養老破局:科技如何讓“老有所養”變成“老有優養”?

隨著人口老齡化加劇,“養老”成了社會關注的焦點。傳統養老往往停留在“有地方住、有人照顧”的基礎需求,而智慧養老則通過科技與人文的結合,讓老年人的生活從“老有所養”升級到“老有優養”。不僅活得安心,更能活得有尊嚴、有質…

自學嵌入式 day45 ARM體系架構

一、SOCRAM:隨機訪問存儲器,存放隨機變量,掉電數據丟失ROM:只讀存儲器,存放單片機的程序、指令,掉電數據不丟失注:1、馮諾依曼架構中將數據與指令存放在同一存儲器中2、哈佛架構是將數據與指令存…

HTML應用指南:利用GET請求獲取全國OPPO官方授權體驗店門店位置信息

本篇文章將利用GET請求從OPPO官方網站或公開接口中獲取官方授權體驗店的分布信息,并通過Python編程語言中的requests庫來實現HTTP請求,從而提取詳細的門店位置數據。隨著OPPO品牌的發展和市場布局的擴展,其官方授權體驗店已經遍布全國各大城市…

Self-RAG:基于自我反思的檢索增強生成框架技術解析

本文由「大千AI助手」原創發布,專注用真話講AI,回歸技術本質。拒絕神話或妖魔化。搜索「大千AI助手」關注我,一起撕掉過度包裝,學習真實的AI技術! 一、核心定義與原始論文 Self-RAG(Self-Reflective Retri…

【YOLOv8改進 - C2f融合】C2f融合DBlock(Decoder Block):解碼器塊,去模糊和提升圖像清晰度

YOLOv8目標檢測創新改進與實戰案例專欄 專欄目錄: YOLOv8有效改進系列及項目實戰目錄 包含卷積,主干 注意力,檢測頭等創新機制 以及 各種目標檢測分割項目實戰案例 專欄鏈接: YOLOv8基礎解析+創新改進+實戰案例 文章目錄 YOLOv8目標檢測創新改進與實戰案例專欄 介紹 摘要 文…

LLamafactory是什么?

LLamaFactory是一個專注于大型語言模型(LLM)訓練、微調和部署的開源工具平臺,旨在簡化大模型的應用開發流程。?1.核心功能與特點?LlamaFactory(全稱Large Language Model Factory)作為一站式AI開發工具平臺&#xff…

Element Plus編輯表格時的頁面回顯(scope)

1、前提&#xff1a;自定義列模版(把id作為參數&#xff0c;傳遞到調用的edit函數里)<template #default"scope"><el-button type"primary" size"small" click"edit(scope.row.id)"><el-icon><EditPen /><…

河南萌新聯賽2025第四場-河南大學

今天又是坐牢的一次比賽&#xff0c;恭喜獲得本次比賽稱號&#xff1a;掛機王&#xff0c;一個簽到題能卡住兩個小時&#xff0c;這兩個小時簡直坐的我懷疑人生&#xff0c;實在是找不出哪里錯了&#xff0c;后來快結束的時候才發現少了一個等于號&#xff0c;也不至于連簽到題…