圖像縮放算法(最臨近點插值算法、雙線性內插值算法、雙立方插值算法)


1、最臨近點插值算法:

  當一張(N*M)大小的圖像放大到((j*N)*(k*M))時,那么兩張圖像之間的像素點存在對應關系:

X1max / N = X2max / ( j * N ) ; 
Y1max / M = Y2max / ( k * M ) ;

其中:X1max,Y1max為源圖像中兩個方向的像素個數;X2max,Y2max為放大之后的圖像兩個方向上的像素個數;

即可得到 j  k;

x1 = x2 / j
y1 = y2 / k

放大之后(x2,y2)的像素信息按照上述公式,即可得到其對應的在源圖像中的像素點,然后將原圖像上的像素信息復制到(x2,y2);

如果得到的x1,y1不為整數,將其四舍五入為一個整數,

假設有一張3×3大小的圖像:

234 38 22
67 44 12
89 65 63

將其放大到4×4:

234 38 22 22
67 44 12 12
89 65 63 63
89 65 63 63

優點:占用內存小;缺點:放大之后的圖像有明顯的鋸齒,縮小失真;就是簡單的將原圖像中的像素信息簡單的copy到新的圖像中

2、雙線性內插值算法

  與臨近點插值算法的直接把原圖像像素信息copy相比,雙線性內插值算法是將得到的原采樣點(浮點數)的附近點的四個像素點像素信息乘以權重得到新圖像的像素信息;

將臨近點插值算法中得到的x1(x1=j+t),y1(x1=k+u),其中,j k是整數部分;t u 是小數部分;

根據水平方向 t  計算出四個像素的權重。

Q11 = S(j,k) * (1-t) + S(j, k+1) * t;

Q22 = S(j+1, k) * (1-t) + S(j+1,K+1) *t

利用Q11, Q22的值,進行垂直方向權重計算得出計算采樣點值

D(x, y) = Q11*(1-u) + Q22 * u; 把Q11, Q22帶入,最終有等式:

D(x, y) = S(j, k) *(1-t)*(1-u) + S(j, k+1)*t*(1-u) + S(j+1,k)*(1-t)*u + S(j+1,k+1)*t*u

從而得出四個對應的權重系數分別為:

a = (1-t)*(1-u)

b = (1-t)*u

c = t*u

d = t*(1-u)

帶入公式一,即可得出目標像素的值。

優點:可以有效的抗鋸齒;缺點:算法沒有考慮邊緣和圖像的梯度變化

3、雙立方插值算法

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM