如何在Matlab中使用分数像素剪切图像?

时间:2014-12-23 21:55:14

标签: image matlab image-processing interpolation resampling

是否可以在Matlab中剪切部分图像,以便切割线位于像素的小数位置?

希望在imwarp函数合约中包含它,即包含imref2d类来指定图像世界尺寸。

enter image description here

我希望切割的图像具有像素,与其自身的边距对齐,因此相对于原始像素移位。但像素的比例应该相同。

1 个答案:

答案 0 :(得分:2)

我不知道任何匹配的图像处理功能,所以我会手动完成:

%defines the image section you want
I={[2.5:1:5],[3.5:1:5.5]}
%spans a grid
[P{1},P{2}]=ndgrid(I{:})
%interpolates using the grid
IMG2=interpn(IMG,P{:})

此代码适用于彩色图像的2D图像(灰度):

%defines the image section you want
I={[2.5:1:5],[3.5:1:5.5]}
%We dont want to interpolate on colour axis, fix it to 1:3 for rgb
I{3}=1:size(IMG,3)
%spans a grid
[P{1},P{2},P{3}]=ndgrid(I{:})
%interpolates using the grid
IMG2=interpn(IMG,P{:})