对于图像,我计算了所有边界框。我想删除图片底部的边界框,因为它们不是我的投资回报率。
使用计算出的边界框可以帮助您从图像中删除底部。
答案 0 :(得分:0)
假设您有一个名为Image3
的单色图像(黑白)。正如您已经说过的那样,您正在计算“变形”周围的边界框。
[labeledImage, numberOfBlobs] = bwlabel(Image3);
measurements = regionprops(labeledImage, 'BoundingBox');
通过计算边界框regionprops
,显然可以计算出变形的位置,但是从我的角度来看,这可能是多余的。您可以简单地写:
[labeledImage, numberOfBlobs] = bwlabel(Image3);
[x,y]=size(labeledImage);
height_from_top = 0.8;
width_from_left = 1.0;
endIdx_y = round(y*height_from_top);
endIdx_x = round(x*width_from_left);
labeledImage(1:endIdx_x ,1:endIdx_y)=0;
Image3(labeledImage>0)=0; % or 1, depending on the colour...
我的索引很可能不完全匹配。不幸的是,我现在无法检查它,但是此修改应排除上下边界,具体取决于要在每个方向上过滤的图像百分比。例如。将height_from_top
设置为0.5
只会删除图像的下半部分。