在 Matlab 中查找连接的组件会给出错误的结果
Finding connected components in Matlab gives wrong results
我有一个大小为 60-by-90-by-10[=30 的二进制 3D 图像=].使用以下 Matlab 代码,我正在搜索图像中 1
s 的连接体素:
conn = 26;
CC = bwconncomp(img, conn);
stats = regionprops(CC,'pixellist');
真正奇怪的是 stats returns 坐标在 3D 图像之外。
例如
voxels = stats(6).PixelList;
voxels(23,:)
我正在获取 [61,15,4]
的 3D 坐标。
这里有什么问题?关于这个问题我也担心连通分量的计算有误
这是 3D 图像(作为 .mat 文件):https://www.dropbox.com/s/pw3yzbcx4uyhh9s/img.mat?dl=0
您的 .mat 文件显示了一个大小为 60x90x10 的矩阵,这意味着 60 行、90 列和 10 个条带,因此 y=60、x=90 和 z=10。
看起来计算是正确的,你只是对你的初始图像大小感到困惑......没有任何改变,你的图像只是与你假设的大小不同:-)(尝试 imagesc(img(:,:,1))
看!)
row/column 与 x/y 这件事可能很烦人,我从经验中知道...
我有一个大小为 60-by-90-by-10[=30 的二进制 3D 图像=].使用以下 Matlab 代码,我正在搜索图像中 1
s 的连接体素:
conn = 26;
CC = bwconncomp(img, conn);
stats = regionprops(CC,'pixellist');
真正奇怪的是 stats returns 坐标在 3D 图像之外。
例如
voxels = stats(6).PixelList;
voxels(23,:)
我正在获取 [61,15,4]
的 3D 坐标。
这里有什么问题?关于这个问题我也担心连通分量的计算有误
这是 3D 图像(作为 .mat 文件):https://www.dropbox.com/s/pw3yzbcx4uyhh9s/img.mat?dl=0
您的 .mat 文件显示了一个大小为 60x90x10 的矩阵,这意味着 60 行、90 列和 10 个条带,因此 y=60、x=90 和 z=10。
看起来计算是正确的,你只是对你的初始图像大小感到困惑......没有任何改变,你的图像只是与你假设的大小不同:-)(尝试 imagesc(img(:,:,1))
看!)
row/column 与 x/y 这件事可能很烦人,我从经验中知道...