1. 程式人生 > >matlab imcrop 細節分析

matlab imcrop 細節分析

matlab函式imcrop可以很方便的用來擷取影象,含義是從一張影象中,按座標擷取一部分(或按矩形框擷取)。用法為:

im1=imcrop(im,box)

其中im為原始影象,box格式為(x,y,width,height),這樣的得到的是im中,左上角座標為(x,y),寬為width,高為height的矩形框所‘框’住的區域。

但是經過觀察,得到的im1和預想的不一樣,因為多了一行和一列。


上邊這個矩陣(影象本質是矩陣),如果呼叫imcrop(im,[1,1,3,3]),結果就是它本身!

所以這個box的含義就呼之欲出了,box表示座標(x,y)和(x+width,y+height)所構成的矩形!

其實,

imcrop可以理解為:從(x,y)座標開始,兩個方向分別經過width和height個畫素點所圍成的區域

或理解為:box=[x1,y1,x2-x1,y2-y1],其中(x1,y1) (x2,y2)分別為box左上和右下頂點座標

造成這樣理解誤差的原因在於:影象單位是畫素點,我們常以為的單位是座標點,這兩個不是一個概念,我們常說的影象寬高指的是含有的畫素點數。