当前位置:主页 > 技术文档 > matlab 下载

基于matlab的人脸识别(含源程序)毕业论文 超清版

  • 更新:2020-11-24 09:16:16
  • 大小:14.35 MB
  • 热度:692
  • 审核:欧明喆
  • 类别:技术文章
  • 格式:PDF

  • 资源介绍
  • 相关推荐

最近在学习matlab图像处理部分,发现人脸识别这一块非常好玩,在这里做个总结。

人脸识别之一:查找图片中的人脸并用方框圈出

这种类似于智能手机拍照时,屏幕里那个框任务头部的红框。大致步骤为:获取RGB图片--->转换为灰度图像--->图像处理--->人脸识别。从书中摘出的代码如下:

clear all
clc

%获取原始图片
i=imread('face.jpg');
I=rgb2gray(i);        
BW=im2bw(I);             %利用阈值值变换法将灰度图像转换成二进制图像
figure(1);
imshow(BW);
%最小化背景
[n1 n2]=size(BW);
r=floor(n1/10);
c=floor(n2/10);
x1=1;x2=r;
s=r*c;

for i=1:10
    y1=1;y2=c;
    for j=1:10
        if(y2<=c || y2>=9*c) || (x1==1 || x2==r*10)
            loc=find(BW(x1:x2,y1:y2)==0);
            [o p]=size(loc);
            pr=o*100/s;
            if pr<=100
                BW(x1:x2,y1:y2)=0;
                r1=x1;r2=x2;s1=y1;s2=y2;
                pr1=0;
            end
            imshow(BW);
        end
        y1=y1+c;
        y2=y2+c;
    end
    x1=x1+r;
    x2=x2+c;
end
figure(2)
subplot(1,2,1);
imshow(BW)
title('图像处理');
%人脸识别
L=bwlabel(BW,8);
BB=regionprops(L,'BoundingBox');
BB1=struct2cell(BB);
BB2=cell2mat(BB1);

[s1 s2]=size(BB2);
mx=0;
for k=3:4:s2-1
    p=BB2(1,k)*BB2(1,k+1);
    if p>mx && (BB2(1,k)/BB2(1,k+1))<1.8
        mx=p;
        j=k;
    end
end
subplot(1,2,2);
title('人脸识别');
imshow(I);
hold on;
rectangle('Position',[BB2(1,j-2),BB2(1,j-1),BB2(1,j),BB2(1,j)],'EdgeColor','r')

 

资源下载

资源下载地址1:https://pan.baidu.com/s/1UAKOWj18vg8ObZi2Zn7c7A

相关资源

网友留言

MATLAB的人脸识别算法的研究
松刚洁

现如今机器视觉越来越盛行,从智能交通系统的车辆识别,车牌识别到交通标牌的识别;从智能手机的人脸识别的性别识别;如今无人驾驶汽车更是应用了大量的机器识别的是算法在里边。

今天我们将从MATLAB的图像识别说起,后边将陆续讲解车牌识别,交通标牌识别等,并努力将它移植到FPGA里边做到高速实时处理。

MATLAB人脸识别的处理过程:

% 读入图像
%低通滤波,去除噪声
%颜色空间的转换
%像素值概率的计算
%图像的腐蚀
%图像的膨胀
%根据填充率,去除手脚等非人脸部分
%根据面积比去除一些较小的非人脸部分
%根据肤色区域的长宽比出去一些非人脸部分
%圈出人脸