获取图像的最后20列:Matlab

时间:2012-02-06 21:52:12

标签: matlab

我有IMG的图像,我想只获得它的最后一个(20)列。 i-n图像大小为500x500,我希望列从480到500,行数保持不变。

3 个答案:

答案 0 :(得分:3)

您可以在索引中添加一些基本数学和end关键字。所以你会有

smallerImage = rawImage(:,  (end-20+1):end);

作为色彩映射(NxMx1)示例

load mandrill;  %A colormapped (2d) Matlab demo image in the X variable
figure;
subplot(121)
image(X)
colormap(map)
title('Full picture')
subplot(122)
smallX = X( : , (end-20+1):end );  %This is the subsetting operation for a 2D image
image(smallX)
colormap(map)
title('Rightmost 20 columns')

RGB示例(NxMx3)

imdata = imread('ngc6543a.jpg');
figure;
subplot(121)
image(imdata )
colormap(map)
title('Full picture')
subplot(122)
smallImData = imdata ( : , (end-20+1):end ,  : );  %This is the subsetting operation for an RGB image, note 3rd dimension colon
image(smallImData )
colormap(map)
title('Rightmost 20 columns')

答案 1 :(得分:1)

试试这个:

cutImg = img(startrow:endrow,startcol:endcol);

取自:

Matlab Central

答案 2 :(得分:0)

如果您想要使用最后n列,请使用:

   A(:,end-n+1:end)

对于第一个n列,请使用:

   A(:,1:n)