基於MATLAB的人臉識別算法的研究


基於MATLAB的人臉識別算法的研究

作者:lee神

現如今機器視覺越來越盛行,從智能交通系統的車輛識別,車牌識別到交通標牌的識別;從智能手機的人臉識別的性別識別;如今無人駕駛汽車更是應用了大量的機器識別的是算法在里邊。

今天我們將從MATLAB的圖像識別說起,后邊將陸續講解車牌識別,交通標牌識別等,並努力將它移植到FPGA里邊做到高速實時處理。

MATLAB人臉識別的處理過程:

  1. % 讀入圖像
  2. %低通濾波,去除噪聲
  3. %顏色空間的轉換
  4. %像素值概率的計算
  5. %圖像的腐蝕
  6. %圖像的膨脹
  7. %根據填充率,去除手腳等非人臉部分
  8. %根據面積比去除一些較小的非人臉部分
  9. %根據膚色區域的長寬比出去一些非人臉部分

10.%圈出人臉

部分源碼:

clear all

close all

clc

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%讀入圖像

x= imread('boy1.bmp');

xx=x;

figure,

imshow(x);

 

%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 低通濾波,去除噪聲

fR=xx(:,:,1);

fG=xx(:,:,2);

fB=xx(:,:,3);

f=1/9*ones(3);%µÍͨÂ˲¨Æ÷£¬Â˳ý¸ßƵÔëÉù

filtered_fR=imfilter(fR,f);

filtered_fG=imfilter(fG,f);

filtered_fB=imfilter(fB,f);

x_filtered=cat(3,filtered_fR,filtered_fG,filtered_fB);

figure,

imshow(x_filtered);

 

%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 顏色空間的轉換

I=rgb2ycbcr(x);        %ÑÕÉ«¿Õ¼äת»»

gray=rgb2gray(x);

figure,

imshow(gray);

實驗結果:

 

 

原圖

 

 

低通濾波

 

 

顏色空間轉換rgbtoycbcr

 

 

轉化為灰度圖像

 

 

概率計算轉換為二值圖像

 

 

腐蝕膨脹

 

 

經過7,8,9,10步驟人臉識別成功

此代碼經過大量實驗基本可以實現人臉識別。

還需進一步完善。

最后歡迎大家關注我的扣扣群,微信公眾號。

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM