Matlab实现人脸识别

本文记录了使用Matlab进行人脸识别的实践,包括查找图片中人脸并框选,以及通过PCA算法进行人脸比对。首先,通过转换RGB图片到灰度图像,然后进行图像处理和识别。接着,利用PCA对人脸样本进行特征提取,实现人脸比对。虽然精确度有限,但了解了基本流程。未来计划深入学习并应用神经网络以提高识别精度。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 最近在学习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)
评论 330
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值