1. 程式人生 > >影象處理matlab工具箱常用函式

影象處理matlab工具箱常用函式

imresize
幾何運算可改變影象中各物體之間的空間關係。這種運算可以被看成是將(各)物體在影象內移動。一個幾何運算需要兩個獨立的演算法。首先,需要一個演算法來定義空間變換本身,用它來描述每個畫素如何從其初始位置“移動”到終止位置,即每個畫素的“運動”。同時,還需要一個用於灰度插值的演算法,這是因為,在一般情況下,輸入影象的位置座標(x,y)為整數,而輸出影象的位置座標為非整數,反過來也如此。因此插值就是對變換之後的整數座標位置的畫素值進行估計。MATLAB提供了一些函式實現這些功能。
   插值是常用的數學運算,通常是利用曲線擬合的方法,通過離散的取樣點建立一個連續函式來逼近真實的曲線,用這個重建的函式便可以求出任意位置的函式值。
   最近鄰插值是最簡便的插值,在這種演算法中,每一個插值輸出畫素的值就是在輸入影象中與其最臨近的取樣點的值。最近鄰插值是工具箱函式預設使用的插值方法,而且這種插值方法的運算量非常小。當影象中包含畫素之間灰度級變化的細微結構時,最近鄰插值法會在影象中產生人工的痕跡。
   雙線性插值法的輸出畫素值是它在輸入影象中2×2領域取樣點的平均值,它根據某畫素周圍4個畫素的灰度值在水平和垂直兩個方向上對其插值。
   雙三次插值的插值核為三次函式,其插值鄰域的大小為4×4。它的插值效果比較好,但相應的計算量也比較大。
   MATLAB影象處理工具箱中的函式imresize可以用上述的3種方法對影象進行插值縮放,如果不指定插值方法,則預設為最鄰近插值法。
Imresize函式的語法格式為:
B = imresize(A,m,method)
   引數method用於指定插值的方法,可選用的值為'nearest'(最鄰近法),'bilinear'(雙線性插值),'bicubic'(雙三次插值),預設為'nearest'。
B = imresize(A,m,method)返回原圖A的m倍放大的影象(m小於1時效果是縮小)。