【问题标题】:How to return the positions of a contour in a 2D matrix如何返回二维矩阵中轮廓的位置
【发布时间】:2019-08-27 23:03:13
【问题描述】:

我有一个 50x50 的 2D 矩阵,由一个 '1' 孔(一个磁盘)组成,其余值为零。 (矩阵是二进制的)。我只想返回对象轮廓矩阵中的位置,如下图所示。

我尝试了命令“imcontour”(因为我的案例也是二进制图像)。这很好,但是轮廓的某些给定位置超出了矩阵的大小,这意味着它可能会给出以像素为单位的位置,而不是矩阵的索引。

我也尝试过“轮廓”和“边界”但徒劳无功。

【问题讨论】:

  • imcontour 应该可以工作,你的代码肯定有错误。请提供一个最小的代码示例。

标签: matlab matrix contour


【解决方案1】:

如果我猜对了,请尝试[x,y]=find(M) 提取位置并尝试ind=find(M) 提取矩阵中非零值的索引号。如果您正在寻找边界,只需使用 bwperim 函数:[x,y]=find(bwperim(M))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-07-28
    • 2017-06-06
    • 1970-01-01
    • 1970-01-01
    • 2011-09-14
    • 1970-01-01
    • 2012-12-14
    • 2022-12-04
    相关资源
    最近更新 更多