第一范文网 - 专业文章范例文档资料分享平台

人脸识别MATLAB代码

来源:用户分享 时间:2025/5/19 12:24:10 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

1.色彩空间转换

function [r,g]=rgb_RGB(Ori_Face) R=Ori_Face(:,:,1); G=Ori_Face(:,:,2); B=Ori_Face(:,:,3);

R1=im2double(R); % 将uint8型转换成double型 G1=im2double(G); B1=im2double(B); RGB=R1+G1+B1;

row=size(Ori_Face,1); % 行像素 column=size(Ori_Face,2); % 列像素 for i=1:row for j=1:column

rr(i,j)=R1(i,j)/RGB(i,j); gg(i,j)=G1(i,j)/RGB(i,j); end end rrr=mean(rr); r=mean(rrr); ggg=mean(gg); g=mean(ggg); 2.均值和协方差

t1=imread('D:\\matlab\\皮肤库\\1.jpg');[r1,g1]=rgb_RGB(t1); t2=imread('D:\\matlab\\皮肤库\\2.jpg');[r2,g2]=rgb_RGB(t2); t3=imread('D:\\matlab\\皮肤库\\3.jpg');[r3,g3]=rgb_RGB(t3); t4=imread('D:\\matlab\\皮肤库\\4.jpg');[r4,g4]=rgb_RGB(t4); t5=imread('D:\\matlab\\皮肤库\\5.jpg');[r5,g5]=rgb_RGB(t5); t6=imread('D:\\matlab\\皮肤库\\6.jpg');[r6,g6]=rgb_RGB(t6); t7=imread('D:\\matlab\\皮肤库\\7.jpg');[r7,g7]=rgb_RGB(t7); t8=imread('D:\\matlab\\皮肤库\\8.jpg');[r8,g8]=rgb_RGB(t8);

t9=imread('D:\\matlab\\皮肤库\\9.jpg');[r9,g9]=rgb_RGB(t9); t10=imread('D:\\matlab\\皮肤库\\10.jpg');[r10,g10]=rgb_RGB(t10); t11=imread('D:\\matlab\\皮肤库\\11.jpg');[r11,g11]=rgb_RGB(t11); t12=imread('D:\\matlab\\皮肤库\\12.jpg');[r12,g12]=rgb_RGB(t12); t13=imread('D:\\matlab\\皮肤库\\13.jpg');[r13,g13]=rgb_RGB(t13); t14=imread('D:\\matlab\\皮肤库\\14.jpg');[r14,g14]=rgb_RGB(t14); t15=imread('D:\\matlab\\皮肤库\\15.jpg');[r15,g15]=rgb_RGB(t15); t16=imread('D:\\matlab\\皮肤库\\16.jpg');[r16,g16]=rgb_RGB(t16); t17=imread('D:\\matlab\\皮肤库\\17.jpg');[r17,g17]=rgb_RGB(t17); t18=imread('D:\\matlab\\皮肤库\\18.jpg');[r18,g18]=rgb_RGB(t18); t19=imread('D:\\matlab\\皮肤库\\19.jpg');[r19,g19]=rgb_RGB(t19); t20=imread('D:\\matlab\\皮肤库\\20.jpg');[r20,g20]=rgb_RGB(t20); t21=imread('D:\\matlab\\皮肤库\\21.jpg');[r21,g21]=rgb_RGB(t21); t22=imread('D:\\matlab\\皮肤库\\22.jpg');[r22,g22]=rgb_RGB(t22); t23=imread('D:\\matlab\\皮肤库\\23.jpg');[r23,g23]=rgb_RGB(t23); t24=imread('D:\\matlab\\皮肤库\\24.jpg');[r24,g24]=rgb_RGB(t24); t25=imread('D:\\matlab\\皮肤库\\25.jpg');[r25,g25]=rgb_RGB(t25); t26=imread('D:\\matlab\\皮肤库\\26.jpg');[r26,g26]=rgb_RGB(t26); t27=imread('D:\\matlab\\皮肤库\\27.jpg');[r27,g27]=rgb_RGB(t27);

r=cat(1,r1,r2,r3,r4,r5,r6,r7,r8,r9,r10,r11,r12,r13,r14,r15,r16,r17,r18,r19,r20,r21,r22,r23,r24,r25,r26,r27);

g=cat(1,g1,g2,g3,g4,g5,g6,g7,g8,g9,g10,g11,g12,g13,g14,g15,g16,g17,g18,g19,g20,g21,g22,g23,g24,g25,g26,g27); m=mean([r,g]) n=cov([r,g]) 3.求质心

function [xmean, ymean] = center(bw) bw=bwfill(bw,'holes'); area = bwarea(bw);

[m n] =size(bw); bw=double(bw); xmean =0; ymean = 0; for i=1:m, for j=1:n,

xmean = xmean + j*bw(i,j); ymean = ymean + i*bw(i,j); end; end; if(area==0) xmean=0; ymean=0; else

xmean = xmean/area; ymean = ymean/area; xmean = round(xmean); ymean = round(ymean); end

4. 求偏转角度

function [theta] = orient(bw,xmean,ymean) [m n] =size(bw); bw=double(bw); a = 0; b = 0; c = 0; for i=1:m, for j=1:n,

a = a + (j - xmean)^2 * bw(i,j);

b = b + (j - xmean) * (i - ymean) * bw(i,j); c = c + (i - ymean)^2 * bw(i,j);

end; end; b = 2 * b;

theta = atan(b/(a-c))/2;

theta = theta*(180/pi); % 从幅度转换到角度 5. 找区域边界

function [left, right, up, down] = bianjie(A) [m n] = size(A); left = -1; right = -1; up = -1; down = -1; for j=1:n, for i=1:m, if (A(i,j) ~= 0) left = j; break; end; end;

if (left ~= -1) break; end; end; for j=n:-1:1, for i=1:m, if (A(i,j) ~= 0) right = j; break; end; end;

if (right ~= -1) break; end;

end; for i=1:m, for j=1:n,

if (A(i,j) ~= 0) up = i; break; end; end;

if (up ~= -1) break; end; end; for i=m:-1:1, for j=1:n, if (A(i,j) ~= 0) down = i; break; end; end;

if (down ~= -1) break; end; end;

6. 求起始坐标

function newcoord = checklimit(coord,maxval) newcoord = coord; if (newcoord<1) newcoord=1;

end;

搜索更多关于: 人脸识别MATLAB代码 的文档
人脸识别MATLAB代码.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c467ov10m1y9kcek7h0rd_1.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top