您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關如何使用Simulink快速搭建視頻處理硬件加速仿真平臺,文章內(nèi)容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。
正文:
首先我們新建一個Simulink模型,并且按照上一講所講到的設置配置完成。
然后在空白處雙擊,輸入并添加以下模塊:
Image From File
Frame To Pixels
Pixels to Frame
Video Reviewer
Embedded Subsystem
將Video Reviewer放入Enabled Subsystem中,如下圖
然后按照下圖連接所有模塊。此處每個模塊的輸入都包含兩個:pixel和ctrl。Pixel表示對應的像素值,ctrl信號會indicate行開始和結束,列開始和結束,以及valid信號。不了解的同學可以參考Mathwork關于視頻接口控制總線的說明https://www.mathworks.com/help/visionhdl/ug/pixelcontrol-bus.html。
之后我們需要設置Image From File模塊,雙擊它。如下圖設置File Name,Sample time。
下面設置Frame To Pixels和Pixels To Frame模塊,由于我們使用的圖片格式是RGB240p,所以我們在雙擊模塊之后彈出的配置窗口里選擇Video Format為240p,RGB有3個通道,所以Number of components填3。Pixels To Frame同理。對于視頻格式不太了解的同學,我建議閱讀一下Matlab的Frame To Pixels文檔的Video format部分,鏈接如下
https://www.mathworks.com/help/visionhdl/ref/frametopixels.html
接下來我們設置仿真參數(shù),在空白處單擊右鍵,選擇Model Properties
然后我們在Callbacks中的InitFcn(初始化函數(shù))填寫以下代碼,這樣我們只要改變VideoFormat的格式就可以自動獲取圖像長寬等參數(shù)。
完成之后我們在Simulink Model的配置欄設置仿真時間為totalPixels(也就是上一步中配置的),仿真模式選擇為Accelerator模式。
至此,我們可以測試一下仿真通路了,保存之后使用ctrl+D來驗證模型完整性。如果沒有報錯即可點擊開始按鈕,開始仿真。如果不出意外,我們將會看到以下圖片
既然視頻通路搭建成功,我們就可以開始添加自己的RGBGREY模塊了。
熟悉數(shù)字圖像處理的同學一定知道,RGB圖像轉換成灰度圖像的公式如下
GREY=0.299*R+0.587*G+0.114*B。因此我們搭建轉換模塊如下
Delay模塊功能相當于寄存器模塊,RGB信號通過pixelIn輸入,通過乘法器與對應的常數(shù)相乘,并且使用Sum of Element模塊求和,后面的Data Type Conversion模塊截取了小數(shù)點之前的8位,也就是轉換成uint8的類型。Control Bus也要有相應的延遲,以保證時序不變。(關于為什么使用2個寄存器延遲,以及乘法器的替代,將會在以后提到。)我們將這部分模塊封裝在一個subsystem中(選中想要封裝的模塊并點擊右鍵,選中Create Subsystem from Selection)。至此,我們的算法搭建已經(jīng)完成,如下圖。由于灰度圖像是單通道的,別忘記將Pixel To Frame中的通道數(shù)改為1。
開始仿真,Video Reviewer會顯示以下圖像,說明我們的轉換算法驗證成功。
說明:1. 細心的同學可能會發(fā)現(xiàn),在實現(xiàn)RGBGREY算法,雙擊添加模塊時,所有的模塊都出自HDL Coder Toolbox,大家可以去官網(wǎng)查看更多實例以及熟悉支持功能。2.MathWorks提供了一套對應于上面模型的硬件框架來使用戶可以快速的搭建算法驗證測試平臺,主要來自Xilinx Zynq Support from Computer Vision Toolbox。前圖模型中顯示綠色和黃色的部分并不能綜合成硬件代碼,但應該適配到對應的Zynq框架之后,只要用戶按照接口,也就是pixel和ctrl,來開發(fā)算法,就可以很容易的使用該硬件支持包來布置到FPGA中。
關于如何使用Simulink快速搭建視頻處理硬件加速仿真平臺就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。