我有一个二进制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的事情可能很烦人,我知道从经验来看…