www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當前位置:首頁 > > FPGA開源工作室

前言:這一講我們使用Simulink來快速搭建圖像/視頻處理硬件加速平臺。以簡單的RGB2GREY算法為例。我們主要使用的Toolbox為HDL Coder和Vision HDL兩個,以后會加上相關的Hardware Support Package。大家可以在Simulink的Library Brower中以及官網(wǎng)里熟悉一下他們所支持的功能。


正文:

首先我們新建一個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中。

在Github中,我還添加了軟件部分的驗證部分,并且計算硬件和軟件的PSNR。歡迎大家下載并且在自己的電腦上驗證,如果有問題和任何建議也可以與我聯(lián)系。

以下為模型地址https://github.com/linbaiwpi/matlab_visionhdl/tree/master/rgb2grey


下集預告:之后,我們還會了解到哪些模塊是可以被轉換成HDL代碼的,如何將模型部署到硬件之上,以及實現(xiàn)算法的時候將會用到的技巧等。

下一講我將會實現(xiàn)以上模型的HDL代碼,并且在Zedboard+FMC-HDMI-CAM板卡上進行驗證。之后我們會講解如何使用Line Buffer,如何生成patch,實例為將照片轉換成素描風格(測試圖片摘自Github-wyfunique/Convert-Photo-to-sketch,如有侵權,煩請告知,我會立刻刪除)。實現(xiàn)結果如下(右邊是輸入圖像,左邊是硬件實現(xiàn)的結果)


本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內容侵犯您的權益,請及時聯(lián)系本站刪除。
關閉