【问题标题】:Arrange two output pairs into a single matrix on MATLAB在 MATLAB 上将两个输出对排列成一个矩阵
【发布时间】:2014-11-12 08:34:10
【问题描述】:

我在 MATLAB 上使用了一个命令,它以以下格式为我提供输出:

ans =

  120.5000  226.5000


ans =

  192.5000  223.0000

我同时得到这两个输出对:

s  = regionprops(binFrameRed, 'centroid', 'area');
s.Centroid;

其中 s.Centroid 是图像上两个红色方块的质心坐标。

我想将这些输出排列成一个矩阵,其中第一行由第一个输出对给出,第二行由第二个输出对给出。

我知道我可以使用reshape 做到这一点,但对我来说,如果我可以使用更直接的方式会更好。

有人知道我该如何实现吗?

【问题讨论】:

  • 哪个命令提供该输出?贴出相关代码
  • 我正在使用 's = regionprops(binFrameRed, 'centroid', 'area');'如果我做's.centroid',我会得到问题中描述的输出。

标签: matlab


【解决方案1】:

这应该可以解决问题:

centroids = cat(1, s.Centroid);

一些具有两个质心的二进制图像的示例输出:

s.Centroid

ans =

  316.0324  202.4018


ans =

  506.7500  135.5469



centroids = cat(1, s.Centroid);    
centroids

centroids =

  316.0324  202.4018
  506.7500  135.5469

【讨论】:

    【解决方案2】:

    只是为了使用方括号的乐趣:

    [s(:,1).Centroid;s(:,2).Centroid]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-07-09
      • 2013-11-18
      • 1970-01-01
      • 1970-01-01
      • 2013-02-10
      • 1970-01-01
      • 2012-12-11
      • 2012-05-16
      相关资源
      最近更新 更多