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左上和右下顶点坐标

造成这样理解误差的原因在于:图像单位是像素点,我们常以为的单位是坐标点,这两个不是一个概念,我们常说的图像宽高指的是含有的像素点数。

猜你喜欢

转载自blog.csdn.net/justforacm/article/details/80664025
今日推荐