當前位置:編程學習大全網 - 源碼下載 - 用matlab做人臉識別項目需要學習什麽?

用matlab做人臉識別項目需要學習什麽?

清晰;

I = im read(' E:\ Matlab \ picture \ q5 . jpg ');

o = RGB 2 ntsc(I);

G=O(:,:,2);

[m n]=大小(G);

u =零(m,n);

因為i=1:m

對於j=1:n

如果G(i,j)>0.03 & amp& ampG(i,j)& lt;0.16

U(i,j)= 1;

結束

結束

結束

sr=strel('disk ',6);

C=imclose(U,Sr);

l = bw label(C);

B=regionprops(L,' area ');

se =[B . Area];sm = max(Se);

如果Sm & gtm*n/27

B1=bwareaopen(C,Sm);

k _ y 1 = m;k2 = m;L2 = n;

因為i=1:m

如果有的話(B1(i,)==1

k _ y 1 = I;

破裂

結束

結束

for i=k_y1:m

如果B1(i,)==0

k2 = I;

破裂

結束

結束

對於j=1:n

如果有的話(B1(:,j))==1

l _ y 1 = j;

破裂

結束

結束

對於j=l_y1:n

如果B1(:,j)==0

L2 = j;

破裂

結束

結束

k _ y = k2-k _ y 1;

l = L2-l _ y 1;

如果k _ y & gt. 5 * l & amp& ampk _ y & lt3 *長

I1=imcrop(B1,[l _ y 1k _ y 1 l . 4 * k _ y]);

[n 1m 1]= size(I 1);

l 1 = bw label(I 1);

E=regionprops(L1,' area ');

si =[E . Area];

sm = max(Si);

如果Sm/(n1*m1)>.3

B2=bwareaopen(I1,floor(. 5 * Sm));

g _ y 1 = m 1;G2 = m 1;

對於j=1:m1

如果有的話(B2(:,j))==1

g _ y 1 = j;

破裂

結束

結束

對於j=g_y1:m1

如果B2(:,j)= = 0;

G2 = j;破裂

結束

結束

g = G2-g _ y 1;

圖;imshow(壹);

繼續

h 1 = line([l _ y 1+g _ y 1,l_y1+g_y1+g],[k_y1,k _ y 1]);

H2 = line([l _ y 1+g _ y 1+g,l_y1+g_y1+g],[k_y1,k _ y 1+1.1 * g]);

H3 = line([l _ y 1+g _ y 1+g,l_y1+g_y1],[k _ y 1+1 * g,k _ y 1+1 * g]);

h4=line([l_y1+g_y1,l_y1+g_y1],[k_y1+1.1*g,k _ y 1]);

h =[h 1 H2 H3 H4];

set(h,'顏色',[1 0],'線寬',2);

其他

圖;imshow(壹);

結束

其他

圖;imshow(壹);

結束

其他

圖;imshow(壹);

結束

註意:這個程序是基於膚色的人臉檢測程序,比較簡單,只能檢測壹張臉。對於背景單調的單張照片,檢測率高,檢測速度快。在這個方案的基礎上,再次進行眼睛定位,效果不錯。可以用來學習和參考,尤其可以用來分享。如果網友嘗試後發現問題,可以反饋給自己解決。

建議妳參考這個

/download/code/-MATLAB-IC-56717 . html

  • 上一篇:VB語言中for each ....next...循環語句如何使用?
  • 下一篇:絕地求生主播為了迎合觀眾而開掛是否合理?
  • copyright 2024編程學習大全網