基於MATLAB的人臉識別算法的研究
作者:lee神
現如今機器視覺越來越盛行,從智能交通系統的車輛識別,車牌識別到交通標牌的識別;從智能手機的人臉識別的性別識別;如今無人駕駛汽車更是應用了大量的機器識別的是算法在里邊。
今天我們將從MATLAB的圖像識別說起,后邊將陸續講解車牌識別,交通標牌識別等,並努力將它移植到FPGA里邊做到高速實時處理。
MATLAB人臉識別的處理過程:
- % 讀入圖像
- %低通濾波,去除噪聲
- %顏色空間的轉換
- %像素值概率的計算
- %圖像的腐蝕
- %圖像的膨脹
- %根據填充率,去除手腳等非人臉部分
- %根據面積比去除一些較小的非人臉部分
- %根據膚色區域的長寬比出去一些非人臉部分
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步驟人臉識別成功
此代碼經過大量實驗基本可以實現人臉識別。
還需進一步完善。
最后歡迎大家關注我的扣扣群,微信公眾號。