血管分支分割代码中的错误

时间:2014-01-06 17:28:57

标签: matlab

我从2天开始就在努力解决这个问题。请帮我解决这个问题。我正在进行船只分支分割,我从MathWorks central获得了代码。

请从该网站下载提交内容,然后打开readme.txt

在我将tiff文件转换为mat文件时遇到错误,但现在它正在运行。感谢您快速回复我的帖子。但现在我收到以下错误

Elapsed time is 0.987052 seconds. 
Index exceeds matrix dimensions. 
Error in VBSvesselMask (line 20) 
meanImg=mean(single(orgImg(:,:,windowSize+1:30)), 3); 
Error in VesselBranchSegmentation/CBestimateVesselMask (line 294) 
[appImg masks(1).img]= VBSvesselMask(orgImg);
Error while evaluating uimenu Callback 

请帮帮我。

1 个答案:

答案 0 :(得分:0)

使用dbstop if error并在此时检查orgImg的大小。

似乎输入预计是某种图像堆栈(3D数据或2D图像堆栈,例如随时间推移的相同区域的一组2D图像)。该错误表示输入图像的大小小于代码所需的大小。

这行代码是关键点:

orgImg(:,:,windowSize+1:30)

为此,orgImg的第三维尺寸必须至少为30,并且windowSize的值应该适当设置(介于0到29之间)。查看原始代码,看起来您应该在整个图像目录上使用VBSreadtiff函数,以创建要处理的代码的图像堆栈。使用单个灰度或RGB图像将无法使用。