辅轮 2020-03-07 16:25 采纳率: 0%
浏览 472

关于MATLAB中SVM的imread指令的问题

之前下载了图像分类识别猫狗的程序,想照着这个程序去建一个txt文件存放图片名字然后去识别txt文件里描述的图片,但是用imread指令却提示无法打开要读取的文件,请问一下各位大佬这个报错该怎么解决啊

  1. 完整代码:
ReadList1  = textread('list1.txt','%s','delimiter','\n');%载入正样本列表  
sz1=size(ReadList1);    
label1=ones(sz1(1),1); %正样本标签设为1
ReadList2  = textread('list2.txt','%s','delimiter','\n');%载入负样本列表  
sz2=size(ReadList2);  
label2=zeros(sz2(1),1);%负样本标签设为0  
label=[label1',label2']';%标签汇总  
total_num=length(label);  
data=zeros(total_num,1764);  

%读取正样本并计算hog特征  
for i=1:sz1(1)  
   name= char(ReadList1(i,1)); 
   image=imread(strcat('D:\US\01\',name)); 
   im=imresize(image,[64,64]);  
   img=rgb2gray(im);  
   hog =hogcalculator(img);  
   data(i,:)=hog;  
end  

%读取负样本并计算hog特征  
for j=1:sz2(1)  
   name= char(ReadList2(j,1));  
   image=imread(strcat('D:\US\02\',name));
   im=imresize(image,[64,64]);  
   img=rgb2gray(im);  
   hog =hogcalculator(img);  
   data(sz1(1)+j,:)=hog;   
end  

[train, test] = crossvalind('holdOut',label);  
cp = classperf(label);  
svmStruct = svmtrain(data(train,:),label(train));  
save svmStruct svmStruct  
classes = svmclassify(svmStruct,data(test,:));  
classperf(cp,classes,test);  
fprintf('CorrectRate = %f\n',cp.CorrectRate); 
  1. 报错部分:

%读取正样本并计算hog特征

for i=1:sz1(1)

name= char(ReadList1(i,1));
image=imread(strcat('D:\US\01\',name));
im=imresize(image,[64,64]);

img=rgb2gray(im);

hog =hogcalculator(img);

data(i,:)=hog;

end

3.报错提示:
错误使用 imread (line 347)
无法打开要读取的文件 "D:\US\01\"。您可能没有读取权限。

出错 test4 (line 21)
image=imread(strcat('D:\US\01\',name));

  • 写回答

1条回答 默认 最新

  • zqbnqsdsmd 2020-03-07 21:59
    关注
    评论

报告相同问题?

悬赏问题

  • ¥15 高德地图点聚合中Marker的位置无法实时更新
  • ¥15 DIFY API Endpoint 问题。
  • ¥20 sub地址DHCP问题
  • ¥15 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错
  • ¥15 Matlab编程问题
  • ¥15 训练的多模态特征融合模型准确度很低怎么办