首页 文章

如何获取图像的边界框和底部边界框

提问于
浏览
0

对于图像,我计算了所有边界框 . 我想删除位于图像底部的边界框,因为它们不是我的投资回报率 .

有人可以帮助使用计算的边界框从图像中删除底部 .

1 回答

  • 0

    假设你有一个叫做 Image3 的单色图像(黑白) . 如您所说,您正在计算"distorsions"周围的边界框 .

    [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 只应删除图像的下半部分 .

相关问题