一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

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

3天內(nèi)不再提示

雙線性插值算法的講解

FPGA設(shè)計論壇 ? 來源:FPGA設(shè)計論壇 ? 作者:FPGA設(shè)計論壇 ? 2022-09-19 10:25 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

一、雙線性插值概述

雙線性插值作為OpenCV中默認使用的圖像縮放算法,其效果和速度都是不錯的。并且效果也比較穩(wěn)定,計算復(fù)雜度并不算太高。我看了很多網(wǎng)上的算法,自己也沒看太懂,下面是從網(wǎng)上找的雙線性插值 算法的講解。

“圖像的雙線性插值放大算法中,目標(biāo)圖像中新創(chuàng)造的象素值,是由源圖像位置在它附近的2*2區(qū)域4個鄰近象素的值通過加權(quán)平均計算得出的。雙線性內(nèi)插值算法放大后的圖像質(zhì)量較高,不會出現(xiàn)像素值不連續(xù)的的情況。然而此算法具有低通濾波器的性質(zhì),使高頻分量受損,所以可能會使圖像輪廓在一定程度上變得模糊?!?/p>

二、雙線性插值與最近鄰插值對比

雙線性插值算法和最近鄰插值算法比較類似。在最近鄰插值算法中,目標(biāo)圖像中的某個點(x,y)是去源圖像中找最鄰近的一個點(x0, y0)即可。目標(biāo)圖像中的點(x, y)對應(yīng)于源圖像中的點(x0',y0'),x0'、y0'很可能不是整數(shù),而是小數(shù),而最近鄰插值算法是找其鄰近整型值(int(x0'+0.5f),int(y0'+0.5f))(四舍五入處理)。

在雙線性插值中,我們現(xiàn)在找x0', y0'所在位置旁邊的四個點,再根據(jù)這四個點與(x0',y0')距離的關(guān)系得到權(quán)重值,最后計算出目標(biāo)圖像中(x,y)一點的像素值。

三、雙線性插值算法實現(xiàn)

算法描述如下:

(1)計算源圖像與目標(biāo)圖像寬與高的比例

w0 : 表示源圖像的寬度

h0 : 表示源圖像的高度

w1 : 表示目標(biāo)圖像的寬度

h1 : 表示目標(biāo)圖像的高度

float fw = float(w0-1)/(w1-1); //在FPGA實現(xiàn)中一般會進行四舍五入取整操作

float fh = float(h0-1)/(h1-1);

(2)針對目標(biāo)圖像的一個點(x, y),計算在源圖像中的對應(yīng)坐標(biāo),結(jié)果為浮點數(shù)。

float x0 = x * fw;

float y0 = y * fh;

int x1 = int(x0); //取整處理

int x2 = x1 + 1;

int y1 = int(y0);

int y2 = y1+1;

所求的源圖像中的四個點坐標(biāo)為(x1, y1) (x1, y2) (x2, y1) (x2,y2)

(3)求周圍四個點所占的權(quán)重比值

如上圖,

fx1 = x0 - x1;

fx2 = 1.0f - fx1;

fy1 = y0 - y1;

fy2 = 1.0f - fy1;

float s1 = fx1*fy1;

float s2 = fx2*fy1;

float s3 = fx2*fy2;

float s4 = fx1*fy2;

我們以value(坐標(biāo))來代表取得此點的坐標(biāo)值,則:

value(x0,y0) = value(x2,y2)*s1+value(x1,y2)*s2+value(x1,y1)*s3+value(x2,y1)*s4;

如果 對上述運算不夠明白 的話,可以這樣來求。

我們先要求得(x0, y1) 和(x0,y2)的像素值。

則float value(x0,y1) = value(x1,y1)*fx2 + value(x2,y1)*fx1;

float value(x0,y2) = value(x1,y2)*fx2 + value(x2,y2)*fx1;

注釋:離某點越近,離權(quán)重越大,故取其與1的差值。

float value(x0,y0) = value(x0,y1)*fy2 + value(x0,y2)*fy1;

驗證后與上邊公式一樣。

(4)求得值后填充到目標(biāo)圖像上就可以了。

我的理解:算法概念理解相對容易,但是如何在FPGA上實現(xiàn)卻需要考慮一些問題,在此提出大體構(gòu)架,日后再具體實現(xiàn)

1、算法中的浮點數(shù)運算,能否簡單的用四舍五入取整處理代替?

2、輸入的數(shù)據(jù)可以先緩存到兩塊RAM內(nèi),RAM0和RAM1進行乒乓操作,

當(dāng)RAM0緩存滿一行數(shù)據(jù)時,算法模塊可以讀取RAM0數(shù)據(jù)進行操作,

同時,RAM1緩存第二行數(shù)據(jù)。

3、在操作過程中,單獨的一行一行處理只能實現(xiàn)線性插值,也就是輸出數(shù)據(jù)只跟一行輸入數(shù)據(jù)有關(guān),如何實現(xiàn)4個臨近像素相關(guān)?

4、基于問題3,現(xiàn)有參考代碼是先進行垂直插值再進行水平插值,垂直插值輸出像素值和垂直插值權(quán)重,再將其作為輸入,進行水平

線性插值運算,最終得到目標(biāo)點像素值。

5、插值后的數(shù)據(jù)就可以進行后續(xù)操作最終輸出到HDMI

審核編輯 :李倩

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1646

    文章

    22054

    瀏覽量

    618800
  • 算法
    +關(guān)注

    關(guān)注

    23

    文章

    4711

    瀏覽量

    95439
  • 雙線性
    +關(guān)注

    關(guān)注

    0

    文章

    7

    瀏覽量

    7053

原文標(biāo)題:雙線性插值算法公式分析及FPGA實現(xiàn)初步構(gòu)架

文章出處:【微信號:gh_9d70b445f494,微信公眾號:FPGA設(shè)計論壇】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    ST NPI 專區(qū) | 雙通道汽車線性電壓調(diào)節(jié)器:L99VR02XP-TR 性能卓越,助力汽車電子創(chuàng)新

    雙通道汽車線性電壓調(diào)節(jié)器,輸出電壓可靈活配置(支持2x250mA電流能力)產(chǎn)品簡介L99VR02XP是一款專為汽車應(yīng)用設(shè)計的低壓降雙線性穩(wěn)壓器,采用PowerSSO-36封裝。該產(chǎn)品支持最高
    的頭像 發(fā)表于 07-09 10:00 ?759次閱讀
    ST NPI 專區(qū) | 雙通道汽車<b class='flag-5'>線性</b>電壓調(diào)節(jié)器:L99VR02XP-TR 性能卓越,助力汽車電子創(chuàng)新

    LOTO電流探頭線性度測量

    指標(biāo)亦稱為 "非線性誤差"。此越小,表明傳感器的線性特性越優(yōu)良。而"擬合曲線",是通過特定算法構(gòu)建的參考曲線,旨在為傳感器特性分析提供基準(zhǔn)。常用的擬合方法包括端基法、最小二乘法等,不
    的頭像 發(fā)表于 05-23 10:28 ?156次閱讀
    LOTO電流探頭<b class='flag-5'>線性</b>度測量

    LP87322E-Q1 適用于DDR3L的TDA3x處理器的汽車雙2-A降壓轉(zhuǎn)換器和雙線性穩(wěn)壓器數(shù)據(jù)手冊

    LP87322E-Q1 是一款專為汽車應(yīng)用設(shè)計的雙路高效降壓 DC/DC 轉(zhuǎn)換器及雙線性穩(wěn)壓器。該器件集成了兩個降壓轉(zhuǎn)換器(Buck0 和 Buck1)和兩個線性穩(wěn)壓器(LDO0 和 LDO1
    的頭像 發(fā)表于 04-25 16:08 ?351次閱讀
    LP87322E-Q1 適用于DDR3L的TDA3x處理器的汽車雙2-A降壓轉(zhuǎn)換器和<b class='flag-5'>雙線性</b>穩(wěn)壓器數(shù)據(jù)手冊

    LP87332D 工業(yè)雙3-A降壓轉(zhuǎn)換器和AM570x的雙線性穩(wěn)壓器數(shù)據(jù)手冊

    LP87332D 旨在滿足工業(yè)應(yīng)用中最新處理器和平臺的電源管理要求。該器件具有 2 個降壓型 DC/DC 轉(zhuǎn)換器、2 個線性穩(wěn)壓器和 2 個通用數(shù)字輸出信號。該設(shè)備由 I 控制^2^C 兼容串行接口和使能信號。
    的頭像 發(fā)表于 04-25 14:39 ?296次閱讀
    LP87332D 工業(yè)雙3-A降壓轉(zhuǎn)換器和AM570x的<b class='flag-5'>雙線性</b>穩(wěn)壓器數(shù)據(jù)手冊

    LP8733-Q1系列 汽車雙3-A降壓轉(zhuǎn)換器和雙線性穩(wěn)壓器數(shù)據(jù)手冊

    LP8733xx-Q1 旨在滿足汽車應(yīng)用中的電源管理要求。該器件具有兩個降壓 DC/DC 轉(zhuǎn)換器(可配置為單個雙相穩(wěn)壓器或兩個單相穩(wěn)壓器)、兩個線性穩(wěn)壓器和兩個通用數(shù)字輸出信號。該設(shè)備由 I 控制^2^C 兼容串行接口和使能信號。
    的頭像 發(fā)表于 04-25 11:13 ?350次閱讀
    LP8733-Q1系列 汽車雙3-A降壓轉(zhuǎn)換器和<b class='flag-5'>雙線性</b>穩(wěn)壓器數(shù)據(jù)手冊

    ZMC600E運動控制器直線和圓弧算法詳解

    導(dǎo)讀想深入了解ZMC600E運動控制器的算法嗎?空間直線插補適用于精確定位,圓弧補提供平滑曲線過渡。合理應(yīng)用這些算法,能提升多軸協(xié)同能力,保障工作精度與可靠性,讓工業(yè)自動化更高效
    的頭像 發(fā)表于 01-20 11:39 ?590次閱讀
    ZMC600E運動控制器直線和圓弧<b class='flag-5'>插</b>補<b class='flag-5'>算法</b>詳解

    請問DAC39J84內(nèi)部方式是0嗎?

    請問DAC39J84內(nèi)部方式是0嗎? 請問2x 4x 8x 16x 過程分別是怎樣
    發(fā)表于 01-03 06:41

    Teledyne Lecroy示波器算法

    示波器是通過內(nèi)部硬件ADC對模擬信號采樣來獲取離散的數(shù)據(jù)點,然而這些離散的數(shù)據(jù)點有時難以完整呈現(xiàn)出原始模擬信號的全貌。軟件算法的意義就在于,它能夠依據(jù)特定的數(shù)學(xué)算法,在已采集的數(shù)據(jù)
    的頭像 發(fā)表于 12-24 16:11 ?1310次閱讀

    DAC3482在字輸入模式下,F(xiàn)IFO的輸出時鐘速率為什么是DACCLK/2/因子?

    下圖是DAC3482中描述FIFO模塊的附圖,想問下這里在字輸入模式下,F(xiàn)IFO的輸出時鐘速率為什么是DACCLK/2/因子?
    發(fā)表于 12-20 16:31

    單線圈與雙線圈電機的區(qū)別及應(yīng)用解析

    電機作為一種廣泛應(yīng)用的機械設(shè)備,其種類和結(jié)構(gòu)多種多樣。在具體應(yīng)用中,根據(jù)不同的需求,可以選擇單線圈或雙線圈電機。這兩種電機在結(jié)構(gòu)、性能、控制方式以及應(yīng)用場景上存在顯著差異。以下是對它們的詳細解析
    的頭像 發(fā)表于 12-04 17:48 ?3097次閱讀
    單線圈與<b class='flag-5'>雙線</b>圈電機的區(qū)別及應(yīng)用解析

    eda中常用的數(shù)據(jù)處理方法

    奠定基礎(chǔ)。 數(shù)據(jù)清洗 缺失處理 數(shù)據(jù)集中的缺失是常見的問題。處理缺失的方法包括: 刪除 :直接刪除含有缺失的行或列。 填充 :用統(tǒng)計
    的頭像 發(fā)表于 11-13 10:57 ?910次閱讀

    雙線分音和單線分音的區(qū)別

    雙線分音和單線分音是音樂理論中的兩種不同的音高表示方法。它們在音樂創(chuàng)作、演奏和理論分析中都有廣泛的應(yīng)用。 一、雙線分音 概念 雙線分音是指在五線譜上,用兩條平行的線來表示音高的方法。這兩條線可以
    的頭像 發(fā)表于 08-23 10:43 ?1745次閱讀

    【「時間序列與機器學(xué)習(xí)」閱讀體驗】時間序列的信息提取

    模型效果與性能的過程。 時間序列的缺失填充方法有:法;回歸填充;均值/中位數(shù)/眾數(shù)填充;可以借助 Python 的 Pandas庫,通過前向填充、后向填充、線性插值、均值/中位
    發(fā)表于 08-17 21:12

    LM324N換成TL084CN無法得到正確的濾波曲線?為什么?

    LM324N換成TL084CN無法得到正確的濾波曲線? 所使用電路為全通KHN雙線性濾波器電路 供電+-5V雙電源 輸入為200mVpk的白噪音 取輸出/輸入的響應(yīng) LM324曲線對了 但TL084變高通了(改變不同曲線 只要更換TL084都會變高通)
    發(fā)表于 08-15 07:56

    DAC39J84使用模式遇到的疑問求解

    我在使用DAC39J84這款芯片時,目前使用模式,使用8411模式,外部pll時鐘輸入2.4G;遇到的問題是在2模式下,配置芯片是有DAC輸出信號的,但在是用4
    發(fā)表于 08-14 08:28