Matlab 如何裁剪图像以删除背景
我有一个图像,我想裁剪它。我使用了大津的方法,将图像更改为二进制形式。二值图像是: 我想从这个图像中找到xmin,xmax,ymin,ymax,这样我就可以裁剪图像,这样只有叶子部分保留在原始图像中 我需要作为输出的图像(以二进制形式):Matlab 如何裁剪图像以删除背景,matlab,image-processing,Matlab,Image Processing,我有一个图像,我想裁剪它。我使用了大津的方法,将图像更改为二进制形式。二值图像是: 我想从这个图像中找到xmin,xmax,ymin,ymax,这样我就可以裁剪图像,这样只有叶子部分保留在原始图像中 我需要作为输出的图像(以二进制形式): 我不想使用手动裁剪。您可以使用regionprops选择您感兴趣的区域,如下所示: BW = imread('wxK0w.jpg'); stats = regionprops(BW<128, 'BoundingBox', 'Area'); % The
我不想使用手动裁剪。您可以使用
regionprops
选择您感兴趣的区域,如下所示:
BW = imread('wxK0w.jpg');
stats = regionprops(BW<128, 'BoundingBox', 'Area'); % The black region (lowest values) is the region you are interested in.
[~, iForeground] = max([stats.Area]); % assume the largest area is the foreground you want
box = round(stats(iForeground).BoundingBox);
BWcropped = BW(box(2) + (1:box(4)), box(1) + (1:box(3)));
imshow(BWcropped)
BW=imread('wxK0w.jpg');
统计数据=区域属性(BW)