1. 程式人生 > >matlab中的影象幾何操作

matlab中的影象幾何操作

轉載來源:http://m.blog.csdn.net/blog/u010141025/17660559

1.1影象的裁剪:

在實際應用或科研領域,很多時候要對影象裁剪操作。影象裁剪就是在源影象或者大影象中裁剪影象塊來,這個影象塊一般是多邊形的。影象裁剪是影象處理中最基本的操作之一。

使用imcrop函式對影象進行裁剪操作,然後製作出動畫效果,該函式有兩個引數,一個用來指定裁剪的影象,另一個用來指定裁剪矩形。一般格式如下:

           imcrop(A,[80,120,100,50]);

[80,120,100,50]的含義是:以影象的(80,,10)點位裁剪矩形的左上角座標,裁剪的寬度是100,高度是50。

用roipoly函式進行多邊形區域的裁剪,

             roipoly(A,c1,c2);c1,c2定義區域的向量。

1.2影象的縮放:

在影象縮放過程中,涉及影象資料的刪除與增加。特別是影象放大的時候需要考慮如何自傲擴大後的空隙中加入新的影象顏色資料。增加顏色資料的方法主要根據周圍相近畫素的顏色值進行插值計算。

使用imresize函式縮放影象.形式為:imreseze(A,n)A為影象,n為放大倍數。

另外一種是:imreseze(A,[n,m])把原有的影象放大為行列分別為n,m的影象。

三種插值方法:

1.最近鄰插值法:是imreseze預設的方法,

2.雙線性插值方法:格式:imreseze(A,n,'bilinear').

3.雙立方插值方法:格式:imreseze(A,n,'bicubic').

1.3影象的選轉:

使用imrotate函式進行影象的旋轉。

一般的格式為:imrotate(A,Angle,Method,Bbox).

Angle:旋轉地角度,Method:為插值的方法,可以在,nearest、bilinear、bicubic中選著,Bbox為loose是底板放大,顯示整個圖形,導致圖形變小是預設的情況,為crop時旋轉圖形的底板不變圖形可能被切割,一般使用crop形式。

2.1影象的幾何變換

影象二維仿射變換MATLAB使用imtransform函式完成影象空間變換。

格式imtransform(A,T)

其中引數A是要變換的影象,T是由makeform函式產生的變換結構.

在maketform('P',......)函式中,引數P可以議一下 形式:

affine:仿射變換形式。

projective:投影變換形式;

cusyom:自定義函式變換;

box:利用函式中的另外引數產生仿射變換結構;

composite:該引數是實現多次呼叫tformfwd功能;

maketform:函式就是利用給定的引數建立變換結構,然後把該變換結構賦予結構變數T。根據得到的結構體變數T,呼叫imtransform(A,T)函式進行變換。

3:影象的領域操作

領域操作指在影象處理時,處理畫素的某領域內各個畫素值,輸出要處理的畫素的新值。領域財政是影象處理(例如影象增強、影象濾波等)時經常用到的操作方法。使用該方法處理影象時一般使用運算元模板進行再影象上滑動,劃定的時候對模板進過區域進行運算,把計算的結果作為區域中心畫素的新值,所以有時領域操作也稱為劃定領域操作。領域操作方法充分地領用了影象相領畫素間的顏色關係,利用相鄰畫素間的顏色分佈對影象進行平滑、增強、邊緣提取、濾波、恢復等操作。