如何在MATLAB中对绘图进行裁剪

时间:2017-08-17 12:19:50

标签: image matlab image-processing

我在matlab中遇到了一个代码,它在图像中绘制了一个矩形。我希望在那个矩形处裁剪图像。我怎么能这样做? 我不太了解matlab,所以任何帮助都会受到赞赏。 这是代码:

img = im2double(imread('https://i.stack.imgur.com/iS2Ht.jpg'));
BW = im2bw(img);
imshow(BW)
dim = size(BW)
col = round(dim(2)/2)-90;
row = min(find(BW(:,col)))
boundary = bwtraceboundary(BW,[row, col],'N');
imshow(img)
hold on;
ti = plot(boundary(:,2),boundary(:,1),'r','LineWidth',3);
  

不幸的是我无法上传图片。请在运行代码时查看图像中绘制的红色矩形。我想针对那个矩形裁剪它。我怎么能这样做?

1 个答案:

答案 0 :(得分:2)

您可以找到矩形的最小和最大范围,如下所示:

r = [min(boundary) , max(boundary)];

然后使用以下值裁剪图像:

img_cropped = img(r(1) : r(3) , r(2) : r(4) , :);
imshow(img_cropped)

额外提示:在行尾添加;将隐藏输出。