色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

使用HLS封裝的縮放IP來實現視頻圖像縮放功能

Hack電子 ? 來源:米聯客uisrc ? 作者:米聯客uisrc ? 2022-10-11 14:21 ? 次閱讀

1.1 概述

這里向大家介紹使用HLS封裝的縮放IP來實現視頻圖像縮放功能。將HLS封裝的縮放IP加入到OV5640圖像傳輸系統,驗證圖像放大和縮小功能。

測試使用模塊:OV5640攝像頭,LCD (RGB接口) 屏、ZYNQ FPGA開發板。

放大測試:將720P分辨率圖像放大到1080P。

放大測試:將640x480分辨率圖像放大到1024x600

縮小測試:將720P分辨率圖像縮小到640x480。

實現的縮放IP主要用于功能驗證,可以在此基礎上,對數據流進行進一步處理,這里不在贅述。

1.2 縮放IP算法介紹

此部分主要介紹實現縮放的兩種算法,最近鄰插值法和雙線性插值法。其中最近鄰插值法簡單易懂,但是誤差較大。在最近鄰插值法的基礎上,引出雙線性插值法,也就是此次設計的目標算法。

1.2.1 最鄰近插值法

圖像的縮放很好理解,就是圖像的放大和縮小。傳統的繪畫工具中,有一種叫做“放大尺”的繪畫工具,畫家常用它來放大圖畫。當然,在計算機上,我們不再需要用放大尺去放大或縮小圖像了,把這個工作交給程序來完成就可以了。下面就來講講計算機怎么來放大縮小圖像。在本文中,我們所說的圖像都是指點陣圖,也就是用一個像素矩陣來描述圖像的方法,對于另一種圖像:用函數來描述圖像的矢量圖,不在本文討論之列。

越是簡單的模型越適合用來舉例子,我們就舉個簡單的圖像:3X3 的256級灰度圖,也就是高為3個像素,寬也是3個像素的圖像,每個像素的取值可以是 0-255,代表該像素的亮度,255代表最亮,也就是白色,0代表最暗,即黑色。假如圖像的像素矩陣如下所示(這個原始圖把它叫做源圖,Source):

234 38 22

67 44 12

89 65 63

這個矩陣中,元素坐標(x,y)是這樣確定的,x從左到右,從0開始,y從上到下,也是從零開始,這是圖象處理中最常用的坐標系,就是這樣一個坐標:

ab40c2d8-4922-11ed-a3b6-dac502259ad0.jpg

如果想把這副圖放大為 4X4大小的圖像,那么該怎么做呢?那么第一步肯定想到的是先把4X4的矩陣先畫出來再說,好了矩陣畫出來了,如下所示,當然,矩陣的每個像素都是未知數,等待著我們去填充(這個將要被填充的圖的叫做目標圖,Destination):

? ? ? ?

? ? ? ?

? ? ? ?

? ? ? ?

然后要往這個空的矩陣里面填值了,要填的值從哪里來呢?是從源圖中來!好,先填寫目標圖最左上角的像素,坐標為(0,0),那么該坐標對應源圖中的坐標可以由如下公式得出:

srcX=dstX* (srcWidth/dstWidth) , srcY = dstY * (srcHeight/dstHeight)

其中srcWidth為輸入圖像寬度,srcHeight為輸入圖像高度,dstWidth輸出圖像寬度,dstHeight為輸出圖像高度,srcX 、srcY為輸入圖像坐標值,dstX、dstY為輸出圖像坐標值。

現在到這里很清楚了,直接套用公式,就可以找到對應的原圖的坐標了(0*(3/4),0*(3/4))=>(0*0.75,0*0.75)=>(0,0)

找到了源圖的對應坐標,就可以把源圖中坐標為(0,0)處的234像素值填到目標圖的(0,0)這個位置了。

接下來,如法炮制,尋找目標圖中坐標為(1,0)的像素對應源圖中的坐標,套用公式:

(1*0.75,0*0.75)=>(0.75,0)

結果發現,得到的坐標里面竟然有小數,這可怎么辦?計算機里的圖像可是數字圖像,像素就是最小單位了,像素的坐標都是整數,從來沒有小數坐標。這時候采用的一種策略就是采用四舍五入的方法(也可以采用直接舍掉小數位的方法),把非整數坐標轉換成整數,好,那么按照四舍五入的方法就得到坐標(1,0),完整的運算過程就是這樣的:

(1*0.75,0*0.75)=>(0.75,0)=>(1,0)

那么就可以再填一個像素到目標矩陣中了,同樣是把源圖中坐標為(1,0)處的像素值38填入目標圖中的坐標。

依次填完每個像素,一幅放大后的圖像就誕生了,像素矩陣如下所示:

234 38 22 22

67 44 12 12

89 65 63 63

89 65 63 63

這種放大圖像的方法叫做最近鄰插值算法,這是一種最基本、最簡單的圖像縮放算法,效果也是最不好的,放大后的圖像有很嚴重的馬賽克,縮小后的圖像有很嚴重的失真。效果不好的根源就是其簡單的最臨近插值方法引入了嚴重的圖像失真,比如,當由目標圖的坐標反推得到的源圖的的坐標是一個浮點數的時候,采用了四舍五入的方法,直接采用了和這個浮點數最接近的像素的值,這種方法是很不科學的,當推得坐標值為 0.75的時候,不應該就簡單的取為1,既然是0.75,比1要小0.25 ,比0要大0.75 ,那么目標像素值其實應該根據這個源圖中虛擬的點四周的四個真實的點來按照一定的規律計算出來的,這樣才能達到更好的縮放效果。雙線性插值算法就是一種比較好的圖像縮放算法,它充分的利用了源圖中虛擬點四周的四個真實存在的像素值來共同決定目標圖中的一個像素值,因此縮放效果比簡單的最鄰近插值要好很多。

1.2.2 雙線性插值法

已知的紅色數據點與待插值得到的綠色點。

ab674700-4922-11ed-a3b6-dac502259ad0.jpg

假如我們想得到未知函數f在點P= (x,y) 的值,假設我們已知函數f在Q11 = (x1,y1)、Q12 = (x1,y2),Q21 = (x2,y1) 以及Q22 = (x2,y2) 四個點的值。

首先在x方向進行線性插值,得到R1和R2,然后在y方向進行線性插值,得到P。

這樣就得到所要的結果f(x,y)。

其中紅色點Q11,Q12,Q21,Q22為已知的4個像素點.

第一步:X方向的線性插值,在Q12,Q22中插入藍色點R2,Q11,Q21中插入藍色點R1;

第二步:Y方向的線性插值,通過第一步計算出的R1與R2在y方向上插值計算出P點。

線性插值的結果與插值的順序無關。首先進行y方向的插值,然后進行x方向的插值,所得到的結果是一樣的。雙線性插值的結果與先進行哪個方向的插值無關。

如果選擇一個坐標系統使得四個已知點坐標分別為 (0, 0)、(0, 1)、(1, 0) 和 (1, 1),那么插值公式就可以化簡為

f(x,y)=f(0,0)(1-x)(1-y)+f(1,0)x(1-y)+f(0,1)(1-x)y+f(1,1)xy

具體的雙線性插值算法描述如下:

對于一個目標像素,通過反向變換得到的浮點坐標為(i+u,j+v) (其中i、j均為浮點坐標的整數部分,u、v為浮點坐標的小數部分,是取值[0,1)區間的浮點數),則這個像素值 f(i+u,j+v) 可由原圖像中坐標為 (i,j)、(i+1,j)、(i,j+1)、(i+1,j+1)所對應的周圍四個像素的值決定,即:

f(i+u,j+v) = (1-u)(1-v)f(ij) + (1-u)vf(ij+1) + u(1-v)f(i+1,j) + uvf(i+1,j+1)

其中f(i,j)表示源圖像(i,j)處的的像素值,以此類推。

比如,剛才的例子,現在假定目標圖的像素坐標為(1,1),那么反推得到的對應于源圖的坐標是(0.75 , 0.75), 這其實只是一個概念上的虛擬像素,實際在源圖中并不存在這樣一個像素,那么目標圖的像素(1,1)的取值不能夠由這個虛擬像素來決定,而只能由源圖的這四個像素共同決定:(0,0)(0,1)(1,0)(1,1),而由于(0.75,0.75)離(1,1)要更近一些,那么(1,1)所起的決定作用更大一些,這從公式1中的系數uv=0.75×0.75就可以體現出來,而(0.75,0.75)離(0,0)最遠,所以(0,0)所起的決定作用就要小一些,公式中系數為(1-u)(1-v)=0.25×0.25也體現出了這一特點。

1.3 HLS實現1.3.1 工程創建

新建一個HLS工程,并在Source中新建Top.cpp、Top.h文件,在Test Bench中新建Test.cpp并添加測試圖片test1.jpg。

ab7cfb40-4922-11ed-a3b6-dac502259ad0.jpg

Top.cpp源碼(Source中添加):

#include "top.h"
#include 


void hls_video_scaler_top(AXI_STREAM& input, AXI_STREAM& output,int rows, int cols,int drows, int dcols)
{
      #pragma HLS INTERFACE axis port=INPUT_STREAM
      #pragma HLS INTERFACE axis port=OUTPUT_STREAM


      #pragma HLS RESOURCE core=AXI_SLAVE variable=rows metadata="-bus_bundle CONTROL_BUS"
      #pragma HLS RESOURCE core=AXI_SLAVE variable=cols metadata="-bus_bundle CONTROL_BUS"
      #pragma HLS RESOURCE core=AXI_SLAVE variable=drows metadata="-bus_bundle CONTROL_BUS"
      #pragma HLS RESOURCE core=AXI_SLAVE variable=dcols metadata="-bus_bundle CONTROL_BUS"
      #pragma HLS RESOURCE core=AXI_SLAVE variable=return metadata="-bus_bundle CONTROL_BUS"


      #pragma HLS INTERFACE ap_stable register port=dcols
      #pragma HLS INTERFACE ap_stable register port=drows
      #pragma HLS INTERFACE ap_stable register port=rows
      #pragma HLS INTERFACE ap_stable register port=cols


      RGB_IMAGE img_0(rows, cols);
      RGB_IMAGE img_1(drows, dcols);


      #pragma HLS dataflow
      hls::AXIvideo2Mat(input,img_0);
      hls::Resize(img_0,img_1,HLS_INTER_LINEAR);
      hls::Mat2AXIvideo(img_1, output);
}
    

Top.h源碼(Source中添加):

#ifndef _TOP_H_
#define _TOP_H_


#include "hls_video.h"


#include "ap_int.h"
// maximum image size
#define MAX_WIDTH  4096
#define MAX_HEIGHT 2160


typedef unsigned char uchar;
// I/O Image Settings
#define INPUT_IMAGE           "test1.jpg"


// typedef video library core structures
typedef hls::stream >               AXI_STREAM;
typedef hls::Mat     RGB_IMAGE;


void hls_video_scaler_top(AXI_STREAM& input, AXI_STREAM& output,int rows, int cols,int drows, int dcols);




#endif

Test.cpp源碼(Test Bench中添加):

#include "top.h"
#include "hls_opencv.h"
#include "iostream"
#include 


using namespace std;
using namespace cv;


int main (int argc, char** argv)
{
      IplImage* src = cvLoadImage(INPUT_IMAGE);


      CvSize s;
      s.width = 1920;
      s.height = 1080;
      IplImage* dst = cvCreateImage(s, 8, 3);


      AXI_STREAM  src_axi, dst_axi;
      IplImage2AXIvideo(src, src_axi);
      hls_video_scaler_top(src_axi, dst_axi, src->height, src->width,s.height,s.width);


      AXIvideo2IplImage(dst_axi, dst);


      cvShowImage("src",src);
      cvShowImage("dst_hls",dst);
      waitKey(0);


      return 0;
}

測試圖片test1.jpg(Test Bench中添加):雙擊打開圖片,右擊->屬性->查看圖片原始分辨率。

1.4.2 綜合和仿真

1、綜合報告如下:

ab934dbe-4922-11ed-a3b6-dac502259ad0.jpg

2、仿真測試如下:直接單擊開始進行仿真。可以看到原始的圖片和經過縮放的圖片

1) 縮小的圖片(分辨率420x264)

2) 原始圖片(分辨率840x528)

3)放大后的圖片(1920x1080)

從仿真結果可以看出,縮放后,圖片雖然有拉長或變短,但是圖像仍然比較清晰。

3、導出封裝好的IP

導出供VIVADO使用的IP。

1.4 硬件工程創建1.4.1 硬件平臺搭建

本章使用的硬件工程,在OV5640 VDMA圖像傳輸的基礎上進行修改。將HLS生成的IP添加工程中,將Video In to AXI4-Stream的輸出接口與HLS IP的輸入接口連接,HLS IP的輸出接口與VDMA的AXIS接口連接。

ac1dc124-4922-11ed-a3b6-dac502259ad0.jpg

重新編譯工程,并導入SDK。

1.4.2 SDK工程修改

#include"I2C_16bit.h"
#include"xiicps.h"
#include"xil_io.h"
#include"xparameters.h"
#include"xhls_video_scaler_top.h"

#defineXPAR_HLS_VIDEO_SCALER_TOP_DEVICE_ID XPAR_HLS_VIDEO_SCALER_TOP_0_DEVICE_ID
#defineVDMA_BASEADDR XPAR_AXI_VDMA_0_BASEADDR

#defineVIDEO_BASEADDR0 0x01000000
#defineVIDEO_BASEADDR1 0x02000000
#defineVIDEO_BASEADDR2 0x03000000
//VDMA分辨率設置
#defineH_ACTIVE 1280
#defineV_ACTIVE 720
#defineH_STRIDE 1280

XHls_video_scaler_top XHls_video_scaler;
XIicPs Iic;
// HLSIP初始化
voidXHls_video_scaler_initialize(void)
{
intstatus;

status=XHls_video_scaler_top_Initialize(&XHls_video_scaler, XPAR_HLS_VIDEO_SCALER_TOP_DEVICE_ID);
if(0!=status)
{
xil_printf("XPAR_HLS_VIDEO_SCALER FAILED ");
}
}
// HLS IP參數設置
voidXHls_video_scaler_setup(u16row,u16col,u16drow,u16dcol)
{
XHls_video_scaler_top_SetRows(&XHls_video_scaler,row);
XHls_video_scaler_top_SetCols(&XHls_video_scaler, col);
XHls_video_scaler_top_SetDrows(&XHls_video_scaler, drow);
XHls_video_scaler_top_SetDcols(&XHls_video_scaler, dcol);
XHls_video_scaler_top_InterruptGlobalDisable(&XHls_video_scaler);
XHls_video_scaler_top_EnableAutoRestart(&XHls_video_scaler);
XHls_video_scaler_top_Start(&XHls_video_scaler);

}

voidmain()
{
// Initialize OV5640regesiter
I2C_config_init();

//Initialize XHls_video_scalerIp
XHls_video_scaler_initialize();
//set input and output resolution ratio
XHls_video_scaler_setup(720,1280,1080,1920);

//Xil_Out32((VDMA_BASEADDR + 0x030), 0x108B);// enable circular mode
Xil_Out32((VDMA_BASEADDR + 0x030), 0x108B);// enable circular mode
Xil_Out32((VDMA_BASEADDR + 0x0AC), VIDEO_BASEADDR0); // start address
Xil_Out32((VDMA_BASEADDR + 0x0B0), VIDEO_BASEADDR1); // start address
Xil_Out32((VDMA_BASEADDR + 0x0B4), VIDEO_BASEADDR2); // start address
Xil_Out32((VDMA_BASEADDR + 0x0A8), (H_STRIDE*3)); // h offset (H_STRIDE* 3) bytes
Xil_Out32((VDMA_BASEADDR + 0x0A4), (H_ACTIVE*3)); // h size (H_ACTIVE * 3) bytes
Xil_Out32((VDMA_BASEADDR + 0x0A0), V_ACTIVE); // v size (V_ACTIVE)
/*****************從DDR讀數據設置**********************/
Xil_Out32((VDMA_BASEADDR + 0x000), 0x8B); // enable circular mode
Xil_Out32((VDMA_BASEADDR + 0x05c), VIDEO_BASEADDR0); // start address
Xil_Out32((VDMA_BASEADDR + 0x060), VIDEO_BASEADDR1); // start address
Xil_Out32((VDMA_BASEADDR + 0x064), VIDEO_BASEADDR2); // start address
Xil_Out32((VDMA_BASEADDR + 0x058), (H_STRIDE*3)); // h offset (H_STRIDE * 3) bytes
Xil_Out32((VDMA_BASEADDR + 0x054), (H_ACTIVE*3)); // h size (H_ACTIVE * 3) bytes
Xil_Out32((VDMA_BASEADDR + 0x050), V_ACTIVE); // v size (V_ACTIVE)

while(1) ;
}

這里需要注意,OV5640攝像頭的分辨率是720P,VDMA視頻流配置的分辨率也是720P。VDMA輸出的視頻流經過HLS 縮放IP后,調整了輸出顯示的分辨率。

XHls_video_scaler_initialize()和XHls_video_scaler_setup(720,1280,1080,1920)用于HLS IP初始化和參數設置。輸入圖像的分辨率是720P,輸出圖像顯示的分辨率是1080P。

1.5 驗證測試

使用OV5640攝像頭拍攝同一副圖片,對比直接輸出圖像和經過HLS縮放IP的圖像。

1.5.1 放大測試

(1)720P分辨率圖像輸入,1080P分辨率圖像輸出,未使用HLS IP對輸入進行縮放處理,效果如下。

可以看到圖像顯示僅占據一部分界面,這是因為輸出分辨率大于輸入分辨率。輸入圖像僅占據輸出圖像的一部分。

1)未經過HLS縮放IP處理

(2)720P分辨率圖像輸入,采集圖像經過HLS IP處理放大到1080P輸出。

可以看到經過HLS 縮放IP處理后的圖像被放大,但是圖像整理放大后畫面仍然清晰。

2)經過HLS縮放IP放大處理后的圖像

LCD屏放大測試

640X480分辨率輸入,1024x600分辨率輸出??梢钥闯鼋涍^放大后的圖像可以在整個界面顯示。

3)未經過HLS 縮放IP處理

4)經過HLS 縮放IP處理

1.5.2 縮小測試

拍攝同一視角,720P圖像輸入,640X480分辨率輸出。使用縮放IP,顯示完整的圖像,而不適用縮放IP,圖像僅部分顯示,這是因為輸入輸出分辨率不一致,僅部分輸出。縮小后的圖像任然清晰。

5)未經過HLS 縮放IP處理

6)經過HLS 縮放IP處理

小結:

HLS 生成的縮放IP可以在一定程度上放大或縮小圖像,并且不失真,但是同時與純FPGA編寫的代碼實現,HLS消耗的資源也是需要考慮的一個重要問題。這里我們會在后面進行討論。

審核編輯:湯梓紅

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 視頻
    +關注

    關注

    6

    文章

    1942

    瀏覽量

    72884
  • IP
    IP
    +關注

    關注

    5

    文章

    1701

    瀏覽量

    149503
  • HLS
    HLS
    +關注

    關注

    1

    文章

    129

    瀏覽量

    24097

原文標題:基于HLS的視頻縮放方案

文章出處:【微信號:Hack電子,微信公眾號:Hack電子】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    通過HLS封裝縮放IP實現視頻圖像縮放技術

    放大測試:將640x480分辨率圖像放大到1024x600 縮小測試:將720P分辨率圖像縮小到640x480。 實現縮放IP主要用于
    的頭像 發表于 11-14 12:10 ?4126次閱讀
    通過<b class='flag-5'>HLS</b><b class='flag-5'>封裝</b>的<b class='flag-5'>縮放</b><b class='flag-5'>IP</b><b class='flag-5'>來</b><b class='flag-5'>實現</b><b class='flag-5'>視頻</b><b class='flag-5'>圖像</b><b class='flag-5'>縮放</b>技術

    基于PGL22G芯片的scaler圖像縮放技術詳解

    Scaler(圖像縮放),廣泛應用于視頻圖像處理領域,比如圖像處理器、電視墻、LED顯示屏等應用場景。紫光同創的scaler
    的頭像 發表于 10-22 09:31 ?7910次閱讀

    編程實現圖像縮放

    通過matlab編程實現圖像縮放
    發表于 05-14 20:45

    基于FPGA實現固定倍率的圖像縮放

    基于FPGA硬件實現固定倍率的圖像縮放,將2維卷積運算分解成2次1維卷積運算,對輸入原始圖像像素先進行行方向的卷積,再進行列方向的卷積,從而得到輸出
    發表于 05-09 15:52 ?35次下載
    基于FPGA<b class='flag-5'>實現</b>固定倍率的<b class='flag-5'>圖像</b><b class='flag-5'>縮放</b>

    FPGA實現視頻圖像縮放顯示

    FPGA實現視頻圖像縮放顯示,下來看看。
    發表于 08-29 15:02 ?29次下載

    采用多相位插值算法實現視頻圖像縮放及其在FPGA硬件平臺的驗證

    傳統的插值算法在視頻圖像縮放尤其是輸出高分辨率的視頻圖像時,對細節方面的處理性能較差。采用多相位插值算法
    發表于 11-16 11:48 ?5114次閱讀
    采用多相位插值算法<b class='flag-5'>實現</b><b class='flag-5'>視頻</b><b class='flag-5'>圖像</b><b class='flag-5'>縮放</b>及其在FPGA硬件平臺的驗證

    一種新穎的圖像縮放算法進行FPGA硬件實現

    本文選擇了一種新穎的圖像縮放算法進行FPGA硬件實現。該算法基于奇偶分解的思想,具有復雜度低、硬件需求小和縮放效果良好等突出優點。首先利用MATLAB對該算法進行了
    發表于 12-12 14:07 ?2次下載
    一種新穎的<b class='flag-5'>圖像</b><b class='flag-5'>縮放</b>算法進行FPGA硬件<b class='flag-5'>實現</b>

    圖像內容感知縮放的檢測方法研究

    針對可用于圖像篡改的內容感知縮放技術。本文提出了一種基于概率Map圖統計特征的內容感知縮放檢測算法.該算法利用概率Map圖反映圖像是否經過
    發表于 12-18 14:17 ?1次下載

    基于概率隨機裁剪的圖像縮放算法

    為提高圖像縮放的速度,提出一種結合閾值學習與依概率隨機裁剪的快速內容感知圖像縮放算法,通過計算圖像的重要度圖,利用徑向基函數(RBF, ra
    發表于 01-17 11:14 ?1次下載
    基于概率隨機裁剪的<b class='flag-5'>圖像</b><b class='flag-5'>縮放</b>算法

    移動終端的視頻圖像定點與縮放系統

    針對在移動終端自由縮放查看視頻細節的需求,提出移動終端的視頻圖像定點與縮放系統,包含手勢識別與越界糾正技術,詳細給出了系統框架和系統流程。手
    發表于 02-01 16:09 ?1次下載
    移動終端的<b class='flag-5'>視頻</b><b class='flag-5'>圖像</b>定點與<b class='flag-5'>縮放</b>系統

    如何利用FPGA硬件實現固定倍率的圖像縮放

    近年來,FPGA技術發展迅速,片內集成了PLL、硬件乘法器、存儲器,具有了實現優秀算法的充足資源。許多航空電子嵌入式圖像處理系統是由固定的視頻源和顯示設備組成,系統中圖像
    發表于 08-18 09:36 ?4599次閱讀

    使用FPGA實現視頻圖像縮放顯示的設計論文說明

    對幾種常用的圖像縮放算法進行了比較,在權衡了算法復雜度、縮放效果和FPGA 邏輯資源等3大因素后,選擇了雙線性插值算法實現
    發表于 01-25 14:51 ?6次下載
    使用FPGA<b class='flag-5'>實現</b><b class='flag-5'>視頻</b><b class='flag-5'>圖像</b><b class='flag-5'>縮放</b>顯示的設計論文說明

    如何使用FPGA實現高分辨實時監控圖像縮放的設計

    介紹了一種基于圖像的雙三次線性插值縮放算法的設計方法,并通過FPGA驗證了設計的可行性。重點討論了視頻縮放的插值算法,對兩種實現方法在硬件資
    發表于 02-05 15:54 ?7次下載

    如何使用FPGA實現數字X線圖像的實時縮放模塊

    本文介紹了一個自行設計的數字化x射線影像實時處理系統中實現圖像實時縮放的子系統。重點分析了縮放涉及的插值算法,設計并實現了基于FPGA的三次
    發表于 03-18 16:39 ?4次下載
    如何使用FPGA<b class='flag-5'>實現</b>數字X線<b class='flag-5'>圖像</b>的實時<b class='flag-5'>縮放</b>模塊

    如何使用FPGA實現圖像縮放算法的研究設計

    和scaler在FPD中工作過程的基礎上,采用自上而下(Top.down)的設計方法,給出了scaler的設計及FPGA驗證。該scaler支持不同分辨率圖像縮放,且縮放模式可調,也可以以I
    發表于 04-02 11:01 ?29次下載
    如何使用FPGA<b class='flag-5'>實現</b><b class='flag-5'>圖像</b><b class='flag-5'>縮放</b>算法的研究設計
    主站蜘蛛池模板: 情欲.美女高潮| 视频一区国产精戏刘婷30| 色狠狠色狠狠综合天天| 小小水蜜桃3视频在线观看| 中文字幕无码A片久久| 大桥未久电影在线| 精品麻豆一卡2卡三卡4卡乱码| 欧美久久综合网| 乌克兰美女x?x?y?y| 757一本到午夜宫| 国产成人精品男人的天堂网站| 久久亚洲精品AV成人无码| 色AV色婷婷66人妻久久久| 一区二区三区国产| 国产精品久久国产三级国不卡顿| 久久水蜜桃亚洲AV无码精品偷窥| 天天综合网网欲色| 99re6久久热在线播放| 狠狠色狠狠色综合系列| 日韩欧美视频一区二区| 91亚洲精品福利在线播放| 国产揄拍国产精品| 兽皇VIDEO另类HD| QVOD在线播放| 男人有噶坏| 最近高清中文字幕无吗免费看| 国语对白刺激真实精品| 四虎永久免费网址| 初中XXXXXL| 人驴交f ee欧美| qvod电影在线观看| 男人插曲女人的叫声| 2019中文字幕乱码免费| 精品国产乱码久久久久久上海公司| 小玲被公扒开腿| 国产自产第一区c国产| 天天爽夜夜爽夜夜爽| 国产精品97久久久久久AV色戒| 日本不卡一二三| 国产精品成人A蜜柚在线观看 | 俄罗斯粗大猛烈18P|