閑庭信步使用圖像驗證平臺加速FPGA的開發:第二十四課——圖像直方圖均衡化的FPGA實現

?(本系列只需要modelsim即可完成數字圖像的處理,每個工程都搭建了全自動化的仿真環境,只需要雙擊top_tb.bat文件就可以完成整個的仿真,大大降低了初學者的門檻!!!!如需要該系列的工程文件請關注知識星球:成工fpga,https://t.zsxq.com/DMeqH,關注即送200GB學習資料,鏈接已置頂!)

直方圖的均衡化上個系列也有詳細的講解,本課主要完成圖像直方圖均衡化的FPGA實現。

我們先來分析一下,實現圖像直方圖的均衡需要處理幾幀圖片?第一幀圖片完成直方圖統計,在第一幀和第二幀圖像之間完成直方圖數據的讀取,同時完成直方圖數據的均衡化和均衡化的存儲。第二幀圖像就可以根據存儲的均衡化數據完成整幅圖像的均衡化,所以要完成圖像的均衡化,需要兩幀圖像,視頻流水起來,就是后一幀圖像根據前一幀圖像完成圖像的直方圖均衡化。

那我們再來分析一下,如果要對均衡化的圖像再進行直方圖統計,需要處理幾幀圖像?上面我們分析第二幅圖像完成圖像的均衡化,在第二幅圖像均衡化的過程中,可以對均衡化的圖像數據進行直方圖的統計,那就是在第二幅圖像結束的時候完成圖像均衡化的直方圖統計,如果想把直方圖疊加到均衡化后的圖片上,那就要在第三幀圖像上完成。

在\src\hist文件夾下新建hist_equalization.sv文件,用來實現圖像的直方圖數據的均衡化,均衡化就是將小于等于當前標號的直方圖數據求和,其實第一個均衡化的數據就是第一個直方圖的數據,第二個均衡化的數據就是第一個和第二個直方圖數據的和,第三個均衡化的數據就是前三個直方圖數據的和......最后一個均衡化的數據所有直方圖數據的和。如下,52-58行求和的運算。

每次求和完成一個直方圖均衡化數據的計算,然后直接對均衡化后的數據進行歸一化處理,歸一化處理是將數據映射到0-255區間。歸一化因子是699,計算公式是256*1024*1024/(H_ACTIVE*V_ACTIVE),數據放大了2^20倍,所以最終的結果將低20位直接舍棄,也就是結果右移20位。歸一化后的均衡化數據存放到數組中,下一幀數據的每個像素值作為數組的地址讀出其中的值,完成下一幀圖像的均衡化,這個超過其實和gamma矯正完全一樣。

在top文件中例化了rgb2ycbcr,hist_statistics,hist_equalization,ycbcr2rgb,hist_norm,hist_mem,plot_hist等模塊,如下所示。先將RGB圖像轉成灰度圖像,對灰度圖像進行圖像的直方圖統計和均衡,再將均衡后的灰度圖像轉換回RGB圖像,同是對均衡后的灰度圖像進行直方圖統計。

在tb_image_sim文件中的第二個initial塊中,將圖像測試平臺和FPGA硬件仿真的結果保存并比對,需要注意一點,要完成兩幀圖像的處理,通過wait((frame_cnt == FRAME_NUM) & frame_done)來實現,這兒FRAME_NUM是2。

雙擊sim文件夾下的top_tb.bat文件,完成系統的自動化仿真。

可以看到在modelsim的Transcript有如下的打印信息,圖像測試平臺和FPGA硬件仿真的結果一致。

打開img文件夾,也可以看到圖像測試平臺和FPGA硬件仿真的結果是一致的(no_seq*是圖像測試平臺處理后的圖片,seq*是FPGA硬件仿真處理后的結果)。

同時也可以看一下圖像釋放圖均衡前后的效果圖。

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

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

相關文章

LabVIEW 2025安裝包| 免費免激活版下載| 附圖文詳細安裝教程

[軟件名稱]:LabVIEW 2025 [軟件大小]:13 G [系統要求]:支持Win7及更高版本 [下載通道]:夸克網盤 [下載鏈接]: https://pan.quark.cn/s/7e9527cc06a3 (建議用手機保存到網盤后,再用電腦下載) 更多免費軟件&a…

如何實現泵站的無人值守:御控智慧水務平臺

在城鄉供水、農田灌溉、工業循環水等場景中,泵站作為核心動力設施,其運行效率直接影響水資源調配的穩定性。然而,傳統泵站管理長期面臨三大痛點:人力成本高昂:偏遠地區泵站需24小時值守,單站年均人力成本超…

深度學習篇---車道線循跡

要實現基于深度學習的雙車道線(黃色車道線)循跡(通過預測四個輪子的轉速實現自主控制),需要從數據采集、模型設計、訓練策略、環境適應等多維度系統優化。以下是具體方案及需要注意的關鍵事項,旨在提升精準…

JavaScript,發生異常,try...catch...finally處理,繼續向上層調用者傳遞異常信息

JavaScript中,?異常(Exception)和錯誤(Error) JavaScript 是一種解釋型語言,通常在瀏覽器中通過JavaScript引擎執行。最著名的兩個引擎是:SpiderMonkey(由 Mozilla Firefox 使用&a…

SpringMVC快速入門之啟動配置流程

SpringMVC快速入門之啟動配置流程一、SpringMVC啟動的核心流程二、環境準備與依賴配置2.1 開發環境2.2 Maven依賴配置三、初始化Servlet容器:WebApplicationInitializer3.1 實現WebApplicationInitializer3.2 配置編碼過濾器(解決中文亂碼)四…

ArcGIS水文及空間分析與SWMM融合協同在城市排水防澇領域中的應用

隨著計算機的廣泛應用和各類模型軟件的發展,將排水系統模型作為城市洪災評價與防治的技術手段已經成為防洪防災的重要技術途徑。將創新性融合地理信息系統(GIS)的空間分析能力與暴雨雨水管理模型(SWMM)的水動力計算優勢…

PHICOMM(斐訊)N1盒子 - Armbian25.05(Debian 12)刷入U盤/EMMC

PHICOMM(斐訊)N1盒子 - Armbian25.05(Debian 12)刷入U盤/EMMC 文章目錄PHICOMM(斐訊)N1盒子 - Armbian25.05(Debian 12)刷入U盤/EMMC前言1. 確保固件版本為2.192. 刷系統到U盤3. 啟動U盤系統4. U盤系統寫入EMMC5. 關機撥U盤6. 重新上電環境: 系統:Armbi…

《計算機網絡基礎知識全解析:從協議模型到通信實踐》

《計算機網絡基礎知識全解析:從協議模型到通信實踐》 在數字化時代,計算機網絡是信息傳遞的基石,從日常瀏覽網頁到企業數據交互,都離不開網絡協議的規范與支撐。本文將系統梳理計算機網絡的核心知識,從通信模型到具體協…

【補題】Codeforces Global Round 26 E. Shuffle

題意:給出一棵樹,按照以下方式操作 對于當前的所有任意子樹,選出任何一個點從中刪除,然后作為新子樹的根插入到新的樹中,以此遞歸往復,直到原來的樹中節點全部進入新樹,問新樹最多有多少個葉子節…

金倉數據庫風云

O 記我用了這么多年,我最有發言權,我可不敢替,你們誰能搞定,誰上。” 老鄧在會上,狠狠甩了一句氣話。老鄧(鄧銘),某大型期貨交易所信息化主管,數據庫老司機。 作為圈里最…

阿里云寶塔Linux面板相關操作記錄

1、清空nginx緩存使用Nginx時,靜態圖片文件會出現緩存,所以需要清空緩存,方法如下:sudo rm -rf /www/server/nginx/proxy_cache_dir/*2、Windows啟動spring boot jar腳本echo off setlocal enabledelayedexpansion:: 配置項目名 s…

Kotlin伴生對象

你已經知道如何為類創建單例對象(singleton)。不過,在很多情況下,你只需要為某個類維護一個單例,這時候使用類的完整名字會顯得冗長。比如,你可能只需要存儲一個公共的屬性。這種情況下,可以用 …

4G車載錄像機的作用詳解:提升行車安全與智能管理的核心技術

1. 引言隨著物流運輸、公共交通、特種車輛等行業對安全與管理需求的提升,4G車載錄像機已成為現代車輛智能化管理的重要組成部分。它不僅具備傳統行車記錄儀的錄像功能,還結合4G無線通信、AI智能分析、GPS定位、云存儲等技術,實現遠程監控、實…

技術與情感交織的一生 (十)

目錄 笑傲江湖 上 恨 嫌隙 掙扎 救難 論道 取巧 聯手 入魔 決裂 治傷 聚氣 傾心 笑傲江湖 上 恨 身邊的許多朋友都是金庸武俠迷,我也是其中之一。有人說,我的技術像 “任我行” ,“吸星大法” 學到最后顯得不倫不類&#xf…

架構進階——解讀集團IT管控治理體系總體規劃【附全文閱讀】

集團IT管控治理體系正步入高質量發展階段,旨在重塑信息化管理價值,解決集團化管理的核心挑戰。首要問題是縱向與橫向的協同管控,需明確各層級在集團戰略決策中的角色與責任,促進跨部門、跨子公司的高效協同。高管激勵機制與人才梯…

亞馬遜自養號測評實戰指南:從環境搭建到安全提排名

在亞馬遜平臺上,自養號測評系統的成敗差異主要源于技術合規性、操作精細度和風控策略的差異。以下是關鍵因素的分析:🔒 一、環境隔離與偽裝技術底層環境穩定性成功案例:采用獨立服務器硬件參數偽裝(如唯一MAC地址、IME…

CSS中的transform

在 CSS 中,transform 是用于用于用于對元素進行幾何變換的屬性,可實現旋轉、縮放、平移、傾斜等效果,且不會影響其他元素的布局(不會觸發重排)。以下是其核心用法和特性: 1. 基本語法 element {transform: …

MyBatis攔截器插件:實現敏感數據字段加解密

文章目錄一、寫在前面二、編碼實現1、注解2、攔截器插件3、配置插件4、實體類5、測試三、擴展1、優化點一、寫在前面 日常開發中,經常有一些敏感數據,直接寫入數據庫的話,很容易泄露。 本文基于mybatis攔截器插件,實現敏感數據的…

C++_Hello算法_隊列

隊列(queue)是一種遵循先入先出規則的線性數據結構。顧名思義,隊列模擬了排隊現象,即新來的人不斷加入隊列尾部,而位于隊列頭部的人逐個離開。 如圖 5-4 所示,我們將隊列頭部稱為“隊首”,尾部…

LeetCode 1.

問題描述 倆數之和: 給定一個整數數組 nums 和一個整數目標值 target,請你在該數組中找出 和為目標值 target 的那 兩個 整數,并返回它們的數組下標。你可以假設每種輸入只會對應一個答案,并且你不能使用兩次相同的元素。你可以按…