概述
此項(xiàng)目解釋了如何在FPGA上使用resizer IP來(lái)調(diào)整圖像的大小。其中對(duì)比了兩種圖像大小調(diào)整的解決方案的運(yùn)算速度,其中之一為使用Python Image Library通過軟件算法實(shí)現(xiàn)圖像大小調(diào)整,另一種使用Xilinx xfopencv library實(shí)現(xiàn)了在FPGA上硬件加速的圖像大小調(diào)整。
初始化
1. 首先在SD卡內(nèi)配置Pynq-Z2最新鏡像PYNQ image v2.5并燒錄在其中
2. 根據(jù)pynq.io上的官方指南配置環(huán)境
(https://pynq.readthedocs.io/en/latest/getting_started/pynq_z2_setup.html)
根據(jù)數(shù)字編號(hào)依次連接并點(diǎn)亮板卡,最后在板卡出現(xiàn)BTN0~BTN3同時(shí)點(diǎn)亮閃爍一次后為開機(jī)完成狀態(tài)。
3. 在筆記本電腦上配置網(wǎng)絡(luò),使得無(wú)線網(wǎng)卡的上網(wǎng)功能與Pynq-Z2連接的以太網(wǎng)網(wǎng)口共享,以做到Pynq-Z2同時(shí)能夠上網(wǎng)。
4. 借用Xshell或者開源軟件PuTTY對(duì)于Pynq-Z2端口進(jìn)行SSH獲得其新ip口,此時(shí)其一般會(huì)被重定向至192.168.137.X。此時(shí)在瀏覽器內(nèi)登錄此ip即可通過Jupyter Notebook與Pynq-Z2板卡通信。
5. 在Jupyter Notebook中新建terminal并ping 182.61.200.6驗(yàn)證與百度的連接是否正常上述驗(yàn)證完成后即為Pynq-Z2板卡與網(wǎng)絡(luò)的基礎(chǔ)通信功能與配置完成。
快速開始
在Jupyter Notebook的Terminal中輸入以下指令:
sudo pip3 install --upgrade git+
https://github.com/xilinx/pynq-helloworld.git
更新在Pynq-Z2內(nèi)所有Packages并從github下載本次項(xiàng)目的代碼。
(更新需要耐心等待一定時(shí)間。)
(項(xiàng)目Github文件及其詳細(xì)代碼請(qǐng)點(diǎn)擊查看原文)
案例測(cè)試
1. 最終會(huì)在Files文件夾下生成名為helloworld/的文件夾,點(diǎn)開此文件夾可以看到兩個(gè)Jupyter Notebook文件(.ipynb)。
2. 其中resizer_PS.ipynb的軟件方案采用了Python內(nèi)建的Python Imaging Library通過軟件上的算法實(shí)現(xiàn)完成對(duì)于一張640*360的sample圖像壓縮為原圖像的四分之一大小(320*180)。此軟件方案通過PIL庫(kù)加載與重置圖像的大小,用numpy庫(kù)存儲(chǔ)圖像的像素矩陣,用IPython.display在Jupyter notebook中顯示圖像。
3. 而resizer_PL.ipynb的FPGA硬件方案并沒有直接在ARM核中單純采用算法借用Python本地的內(nèi)存進(jìn)行運(yùn)算后直接返回。而是先將圖片數(shù)據(jù)通過ARM核從SD卡中讀入,再以數(shù)據(jù)流的形式通過Python的本地內(nèi)存的DRAM形式傳入共享的物理內(nèi)存中。
接下來(lái)通過AXI的內(nèi)部連接將PS層面的數(shù)據(jù)傳入PL層的可編輯邏輯單元,通過 Xilinx xfopencv library在DMA與Resize IP之間的運(yùn)算最后將數(shù)據(jù)傳回ARM核至SD卡。
最后,在縮小圖片的演示最后我們可以看到PS方案得到的最快單次圖像處理為24.1ms,而在PL方案中最快單次圖像處理僅僅為8.95ms,在此實(shí)際圖像案例上處理圖像的時(shí)間效率上縮小了接近2.7倍。如果放至更多張更高像素的圖片,相信此圖像處理方案會(huì)有著較大優(yōu)勢(shì)。
-
FPGA
+關(guān)注
關(guān)注
1630文章
21803瀏覽量
606489 -
圖像處理
+關(guān)注
關(guān)注
27文章
1304瀏覽量
56923 -
Xilinx
+關(guān)注
關(guān)注
71文章
2172瀏覽量
122271 -
python
+關(guān)注
關(guān)注
56文章
4811瀏覽量
85084
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
數(shù)據(jù)中心中的FPGA硬件加速器
![數(shù)據(jù)中心中的<b class='flag-5'>FPGA</b><b class='flag-5'>硬件加速</b>器](https://file1.elecfans.com/web3/M00/05/E9/wKgZO2eFzEqADv0LAABQx3tQZeo242.png)
FPGA加速深度學(xué)習(xí)模型的案例
FPGA在圖像處理領(lǐng)域的優(yōu)勢(shì)有哪些?
基于 DSP5509 進(jìn)行數(shù)字圖像處理中 Sobel 算子邊緣檢測(cè)的硬件連接電路圖
TDA4VM上的硬件加速運(yùn)動(dòng)恢復(fù)結(jié)構(gòu)算法
![TDA4VM上的<b class='flag-5'>硬件加速</b>運(yùn)動(dòng)恢復(fù)結(jié)構(gòu)算法](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
AM62A SoC通過硬件加速視覺處理改進(jìn)條形碼讀取器
![AM62A SoC通過<b class='flag-5'>硬件加速</b>視覺處理改進(jìn)條形碼讀取器](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
圖形圖像硬件加速器卡設(shè)計(jì)原理圖:270-VC709E 基于FMC接口的Virtex7 XC7VX690T PCIeX8 接口卡
![圖形<b class='flag-5'>圖像</b><b class='flag-5'>硬件加速</b>器卡設(shè)計(jì)原理圖:270-VC709E 基于FMC接口的Virtex7 XC7VX690T PCIeX8 接口卡](https://file.elecfans.com/web2/M00/65/B2/pYYBAGMJtWqAThGdAABhjE4eGDQ923.gif)
基于FPGA的圖像采集與顯示系統(tǒng)設(shè)計(jì)
PSoC 6 MCUBoot和mbedTLS是否支持加密硬件加速?
基于FPGA的實(shí)時(shí)邊緣檢測(cè)系統(tǒng)設(shè)計(jì),Sobel圖像邊緣檢測(cè),FPGA圖像處理
新思科技硬件加速解決方案技術(shù)日在成都和西安站成功舉辦
用DE1-SOC進(jìn)行硬件加速的2D N-Body重力模擬器設(shè)計(jì)
![用DE1-SOC進(jìn)行<b class='flag-5'>硬件加速</b>的2D N-Body重力模擬器設(shè)計(jì)](https://file1.elecfans.com/web2/M00/C8/6D/wKgaomYUsW-AQyqQAAAZAT_i0iw304.jpg)
330-基于FMC接口的Kintex-7 XC7K325T PCIeX4 3U PXIe接口卡 圖形圖像硬件加速器
![330-基于FMC接口的Kintex-7 XC7K325T PCIeX4 3U PXIe接口卡 圖形<b class='flag-5'>圖像</b><b class='flag-5'>硬件加速</b>器](https://file1.elecfans.com/web2/M00/C2/83/wKgZomXlZjeAO4nIAABACMKOXYY327.png)
【國(guó)產(chǎn)FPGA+OMAPL138開發(fā)板體驗(yàn)】(原創(chuàng))7.硬件加速Sora文生視頻源代碼
音視頻解碼器硬件加速:實(shí)現(xiàn)更流暢的播放效果
![音視頻解碼器<b class='flag-5'>硬件加速</b>:實(shí)現(xiàn)更流暢的播放效果](https://file1.elecfans.com/web2/M00/C1/39/wKgaomXUUOaACuUKAAGt-k1tox4555.jpg)
評(píng)論