【问题标题】:how to find major axis and minor axis of each object in an labeled image?如何在标记图像中找到每个对象的长轴和短轴?
【发布时间】:2015-07-05 07:51:32
【问题描述】:

我目前正在使用bwconncomp 函数,如下所示:

CC = bwconncomp(BW);

BW 是输入二值图像。 CC 是一个具有四个字段的结构。 bwconncomp 标记图像中的每个对象。现在我想找到我尝试使用 regionprops 但没有得到结果的每个对象的长轴和短轴。

这是我的代码

inimage = imread('Capture.PNG');
subplot(2,2,1);
imshow(inimage);
title('original image');
BW=im2bw(inimage);
subplot(2,3,3);
imshow(BW);
title('binary image');

相关代码:

CC = bwconncomp(BW);
stats = regionprops('table',BW,'Centroid','MajorAxisLength','MinorAxisLength')

【问题讨论】:

  • 你为什么不展示你尝试过的代码,这对于获得更好的答案非常有用
  • 你以什么方式“没有得到结果”。让我们猜测并不是很有成效。
  • @beaker 我收到错误,没有得到任何输出。
  • @rayryeng 谢谢,我很难在没有非常讽刺的情况下回应这个问题;)
  • @beaker 哈哈。老实说,我忍住了。当人们认为我们是千里眼时,我讨厌它。我有一个错误......好吧......那么这是什么神秘的错误?!大声笑

标签: matlab image-processing image-segmentation


【解决方案1】:

试试

LB = bwlabel( BW ); %// label the components in the image
stats = regionprops(LB,'Centroid','MajorAxisLength','MinorAxisLength');

【讨论】:

  • 啊,所以你认为 OP 有一个不支持表格的旧版本的 Matlab?即便如此,regionprops 还是应该将 BW 图像作为输入,对吧?
  • @beaker - 根据您拥有的 MATLAB / 图像处理工具箱版本,最新版本的 MATLAB 可以接受 regionprops 的灰度图像。我不记得它开始采用灰度的哪个版本,但它是相当新的。
  • @rayryeng 我不记得了,但那是有道理的。听起来doc regionprops 是为了让 OP 看到他们的特定版本支持什么。
  • @beaker - 啊,我被误导了。它不是灰度图像,但您可以指定一个标签矩阵...例如bwlabel 的输出。我很困惑,但它可以接受的不仅仅是二进制图像。糟糕!
猜你喜欢
  • 2015-07-14
  • 2012-04-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-07-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多