国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種雙三次插值誤差累積消除方法及裝置的制造方法

      文檔序號(hào):9668105閱讀:700來(lái)源:國(guó)知局
      一種雙三次插值誤差累積消除方法及裝置的制造方法
      【技術(shù)領(lǐng)域】
      [0001]本發(fā)明屬于圖像處理技術(shù)領(lǐng)域,尤其涉及一種用于圖像縮放的雙三次插值誤差累 積消除方法及裝置。
      【背景技術(shù)】
      [0002] 圖像縮放在數(shù)字圖像處理中很常見(jiàn),在安防產(chǎn)品的應(yīng)用中也很廣泛。圖像縮放算 法可分為基于邊緣的圖像縮放算法和不基于邊緣的圖像縮放算法。前者縮放后的視覺(jué)效果 很好,但硬件實(shí)現(xiàn)難度大;后者縮放后的視覺(jué)效果稍差,但易于用硬件實(shí)現(xiàn),因此在工程上 被廣泛采用。常見(jiàn)的不基于邊緣的圖像縮放算法有雙線性插值算法和雙三次插值算法。相 比之下,基于雙三次插值算法的圖像縮放效果更佳,但硬件資源開(kāi)銷(xiāo)較大。
      [0003]雙三次插值算法的基本原理是:對(duì)于等間隔的已知采樣點(diǎn)X-1,XQ,XI,X2,其采樣值 為f(X-l)、f(XQ)、f(Xl)、f(X2),x為待求插值點(diǎn),插值計(jì)算值為f(x),所求插值點(diǎn)可以用表達(dá) 另
      I示,BP插值結(jié)果f(x)等于各采樣值f(x-1)、f(x〇)、f(xi)、f (X2 )的加權(quán)求和,其中u(Sk)為加權(quán)系數(shù),Sk為x到Xk的歸一化距離。
      [0004]將雙三次插值算法移植到二維圖像上,如圖1所示,利用表達(dá)式
      ~可以先在水平方向上根據(jù);^0、;^1、€2、€3計(jì)算出?(),根據(jù)€4、;^5、 ;1^6、;^7計(jì)算出?1,根據(jù)€8、€9、;^10、;^11計(jì)算出?2,根據(jù);^12、;^13、€14、;^15計(jì)算出?3,然后根據(jù)?〇、?1、F2、F3計(jì)算出最后的結(jié)果F。從而實(shí)現(xiàn)圖像的縮放。
      [0005]在圖像縮放中,根據(jù)雙三次插值計(jì)算公另
      旨值點(diǎn)X的 定位非常關(guān)鍵,很明顯插值點(diǎn)X的位置決定插值點(diǎn)到4個(gè)采樣點(diǎn)的距離u(sk),甚至影響到能 否準(zhǔn)確找到4個(gè)采樣點(diǎn)f(xk)。如圖2所示,縮放前原始圖像從0開(kāi)始按非負(fù)整數(shù)編號(hào),形成的 坐標(biāo)區(qū)間,采樣點(diǎn)和插值點(diǎn)都在這個(gè)坐標(biāo)區(qū)間內(nèi);原始點(diǎn)就是縮放前的12個(gè)像素點(diǎn),采樣 點(diǎn)取自原始點(diǎn);插值點(diǎn)就是縮放后的像素點(diǎn),插值點(diǎn)的個(gè)數(shù)取決于縮放比例,如12個(gè)點(diǎn)放大 2倍插值點(diǎn)就有24個(gè)點(diǎn)。
      [0006]對(duì)所有插值點(diǎn)從0進(jìn)行編號(hào),每個(gè)插值點(diǎn)有一個(gè)編號(hào),如0、1、……23。其中步長(zhǎng)就 是坐標(biāo)區(qū)間內(nèi)相鄰插值點(diǎn)之間的距離,體現(xiàn)到坐標(biāo)區(qū)間內(nèi),由于相鄰原始點(diǎn)之間距離為1, 因此"步長(zhǎng)=原始點(diǎn)個(gè)數(shù)/插值點(diǎn)個(gè)數(shù)=1/縮放比",如12到達(dá)到24,縮放比為2,步長(zhǎng)=12/ 24 = 1/2 = 0.5〇
      [0007]顯然插值點(diǎn)的定位其實(shí)就是插值點(diǎn)坐標(biāo)計(jì)算,顯然:插值點(diǎn)坐標(biāo)=插值點(diǎn)編號(hào)*步 長(zhǎng)。如圖2中,編號(hào)為5的插值點(diǎn),其,坐標(biāo)= 5*0.5 = 2.5,進(jìn)一步可以定位到4個(gè)采樣點(diǎn)坐標(biāo): 1、2、3、4,相應(yīng)的81{為1.5、0.5、0.5、1.5 ;再如編號(hào)為14的插值點(diǎn),其,坐標(biāo)=14*0.5 = 7,進(jìn) 一步可以定位到4個(gè)采樣點(diǎn)坐標(biāo):6、7、8、9,相應(yīng)的sk為1、0、0、2。
      [0008]然當(dāng)"1/縮放比"不能被除盡時(shí),如1/3、1/7等,會(huì)產(chǎn)生無(wú)限位小數(shù),在工程實(shí)現(xiàn)中 必須有小數(shù)位取舍,形成誤差,這種舍入誤差將影響4個(gè)采樣點(diǎn)的距離u(sk),甚至影響到能 否準(zhǔn)確找到4個(gè)采樣點(diǎn)f(xk)。舍入后的實(shí)際步長(zhǎng)與理論步長(zhǎng)存在差異,導(dǎo)致某些插值點(diǎn)坐 標(biāo)嚴(yán)重偏離,產(chǎn)生誤差。
      [0009] 現(xiàn)有技術(shù)在消除誤差方面,方法一是先做除法舍入,再做步長(zhǎng)累加,便于FPGA實(shí) 現(xiàn),但是誤差累積;方法二是先做步長(zhǎng)累積,再做除法舍入,誤差不累積,但是FPGA資源開(kāi)銷(xiāo) 大。方法一的問(wèn)題是插值點(diǎn)編號(hào)越大,誤差累積越大,當(dāng)誤差累積到一定程度后,采樣點(diǎn)xk 和采樣點(diǎn)距離sk都會(huì)嚴(yán)重偏離,導(dǎo)致圖像出現(xiàn)橫豎條紋。方法二的問(wèn)題是乘法器和除法器 位寬都比較寬,很消耗FPGA資源,而且邏輯實(shí)現(xiàn)除法器不光資源開(kāi)銷(xiāo)大,而且時(shí)序控制難, 延遲大。

      【發(fā)明內(nèi)容】

      [0010] 本發(fā)明的目的是提供一種雙三次插值誤差累積消除方法及裝置,用于消除誤差累 積,同時(shí)又不需要復(fù)雜的FPGA實(shí)現(xiàn)電路。
      [0011 ]為了實(shí)現(xiàn)上述目的,本發(fā)明技術(shù)方案如下:
      [0012] 一種雙三次插值誤差累積消除方法,所述方法包括:
      [0013] 根據(jù)設(shè)定的縮放比,確定進(jìn)行補(bǔ)償?shù)牡诙a(bǔ)償循環(huán)值;
      [0014] 在插值時(shí),初始化首個(gè)插值點(diǎn)坐標(biāo)與首個(gè)原始點(diǎn)坐標(biāo)一致,并設(shè)置第二計(jì)數(shù)器為 〇,插值點(diǎn)計(jì)數(shù)器為〇,開(kāi)始對(duì)插值點(diǎn)進(jìn)行計(jì)數(shù),每增加一個(gè)插值點(diǎn)第二計(jì)數(shù)器、插值點(diǎn)計(jì)數(shù) 器均加1,當(dāng)?shù)诙?jì)數(shù)器計(jì)數(shù)達(dá)到第二補(bǔ)償循環(huán)值減一時(shí),對(duì)當(dāng)前插值點(diǎn)坐標(biāo)進(jìn)行補(bǔ)償,并 對(duì)第二計(jì)數(shù)器進(jìn)行清零,繼續(xù)進(jìn)行計(jì)數(shù)和插值直至完成插值。
      [0015] 其中,在縮放比是放大時(shí),所述第二補(bǔ)償循環(huán)值等于縮放比,在縮放比是縮小時(shí), 所述第二補(bǔ)償循環(huán)值等于1/縮放比,所述當(dāng)?shù)诙?jì)數(shù)器計(jì)數(shù)達(dá)到第二補(bǔ)償循環(huán)值減一時(shí), 對(duì)當(dāng)前插值點(diǎn)坐標(biāo)進(jìn)行補(bǔ)償,其中:
      [0016]當(dāng)前插值點(diǎn)坐標(biāo)=插值點(diǎn)計(jì)數(shù)器計(jì)數(shù)值*理論步長(zhǎng);
      [0017] 所述理論步長(zhǎng)=1/縮放比。
      [0018] 進(jìn)一步地,所述方法還包括:
      [0019] 根據(jù)設(shè)定的補(bǔ)償值和縮放比,確定進(jìn)行補(bǔ)償?shù)牡谝谎a(bǔ)償循環(huán)值;
      [0020] 在初始化首個(gè)插值點(diǎn)坐標(biāo)與首個(gè)原始點(diǎn)坐標(biāo)一致時(shí),還設(shè)置第一計(jì)數(shù)器為0,開(kāi)始 對(duì)插值點(diǎn)進(jìn)行計(jì)數(shù),每增加一個(gè)插值點(diǎn)第一計(jì)數(shù)器加1,當(dāng)?shù)谝挥?jì)數(shù)器計(jì)數(shù)達(dá)到第一補(bǔ)償循 環(huán)值減一時(shí),對(duì)當(dāng)前插值點(diǎn)坐標(biāo)根據(jù)第一補(bǔ)償循環(huán)值進(jìn)行補(bǔ)償,并對(duì)第一計(jì)數(shù)器進(jìn)行清零, 繼續(xù)進(jìn)行計(jì)數(shù)和插值直至完成插值;
      [0021] 所述當(dāng)?shù)诙?jì)數(shù)器計(jì)數(shù)達(dá)到第二補(bǔ)償循環(huán)值減一時(shí),對(duì)當(dāng)前插值點(diǎn)坐標(biāo)進(jìn)行補(bǔ)償 之后,還對(duì)第一計(jì)數(shù)器進(jìn)行清零。
      [0022]其中,所述第一補(bǔ)償循環(huán)值根據(jù)如下公式計(jì)算:
      [0023]第一補(bǔ)償循環(huán)值=R0UND(補(bǔ)償值/單步誤差);
      [0024] 單步誤差=理論步長(zhǎng)-實(shí)際步長(zhǎng);
      [0025] 所述實(shí)際步長(zhǎng)=R0UNDD0WN(理論步長(zhǎng))=R0UNDD0WN(1/縮放比)。
      [0026] 進(jìn)一步地,所述當(dāng)?shù)谝挥?jì)數(shù)器計(jì)數(shù)達(dá)到第一補(bǔ)償循環(huán)值減一時(shí),對(duì)當(dāng)前插值點(diǎn)坐 標(biāo)根據(jù)第一補(bǔ)償循環(huán)值進(jìn)行補(bǔ)償,其中:
      [0027] 當(dāng)前插值點(diǎn)坐標(biāo)=前一插值點(diǎn)坐標(biāo)+實(shí)際步長(zhǎng)+補(bǔ)償值。
      [0028]本發(fā)明還同時(shí)提出了一種雙三次插值誤差累積消除裝置,所述裝置包括:
      [0029] 初始化模塊,用于根據(jù)設(shè)定的縮放比,確定進(jìn)行補(bǔ)償?shù)牡诙a(bǔ)償循環(huán)值;
      [0030] 插值模塊,用于在插值時(shí),初始化首個(gè)插值點(diǎn)坐標(biāo)與首個(gè)原始點(diǎn)坐標(biāo)一致,并設(shè)置 第二計(jì)數(shù)器為0,插值點(diǎn)計(jì)數(shù)器為0,開(kāi)始對(duì)插值點(diǎn)進(jìn)行計(jì)數(shù),每增加一個(gè)插值點(diǎn)第二計(jì)數(shù) 器、插值點(diǎn)計(jì)數(shù)器均加1,當(dāng)?shù)诙?jì)數(shù)器計(jì)數(shù)達(dá)到第二補(bǔ)償循環(huán)值減一時(shí),對(duì)當(dāng)前插值點(diǎn)坐 標(biāo)進(jìn)行補(bǔ)償,并對(duì)第二計(jì)數(shù)器進(jìn)行清零,繼續(xù)進(jìn)行計(jì)數(shù)和插值直至完成插值。
      [0031] 進(jìn)一步地,所述初始化模塊還用于根據(jù)設(shè)定的補(bǔ)償值和縮放比,確定進(jìn)行補(bǔ)償?shù)?第一補(bǔ)償循環(huán)值;所述插值模塊還用于在初始化首個(gè)插值點(diǎn)坐標(biāo)與首個(gè)原始點(diǎn)坐標(biāo)一致 時(shí),還設(shè)置第一計(jì)數(shù)器為0,開(kāi)始對(duì)插值點(diǎn)進(jìn)行計(jì)數(shù),每增加一個(gè)插值點(diǎn)第一計(jì)數(shù)器加1,當(dāng) 第一計(jì)數(shù)器計(jì)數(shù)達(dá)到第一補(bǔ)償循環(huán)值減一時(shí),對(duì)當(dāng)前插值點(diǎn)坐標(biāo)根據(jù)第一補(bǔ)償循環(huán)值進(jìn)行 補(bǔ)償,并對(duì)第一計(jì)數(shù)器進(jìn)行清零,繼續(xù)進(jìn)行計(jì)數(shù)和插值直至完成插值;
      [0032] 所述插值模塊在第二計(jì)數(shù)器計(jì)數(shù)達(dá)到第二補(bǔ)償循環(huán)值減一時(shí),對(duì)當(dāng)前插值點(diǎn)坐標(biāo) 進(jìn)行補(bǔ)償之后,還對(duì)第一計(jì)數(shù)器進(jìn)行清零。
      [0033] 本發(fā)明提出的一種雙三次插值誤差累積消除方法及裝置,采用兩層循環(huán)的方式來(lái) 補(bǔ)償/消除步長(zhǎng)誤差累積,F(xiàn)PGA實(shí)現(xiàn)電路簡(jiǎn)單,節(jié)省資源,能有效控制圖像縮放雙三次插值 由于步長(zhǎng)誤差累積導(dǎo)致的圖像橫豎紋現(xiàn)象。
      【附圖說(shuō)明】
      [0034]圖1為圖像縮放的雙三次插值算法基本原理圖;
      [0035]圖2為雙三次插值算法的插值點(diǎn)示意圖;
      [0036]圖3為本發(fā)明雙三次插值誤差累積消除方法流程圖;
      [0037]圖4本發(fā)明一個(gè)實(shí)施例插值示意圖。
      【具體實(shí)施方式】
      [0038]下面結(jié)合附圖和實(shí)施例對(duì)本發(fā)明技術(shù)方案做進(jìn)一步詳細(xì)說(shuō)明,以下實(shí)施例不構(gòu)成 對(duì)本發(fā)明的限定。
      [0039]本實(shí)施例一種雙三次插值誤差累積消除方法,對(duì)先做除法舍入再做步長(zhǎng)累加的現(xiàn) 有技術(shù)方案中出現(xiàn)的累積誤差進(jìn)行消除,即便于FPGA實(shí)現(xiàn),又能夠有效消除累積誤差?;?雙三次插值的基本原理,如果對(duì)圖像進(jìn)行放大處理,在縮放比SR確定時(shí),那么一定每隔SR個(gè) 插值點(diǎn),就會(huì)出現(xiàn)插值點(diǎn)與原始點(diǎn)重合的狀況;如果對(duì)圖像進(jìn)行縮小處理,那么一定每隔1/ SR個(gè)原始點(diǎn),就會(huì)出現(xiàn)插值點(diǎn)與原始點(diǎn)重合。從而可以在圖像放大時(shí),每隔SR個(gè)插值點(diǎn),采 用原始點(diǎn)坐標(biāo)作為插值點(diǎn)坐標(biāo),完成補(bǔ)償;在圖像縮小時(shí),每隔1/SR個(gè)原始點(diǎn),采用原始點(diǎn) 坐標(biāo)作為插值點(diǎn)坐標(biāo),完成補(bǔ)償。
      [0040] 如圖3所示,本實(shí)施例一種雙三次插值誤差累積消除方法,包括步驟:
      [0041] 步驟S1、根據(jù)設(shè)定的縮放比,確定進(jìn)行補(bǔ)償?shù)牡诙a(bǔ)償循環(huán)值
      當(dāng)前第1頁(yè)1 2 3 
      網(wǎng)友詢問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1