❶ 請教MATLAB高手,給看一段程序,人臉識別中怎樣對多張圖像進行同一處理
訓練階段:
A=zeros(a,b,2); %a,b是YALE每幅圖像的大小,即輸入MATLAB後每幅圖像的矩陣維數
for i= 1 : 15
for j= 1
img =imread(strcat('F:\renlianshujuku\Yale\yalefaces',num2str(i),'\',num2str(j),'.pgm'));
A(:,:,i-1+j) = img;
A=double(A);
end
end
Train_Number = size(A,3); %矩陣A的第三維的大小,即訓練圖像的個數
上面是將YALE圖像庫中每個人的第一張作為訓練的人臉存到了A的矩陣中,直接對A矩陣做相應高斯濾波,B樣條濾波,求梯度臉變換就行。
測試階段:
C=zeros(a,b,2);
for a= 1 : 15
for b= 2 :11
unimg =mread(strcat('F:\renlianshujuku\Yale\yalefaces',num2str(a),'\',num2str(b),'.pgm'));
C(:,:,a+b-2) = unimg;
C=double(C);
end
end
Train_Number1 = size(C,3); %矩陣C的第三維的大小,即測試圖像的個數
將YALE圖像庫中每個人除了第一幅圖像以外的其餘圖像存到了C矩陣中,對C矩陣做變換,然後識別。
❷ 人臉識別的識別率低是為什麼,要怎麼寫代碼
您好,這樣的:
基於Gabor特徵提取和人工智慧的人臉檢測系統源代碼Face Detection System
這是一個使用了Gabor特徵提取和人工智慧的人臉檢測系統源代碼關鍵內容
使用步驟:
拷貝所有文件到MATLAB工作目錄下(確認已經安裝了圖像處理工具箱和人工智慧工具箱)
2. 找到"main.m"文件
3. 命令行中運行它
4. 點擊"Train Network",等待程序訓練好樣本
5. 點擊"Test on Photos",選擇一個.jpg圖片,識別。
6. 等待程序檢測出人臉區域
createffnn.m, drawrec.m, gabor.m, im2vec.m, imscan.m, loadimages.m, main.m, template1.png, template2.png, trainnet.m。