圖像插值算法

圖像插值算法

ID:38395785

大?。?20.15 KB

頁數(shù):79頁

時(shí)間:2019-06-11

圖像插值算法_第1頁
圖像插值算法_第2頁
圖像插值算法_第3頁
圖像插值算法_第4頁
圖像插值算法_第5頁
資源描述:

《圖像插值算法》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。

1、CSDN&ITeye招賢榜新版下載頻道用戶權(quán)限及積分規(guī)則詳解bShare分享,迅速提升10倍流量圖形圖像處理-之-高質(zhì)量的快速的圖像縮放下篇三次線性插值和MipMap鏈2007-04-0316:29477人閱讀評(píng)論(0)收藏舉報(bào)圖形圖像處理-之-高質(zhì)量的快速的圖像縮放下篇三次線性插值和MipMap鏈HouSisong@263.net2007.03.13tag:圖像縮放、速度優(yōu)化、定點(diǎn)數(shù)優(yōu)化、近鄰取樣插值、二次線性插值、三次線性插值、MipMap鏈、三次卷積插值、MMX/SSE優(yōu)化、CPU緩存優(yōu)化摘要:

2、首先給出一個(gè)基本的圖像縮放算法,然后一步一步的優(yōu)化其速度和縮放質(zhì)量;高質(zhì)量的快速的圖像縮放全文分為:上篇近鄰取樣插值和其速度優(yōu)化中篇二次線性插值和三次卷積插值下篇三次線性插值和MipMap鏈正文:A:對(duì)于前一篇文章中的二次線性插值、三次卷積插值算法,但它們處理縮小到0.5倍以下的時(shí)候效果就會(huì)越來越差;這是因?yàn)椴逯档臅r(shí)候自考慮了附近點(diǎn)的原因;如下圖:原圖近鄰取樣縮放到0.4倍縮放到0.2倍縮放到0.1倍二次線性插值縮放到0.4倍縮放到0.2倍縮放到0.1倍三次卷積插值縮放到0.4倍縮放到0.2倍縮放到0

3、.1倍可以看出:當(dāng)縮小的比例很大的時(shí)候,插值算法的效果和近鄰取樣的效果差不多了:(;一種可行的解決方案就是:縮小時(shí)考慮更多的點(diǎn);但這種解決方案有很多缺點(diǎn):函數(shù)編寫麻煩,速度也許會(huì)很慢,優(yōu)化也不容易做;還有一個(gè)方案就是預(yù)先建立一個(gè)縮放好的大小不同的圖片列表,每一張圖片都是前一張的0.5倍(這種圖片列表就是MipMap鏈),縮放的時(shí)候根據(jù)需要縮放的比例從表中選擇一張大小接近的圖片來作為縮放的源圖片;該方案的優(yōu)點(diǎn):不需要編寫新的底層縮放算法,直接使用前面優(yōu)化好的插值算法;缺點(diǎn):需要預(yù)先建立MipMap鏈,它

4、需要時(shí)間,并且它的儲(chǔ)存需要多占用原圖片的1/3空間(0.5^2+0.5^4+0.5^6+...=1/3);還有一個(gè)不太明顯的小問題,就是在一張圖片的連續(xù)的比例不同的縮放中,選擇會(huì)從MipMap的一張?jiān)磮D片跳到另一張圖片,視覺效果上可能會(huì)有一個(gè)小的跳躍(我在《魔獸世界》里經(jīng)??吹竭@種效應(yīng):);一種改進(jìn)方案就是選擇MipMap圖片的時(shí)候,選擇出附近的兩張圖片作為縮放的源圖片;對(duì)兩張圖片單獨(dú)進(jìn)行插值(和原來一致)輸出兩個(gè)值,然后把這兩個(gè)值線性插值為最終結(jié)果;還有一個(gè)比較大的缺點(diǎn)就是當(dāng)縮放比例不均勻時(shí)(比如x

5、軸放大y軸縮小),縮放效果也不好;(當(dāng)前很多顯卡都提供了MipMap紋理和對(duì)應(yīng)的插值方案,OpenGL和DirectX都提供了操作接口)("三次線性插值和MipMap鏈"其實(shí)比較簡(jiǎn)單,這里只給出關(guān)鍵代碼或算法)B:MipMap圖片的生成:原圖片縮放到0.5倍(寬和高都為原圖片的1/2),在把0.5倍的圖片縮放到0.25倍,....直到寬和高都為1個(gè)像素,如果有一個(gè)長(zhǎng)度先到1就保持1;縮放過程中,可以可采用前面的縮放插值算法;如果為了速度可以考慮這樣的方案,要求原圖片的寬和高必須是2的整數(shù)次方的數(shù)值,縮

6、放時(shí)就可以直接將2x2的像素快速合并為一個(gè)像素(如果允許原圖片寬和高為任何值,可以考慮在合并時(shí)引入Alpha通道);C:MipMap鏈圖片的儲(chǔ)存方案:MipMap鏈圖片示意圖可能的一種物理儲(chǔ)存方案(我對(duì)每張圖片加了一個(gè)邊框)D:定義MipMap數(shù)據(jù)結(jié)構(gòu):MipMap數(shù)據(jù)結(jié)構(gòu)可以定義為一個(gè)TPicRegion數(shù)組和該數(shù)組的大小;(MipMap圖片的儲(chǔ)存參見上面的圖示)比如:#includetypedefstd::vectorTMipMap;//其中,第一個(gè)元素TM

7、ipMap[0]指向原始圖片,后面的依次為縮小圖片;E:MipMap的選擇函數(shù)和偏好:在進(jìn)行縮放時(shí),根據(jù)目標(biāo)圖片緩沖區(qū)的大小來動(dòng)態(tài)的選者M(jìn)ipMap中的一幅圖片來作為源圖片;這就需要一個(gè)選擇函數(shù);比如:longSelectBestPicIndex(constTMipMap&mip,constlongdstWidth,constlongdstHeight){longoldS=mip[0].width*mip[0].height;longdstS=dstWidth*dstHeight;if((dstS>=

8、oldS)

9、

10、(mip.size()==1))return0;elseif(dstS<=1)returnmip.size()-1;elsereturn(long)(log(oldS/dstS)*0.5+0.5);}選擇函數(shù)可以增加一個(gè)偏好參數(shù):mip選擇偏好:0.5沒有偏好,靠近0偏向選擇小圖片,靠近1偏向選擇大圖片(質(zhì)量好一些)floatpublic_mip_bias=0.5;//[0..1]longSelectBestPicIndex(constTM

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無此問題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。