【问题标题】:How Do I Find The Bounding Box For All Regions?如何找到所有区域的边界框?
【发布时间】:2012-12-22 05:55:18
【问题描述】:

我正在使用MNIST digit images 进行机器学习实验,并且我试图根据位置而不是默认情况下它们居中的质心来居中每个图像。

我正在使用 regionprops 类,BoundingBox 方法来提取图像。我创建了灰度的黑白副本,使用它来确定 BoundingBox 属性(regionprops 仅适用于黑白图像),然后将其应用于灰度原始图像以提取精确的图像矩形。这适用于约 98% 的图像。

我遇到的问题是,另外约 2% 的图像在左上角有某种噪声或错误像素,我最终只提取了那个像素,而图像的其余部分被丢弃了。

如何将图像的所有元素合并到一个矩形中?

编辑:进一步的研究使我意识到我可以将这个问题总结并重新表述为“我如何找到所有区域的边界框?”。我尝试调整标签矩阵,使所有区域都使用相同的标签,但无济于事。

【问题讨论】:

  • 如果是单个像素搞砸了,您可能想尝试bwareaopen 在计算边界框之前删除(太)小的簇。
  • 另一种选择是使用 medfilt2(中值过滤器)...

标签: matlab


【解决方案1】:

您可以使用具有相同大小的噪声的腐蚀掩码使其完全消失“使用 imerode 后跟 imdilate 以反腐蚀”,或者您可以使用中值滤波器

【讨论】:

    猜你喜欢
    • 2021-11-27
    • 1970-01-01
    • 2012-06-18
    • 2021-10-09
    • 1970-01-01
    • 2022-08-21
    • 1970-01-01
    • 2012-01-12
    • 2015-11-21
    相关资源
    最近更新 更多