• 大小: 188KB
    文件类型: .rar
    金币: 2
    下载: 1 次
    发布日期: 2021-08-04
  • 语言: Matlab
  • 标签: 人脸识别  

资源简介

KL变换人脸识别,基于matlab,简单的程序

资源截图

代码片段和文件信息


clear all
close all
clc
%%%%% Reading of a RGB image

im=imread(‘face8.JPG‘);
figure(1);
imshow(im)
I=rgb2gray(im);
figure(2);imshow(I);
BW=im2bw(I);    %将亮度图像通过阈值处理转换为二值图像,阈值默认为0.5
figure (3);imshow(BW)

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%      minimisation of background portion

[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
           figure(4);  imshow(BW);
        end
            y1=y1+c;
            y2=y2+c;
    end
    
 x1=x1+r;
 x2=x2+r;
end
 figure (4);imshow(BW)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%% detection of face object

L = bwlabel(BW8);
BB  = regionprops(L ‘BoundingBox‘);   % 图像区域特性分析 
BB1=struct2cell(BB);          % Convert structure to cell array
BB2=cell2mat(BB1);           % 单元内容转换成数组矩阵。

[s1 s2]=size(BB2);
mx=0;
for k=3:4:s2-1
    p=BB2(1k)*BB2(1k+1)*BB2(1k-1)*BB2(1k-2);
    if p>mx & (BB2(1k)/BB2(1k+1))<1.8
       mx=p;
        j=k;
    end
end
% j=40
figure(5);imshow(im);
hold on;
rectangle(‘Position‘[BB2(1j-2)BB2(1j-1)BB2(1j)BB2(1j+1)]‘EdgeColor‘‘g‘ )
% rectangle(‘Position‘10050120130]‘EdgeColor‘‘g‘ )

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件     164592  2010-06-24 11:08  face8.jpg

     文件       1633  2010-06-24 12:05  facedetection.m

     文件      66048  2010-06-24 11:00  K-L变换在人脸识别中的应用.doc

----------- ---------  ---------- -----  ----

               232273                    3


评论

共有 条评论