在Matlab中寻找连接的组件给出了错误的结果



我有一个二进制3D图像大小60-by-90-by-10。使用以下Matlab代码,我正在搜索图像中1 s的连接体素:

conn = 26;
CC = bwconncomp(img, conn);
stats = regionprops(CC,'pixellist');

真正奇怪的是stats返回的坐标在3D图像之外。

例如

voxels = stats(6).PixelList;
voxels(23,:)

我得到了[61,15,4]的三维坐标。

怎么了?关于这个问题,我还担心连接部件的计算错误。

这是3D图像(作为。mat文件):https://www.dropbox.com/s/pw3yzbcx4uyhh9s/img.mat?dl=0

您的.mat- file显示的矩阵大小为60x90x10,这意味着60行,90列和10波段,所以y=60, x=90和z=10。

看起来计算是正确的,你只是对你的初始图像大小感到困惑…没有任何东西被切换,您的图像只是与您假设的大小不同:-)(尝试imagesc(img(:,:,1))查看!)

这个行/列vs. x/y的事情可能很烦人,我知道从经验来看…

相关内容

  • 没有找到相关文章

最新更新