我从2天开始就在努力解决这个问题。请帮我解决这个问题。我正在进行船舶分支分割,我从mathworks central获得了代码。
http://www.mathworks.in/matlabcentral/fileexchange/36031-vessel-branch-segmentation
请从该网站下载提交内容,然后打开readme.txt
现在,在Readme.txt中,我被要求将tiff图像转换为.mat格式,我使用以下代码进行转换。
A = imread('C:\Users\123\Desktop\vbs\images\01_test.tif');
save('myTiff2mat1','A');
现在,当我尝试使用执行vesselbranchsegmentation.m后得到的UI窗口上传.mat文件时
我收到以下错误
------------------------------
Undefined variable "myTiff2mat1" or class "myTiff2mat1.img".
Error in VesselBranchSegmentation>LoadMatFile (line 855)
eval(['img=' sprintf('%s',fileName(1:end-4)) '.img;']);
Error in VesselBranchSegmentation>ReadOrgImg (line 834)
[img fileprefix]=LoadMatFile(pathName,fileName);
Error in VesselBranchSegmentation/CBMfileNew (line 120)
[tmporgImg saveFileName] = ReadOrgImg('Pick a mat file.');
Error while evaluating uimenu Callback
----------------------------------------------
请帮我解决这个问题。
答案 0 :(得分:2)
如果查看LoadMatFile()
,它希望.mat文件包含与文件同名的变量,因此它会查找myTiff2mat1
并忽略A
。
其次,这仍然可能不起作用,因为README说使用VBSreadTiff()
并且您使用了imread()
,这将不会创建正确的数据结构。
我这里没有Matlab来检查它,但是可能足以作为黑客攻击:
myTiff2mat1.img = imread('C:\Users\123\Desktop\vbs\images\01_test.tif');
save('myTiff2mat1','myTiff2mat1');