重新取樣將在您縮放圖片時(shí)更改圖像數據的數量。當縮減像素取樣(減少像素的數量)時(shí),將從圖像中刪除一些信息。當向上重新取樣(增加像素的數量或增加像素取樣)時(shí),將添加新的像素??梢灾付ú逯邓惴▉?lái)確定如何添加或刪除像素。
1. 最近相鄰插值算法/最近鄰法最近相鄰插值算法(NearestNeighbour Interpolation)一種速度快但精度低的圖像像素模擬方法。該法針對于二維圖像 “取待采樣點(diǎn)周?chē)?個(gè)相鄰像素點(diǎn)中距離最近的 1個(gè)鄰點(diǎn)的灰度值作為該點(diǎn)的灰度值”如圖(1)。該方法用于包含未消除鋸齒邊緣的插圖,以保留硬邊緣并生成較小的文件。但是,縮放圖片時(shí),缺少的像素通過(guò)直接使用與之最接近的原有像素的顏色生成,也就是說(shuō)照搬旁邊的像素,這樣做的結果是產(chǎn)生了明顯可見(jiàn)的鋸齒。
最近相鄰插值算法是最簡(jiǎn)單的一種插值算法,這種方法是當圖片放大時(shí),缺少的像素通過(guò)直接使用與之最接近的原有像素的顏色生成,也就是說(shuō)照搬旁邊的像素。當圖片擴大時(shí),要增加X點(diǎn)處的像素,由于X點(diǎn)與A、B這兩個(gè)有效像素中的B點(diǎn)最接近,因此X點(diǎn)會(huì )直接照搬B點(diǎn)的像素,從而使到X點(diǎn)生成的效果與B點(diǎn)一樣。雖然這種算法簡(jiǎn)單,因此處理的速度很快,但結果通常會(huì )產(chǎn)生明顯可見(jiàn)的鋸齒,效果往往不佳。
最近相鄰插值算法的優(yōu)點(diǎn)是計算量很小,算法也簡(jiǎn)單,因此運算速度較快。但它僅使用離待測采樣點(diǎn)最近的像素的灰度值作為該采樣點(diǎn)的灰度值,而沒(méi)考慮其他相鄰像素點(diǎn)的影響,因而重新采樣后灰度值有明顯的不連續性,圖像質(zhì)量損失較大,會(huì )產(chǎn)生明顯的馬賽克和鋸齒現象。

圖(1) 圖像縮放中的插值和重采樣
2. 兩次線(xiàn)性插值算法 /雙線(xiàn)性?xún)炔宸?/span>
兩次線(xiàn)性插值算法(BilinearInterpolation)是一種通過(guò)平均周?chē)袼仡伾祦?lái)添加像素的方法。該方法可生成中等品質(zhì)的圖像。
兩次線(xiàn)性插值算法輸出的圖像的每個(gè)像素都是原圖中四個(gè)像素(2×2)運算的結果,由于它是從原圖四個(gè)像素中運算的,因此這種算法很大程度上消除了鋸齒現象,而且效果也比較好。
兩次線(xiàn)性插值算法是一種較好的材質(zhì)影像插補的處理方式,會(huì )先找出最接近像素的四個(gè)圖素,然后在它們之間作差補效果,最后產(chǎn)生的結果才會(huì )被貼到像素的位置上,這樣不會(huì )看到“馬賽克”現象。這種處理方式較適用于有一定景深的靜態(tài)影像,不過(guò)無(wú)法提供最佳品質(zhì)。
兩次線(xiàn)性插值算法效果要好于最近相鄰插值算法,只是計算量稍大一些,算法復雜些,程序運行時(shí)間也稍長(cháng)些,但縮放后圖像質(zhì)量高,基本克服了最近相鄰插值算法灰度值不連續的特點(diǎn),因為它考慮了待測采樣點(diǎn)周?chē)膫€(gè)直接鄰點(diǎn)對該采樣點(diǎn)的相關(guān)性影響。但是,此方法僅考慮待測樣點(diǎn)周?chē)膫€(gè)直接鄰點(diǎn)灰度值的影響, 而未考慮到各鄰點(diǎn)間灰度值變化率的影響, 因此具有低通濾波器的性質(zhì), 從而導致縮放后圖像的高頻分量受到損失, 圖像邊緣在一定程度上變得較為模糊。
用此方法縮放后的圖像與原圖像相比,仍然存在由于計算模型考慮不周而產(chǎn)生的圖像質(zhì)量退化與精度降低的問(wèn)題。
這種方法是“利用周?chē)?個(gè)鄰點(diǎn)的灰度值在兩個(gè)方向上作線(xiàn)性?xún)炔逡缘玫酱蓸狱c(diǎn)的灰度值”。即根據待采樣點(diǎn)與相鄰點(diǎn)的距離確定相應的權值計算出待采樣點(diǎn)的灰度值。雙線(xiàn)性?xún)炔宓氖疽鈭D如圖2所示,其中X 、Y坐標表示像素的位置,f(*,*)表示像素的灰度值。其數學(xué)表達式為:
f(i+u,j+v)=(1-u)(1-v)f(i,j)+(1-u)vf(i,j+1)+u(1-v)f(i+1,j)+uvf(i+1,j+1) (2)



3. 兩次立方插值算法 /立方卷積法
兩次立方插值算法(BicubicInterpolation)是兩次線(xiàn)性插值算法的改進(jìn)算法,“不僅考慮到四個(gè)直接鄰點(diǎn)灰度值的影響,還考慮到各鄰點(diǎn)間灰度值變化率的影響”,利用了待采樣點(diǎn)周?chē)筻徲騼认袼氐幕叶戎底?span style="color: #ff0000;">三次插值。此法利用了如圖3所示的三次多項式S(w)。它輸出圖像的每個(gè)像素都是原圖16個(gè)像素(4×4)運算的結果。該算法效果較好,運算速度也不慢。
兩次立方插值算法計算量最大,算法也是最為復雜的。在幾何運算中,兩次線(xiàn)性插值算法的平滑作用可能會(huì )使圖像的細節產(chǎn)生退化,在進(jìn)行放大處理時(shí),這種影響更為明顯。在其他應用中,兩次線(xiàn)性插值算法的斜率不連續性會(huì )產(chǎn)生不希望的結果。兩次立方插值算法不僅考慮到周?chē)膫€(gè)直接相鄰像素點(diǎn)灰度值的影響,還考慮到它們灰度值變化率的影響。因此克服了前兩種方法的不足之處,能夠產(chǎn)生比兩次線(xiàn)性插值更為平滑的邊緣,計算精度很高,處理后的圖像像質(zhì)損失最少,效果是最佳的。
S(w)的數學(xué)表達式為:

式中,w為自變量,S(w)為三次多項式的值。
如圖4所示的是三次多項式進(jìn)行內插,計算時(shí)用周?chē)?6個(gè)鄰點(diǎn)的灰度值按下式進(jìn)行內插,則該像素的灰度值f(x,y)為
f(x,y)=A·B·C (3)

若令k=0,則式(3)的立方卷積就退化為雙線(xiàn)性?xún)炔宸?。因此,可以把用三次多項式插值的立方卷積法看成由兩部分組成,其中(1—|u|)代表直接鄰點(diǎn)間灰度值的變化率對待采樣點(diǎn)的影響,而K則代表鄰點(diǎn)間灰度值的變化率對待采樣點(diǎn)的影響。與雙線(xiàn)性?xún)炔宸ㄏ啾?,立方卷積法不僅考慮了直接鄰點(diǎn)的灰度值還考慮了零點(diǎn)見(jiàn)灰度值變化率的影響,因此后者所求得的待采樣點(diǎn)灰度值更接近原(采樣)值。
此方法用進(jìn)一步增大計算量來(lái)?yè)Q取待采樣點(diǎn)精度的進(jìn)一步提高,其效果是三種方法里最好的,但也是三種方法中計算量最大的。

三種算法比較:



聯(lián)系客服