最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

FPGA圖像處理開源項(xiàng)目 – 圖像旋轉(zhuǎn) & 雙線性插值

2023-08-15 21:34 作者:cjx_bilibili  | 我要投稿

本文開源一個FPGA圖像處理相關(guān)的項(xiàng)目:圖像旋轉(zhuǎn)。圖像旋轉(zhuǎn)算法本身非常簡單,但是如果想讓旋轉(zhuǎn)之后的圖像更加完整、平滑,還需要進(jìn)行雙線性插值處理,因此整個算法FPGA實(shí)現(xiàn)起來還是有一定難度的。文章末尾有該項(xiàng)目源碼獲取方式,有需要的小伙伴可以收藏、分享、支持一下~

算法流程

圖像旋轉(zhuǎn)算法可以有兩種思路:一種是前向映射,就是由原始圖像出發(fā),將像素點(diǎn)傳遞給旋轉(zhuǎn)后的圖像;另一種是反向映射,就是從旋轉(zhuǎn)后的圖像出發(fā),找到原始圖像對應(yīng)像素點(diǎn),然后通過雙線性插值算法使旋轉(zhuǎn)后圖像更清晰完整。由于前者會丟失很多圖像信息,因此在本項(xiàng)目中采用后者。算法流程圖如下。

原理簡介

輸入圖像分辨率默認(rèn)為256*256,算法處理的是以128為半徑內(nèi)切圓區(qū)域。

輸出圖像一維坐標(biāo)為i[0,65535],假設(shè)圖像逆時針旋轉(zhuǎn)θ得到輸出圖像,對應(yīng)的輸入圖像旋轉(zhuǎn)坐標(biāo)(X,Y)則可以表示成:

X=(i%256-128)*cos(θ)+(128-i/256)*sin(θ)

Y=-(i%256-128)*sin(θ)+(128-i/256)*cos(θ)首先,對(X,Y)向下取整得到(xx,yy),小數(shù)部分表示為(dx,dy),將(xx,yy)轉(zhuǎn)換到輸出圖像坐標(biāo)系下為:

xx=xx+128;

yy=128-yy;

進(jìn)行雙線性插值處理:

I(xx,yy)=(1-dx)(1-dy)I(xx,yy)+ (1-dx)dyI(xx,yy-1)+dx(1-dy)I(xx+1,yy)+dxdyI(xx+1,y-1)

浮點(diǎn)數(shù)定點(diǎn)化處理:

  • sin(θ)和cos(θ)值為乘以8192取整后的結(jié)果;

  • 將上式中dx,dy項(xiàng)定義為8位整數(shù),1改為255參與運(yùn)算,最后將計(jì)算結(jié)果向右平移16位。

IP核配置

該Vivado工程用到的IP主要是?Multiplier,用于乘法運(yùn)算。

  • Signed_16bit * Signed_16bit

  • Unsigned_9bit * Unsigned_9bit

  • Unsigned_18bit?*?Unsigned_16bit

測試結(jié)果

下方左側(cè)圖像為256*256大小的原始測試圖像,右側(cè)為順時針旋轉(zhuǎn)30°后的結(jié)果。其中只處理了內(nèi)切圓區(qū)域內(nèi)的圖像,其余部分像素賦值為零。

Verilog代碼的Vivado仿真結(jié)果如下所示。

源碼獲取方式

需要本工程源碼的小伙伴,請關(guān)注微信公眾號?FPGA Zone?,后臺發(fā)送?像旋?,即可獲取下載鏈接。

FPGA圖像處理開源項(xiàng)目 – 圖像旋轉(zhuǎn) & 雙線性插值的評論 (共 條)

分享到微博請遵守國家法律
绥宁县| 通道| 深水埗区| 南雄市| 浏阳市| 西乡县| 塔城市| 会理县| 林甸县| 铜梁县| 南平市| 米泉市| 成都市| 乳山市| 甘洛县| 兖州市| 济宁市| 化州市| 定西市| 高碑店市| 北碚区| 保亭| 大余县| 景洪市| 根河市| 大埔区| 和平区| 丰台区| 乾安县| 新密市| 黑水县| 通海县| 滨海县| 石林| 常熟市| 泽库县| 闵行区| 凤山县| 库车县| 涟源市| 横峰县|