雙線性內(nèi)插值算法的原理解析_第1頁
雙線性內(nèi)插值算法的原理解析_第2頁
雙線性內(nèi)插值算法的原理解析_第3頁
雙線性內(nèi)插值算法的原理解析_第4頁
雙線性內(nèi)插值算法的原理解析_第5頁
已閱讀5頁,還剩1頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

圖像縮放的雙線性內(nèi)插值算法的原理解析圖像的縮放很好理解,就是圖像的放大和縮小。傳統(tǒng)的繪畫工具中,有一種叫做“放大尺”的繪畫工具,畫家常用它來放大圖畫。當(dāng)然,在計(jì)算機(jī)上,我們不再需要用放大尺去放大或縮小圖像了,把這個(gè)工作交給程序來完成就可以了。下面就來講講計(jì)算機(jī)怎么來放大縮小圖象;在本文中,我們所說的圖像都是指點(diǎn)陣圖,也就是用一個(gè)像素矩陣來描述圖像的方法,對(duì)于另一種圖像:用函數(shù)來描述圖像的矢量圖,不在本文討論之列。越是簡單的模型越適合用來舉例子,我們就舉個(gè)簡單的圖像:3X3的256級(jí)灰度圖,也就是高為3個(gè)象素,寬也是3個(gè)象素的圖像,每個(gè)象素的取值可以是0—255,代表該像素的亮度,255代表最亮,也就是白色,0代表最暗,即黑色。假如圖像的象素矩陣如下圖所示(這個(gè)原始圖把它叫做源圖,Source):234382267 44 1289 65 63這個(gè)矩陣中,元素坐標(biāo)(x,y)是這樣確定的,x從左到右,從0開始,y從上到下,也是從零開始,這是圖象處理中最常用的坐標(biāo)系,就是這樣一個(gè)坐標(biāo): >x|||||VY如果想把這副圖放大為4X4大小的圖像,那么該怎么做呢?那么第一步肯定想到的是先把4X4的矩陣先畫出來再說,好了矩陣畫出來了,如下所示,當(dāng)然,矩陣的每個(gè)像素都是未知數(shù),等待著我們?nèi)ヌ畛洌ㄟ@個(gè)將要被填充的圖的叫做目標(biāo)圖’Destination):然后要往這個(gè)空的矩陣?yán)锩嫣钪盗?,要填的值從哪里來來呢?是從源圖中來,好,先填寫目標(biāo)圖最左上角的象素,坐標(biāo)為(0,0),那么該坐標(biāo)對(duì)應(yīng)源圖中的坐標(biāo)可以由如下公式得出:srcX=dstX*(srcWidth/dstWidth),srcY=dstY*(srcHeight/dstHeight)好了,套用公式,就可以找到對(duì)應(yīng)的原圖的坐標(biāo)了(0*(3/4),0*(3/4))=>(0*0.75,0*0.75)=>(0,0),找到了源圖的對(duì)應(yīng)坐標(biāo),就可以把源圖中坐標(biāo)為(0,0)處的234象素值填進(jìn)去目標(biāo)圖的(0,0)這個(gè)位置了。接下來,如法炮制,尋找目標(biāo)圖中坐標(biāo)為(1,0)的象素對(duì)應(yīng)源圖中的坐標(biāo),套用公式:(1*0.75,0*0.75)=>(0.75,0)結(jié)果發(fā)現(xiàn),得到的坐標(biāo)里面竟然有小數(shù),這可怎么辦?計(jì)算機(jī)里的圖像可是數(shù)字圖像,象素就是最小單位了,象素的坐標(biāo)都是整數(shù),從來沒有小數(shù)坐標(biāo)。這時(shí)候采用的一種策略就是采用四舍五入的方法(也可以采用直接舍掉小數(shù)位的方法),把非整數(shù)坐標(biāo)轉(zhuǎn)換成整數(shù),好,那么按照四舍五入的方法就得到坐標(biāo)1,0),完整的運(yùn)算過程就是這樣的:(1*0.75,0*0.75)=>(0.75,0)=>(1,0)那么就可以再填一個(gè)象素到目標(biāo)矩陣中了,同樣是把源圖中坐標(biāo)為(1,0)處的像素值38填入目標(biāo)圖中的坐標(biāo)。依次填完每個(gè)象素,一幅放大后的圖像就誕生了,像素矩陣如下所示:234382222674412128965636389656363這種放大圖像的方法叫做最臨近插值算法,這是一種最基本、最簡單的圖像縮放算法,效果也是最不好的,放大后的圖像有很嚴(yán)重的馬賽克,縮小后的圖像有很嚴(yán)重的失真;效果不好的根源就是其簡單的最臨近插值方法引入了嚴(yán)重的圖像失真,比如,當(dāng)由目標(biāo)圖的坐標(biāo)反推得到的源圖的的坐標(biāo)是一個(gè)浮點(diǎn)數(shù)的時(shí)候,采用了四舍五入的方法,直接采用了和這個(gè)浮點(diǎn)數(shù)最接近的象素的值,這種方法是很不科學(xué)的,當(dāng)推得坐標(biāo)值為0.75的時(shí)候,不應(yīng)該就簡單的取為1,既然是0.75,比1要小0.25,比0要大0.75,那么目標(biāo)象素值其實(shí)應(yīng)該根據(jù)這個(gè)源圖中虛擬的點(diǎn)四周的四個(gè)真實(shí)的點(diǎn)來按照一定的規(guī)律計(jì)算出來的,這樣才能達(dá)到更好的縮放效果。雙線型內(nèi)插值算法就是一種比較好的圖像縮放算法,它充分的利用了源圖中虛擬點(diǎn)四周的四個(gè)真實(shí)存在的像素值來共同決定目標(biāo)圖中的一個(gè)像素值,因此縮放效果比簡單的最鄰近插值要好很多。雙線性內(nèi)插值算法描述如下:對(duì)于一個(gè)目的像素,設(shè)置坐標(biāo)通過反向變換得到的浮點(diǎn)坐標(biāo)為(i+u,j+v)(其中i、j均為浮點(diǎn)坐標(biāo)的整數(shù)部分,u、v為浮點(diǎn)坐標(biāo)的小數(shù)部分,是取值[0,1)區(qū)間的浮點(diǎn)數(shù)),則這個(gè)像素得值f(i+u,j+v)可由原圖像中坐標(biāo)為(i,j)、(i+1,j)、(i,j+1)、(i+1,j+1)所對(duì)應(yīng)的周圍四個(gè)像素的值決定,即:公式1f(i+u,j+v)=(1-u)(1-v)f(i,j)+(1-u)vf(i,j+1)+u(1-v)f(i+1,j)+公式1其中f(i,j)表示源圖像(i,j)處的的像素值,以此類推。比如,象剛才的例子,現(xiàn)在假如目標(biāo)圖的象素坐標(biāo)為(1,1),那么反推得到的對(duì)應(yīng)于源圖的坐標(biāo)是(0.75,0.75),這其實(shí)只是一個(gè)概念上的虛擬象素,實(shí)際在源圖中并不存在這樣一個(gè)象素,那么目標(biāo)圖的象素(1,1)的取值不能夠由這個(gè)虛擬象素來決定,而只能由源圖的這四個(gè)象素共同決定:(0,0)(0,1)(1,0)(1,1),而由于(0.75,0.75)離(1,1)要更近一些,那么(1,1)所起的決定作用更大一些,這從公式1中的系數(shù)uv=0.75x0.75就可以體現(xiàn)出來,而(0.75,0.75)離(0

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論