我在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);
不幸的是我无法上传图片。请在运行代码时查看图像中绘制的红色矩形。我想针对那个矩形裁剪它。我怎么能这样做?
答案 0 :(得分:2)
您可以找到矩形的最小和最大范围,如下所示:
r = [min(boundary) , max(boundary)];
然后使用以下值裁剪图像:
img_cropped = img(r(1) : r(3) , r(2) : r(4) , :);
imshow(img_cropped)
额外提示:在行尾添加;
将隐藏输出。