我正在進行項目拇指識別。以下是我讀取訂單42 X 25的118張圖像並將其存儲在訓練矩陣中的代碼。使用SVM在matlab中進行拇指識別算法algo
training=zeros(118, 1050);
imagefiles = dir('*.png');
nfiles = length(imagefiles);
for ii=1:nfiles
currentfilename = imagefiles(ii).name;
I = imread(currentfilename);
BW=im2bw(I,graythresh(I));
temp = reshape(BW,1,1050);
training(ii,:)=temp;
end
現在我創建一個labelData矩陣來爲圖像分配標籤。
labelData = zeros(118,1);
labelData(1:50,:) = 0;
labelData(51:83,:) = 1;
labelData(84:118,:) = 2;
在這裏,我通過提供培訓數據和標籤數據來訓練我的系統。
options=optimset('MaxIter',5000);
SVMStruct = svmtrain(training,labelData,'Kernel_Function','linear','QuadProg_Opts',options);
但是當我運行這段代碼是給我這樣的錯誤
Error 1 : SVMTRAIN only supports classification into two groups. GROUP contains 3 groups.
Error 2 : SVMStruct = svmtrain(training,labelData,'Kernel_Function','linear','QuadProg_Opts',options);
請幫助我什麼是我使用它,它工作正常前的問題,但現在我不知道是怎麼回事上。提前致謝。
有沒有可用的代碼。我是Matlab新手。謝謝 –
有很多示例代碼 - 只需要搜索它。爲了您的目的,我建議第二個選項 - 使用您已有的代碼結構創建兩個單獨的分類器。 – Ansari
兄弟,我是Matlab新手,很抱歉讓人不安,但我不知道如何創建分類器。 –