❶ opencv實現人臉識別有多少種演算法
OpenCV在2.4.1以後的版本中開始自帶人臉識別,共有三種人臉識別演算法的實現,分別是PCA , LDA , LBPH. OpenCV2創建方法如下:
cv::Ptr<cv::FaceRecognizer>facerPCA,facerLDA;
cv::Ptr<cv::FaceRecognizer>facerLBPH=cv::createLBPHFaceRecognizer();
facerPCA=cv::Algorithm::create<cv::FaceRecognizer>("FaceRecognizer.Eigenfaces");
facerLDA=cv::Algorithm::create<cv::FaceRecognizer>("FaceRecognizer.Fisherfaces");
在OpenCV3中,人臉識別的實現被移動到第三方庫opencv_contrib中,而且OpenCV3版本的各個版本3.0.0,3.2.0,3.3.0的創建方法均不同,且都被移動到cv::face::名字空間下.
❷ 求助:我能否用c語言編寫一個人臉識別系統
當然可以,C語言幾乎可以在計算機上做任何事情,只是工作量的問題。比如我的世界,你可以用磚頭自己搭出整個世界,也可以用一些搭好的零件,也可以直接在別人搭好的世界上修改。
❸ 基於opencv的人臉識別c語言程序
不知道這個可不可以。望採納~
❹ 關於單片機實現人臉識別的問題,求大神指導!
夠嗆,再說他的速度也可能吃不消啊。
人臉識別裡面有比較復雜的演算法,比較耗資源。
❺ c語言寫人臉識別需要用到opencv嗎
我去年就用opencv開發的android手機端的關於人臉識別的增強現實應用。我可以很明確的告訴你,java的opencv頂多調用攝像頭用,圖像處理都用c++的opencv。對於opencv的開發,不管從開發效率還是執行效率,絕對是c++。java版的opencv想都不要想。
❻ 人臉識別原理及演算法
人臉識別原理就是指在動態的場景與復雜的背景中判斷是否存在面像,並分離出這種面像。
人臉識別是一項熱門的計算機技術研究領域,其中包括人臉追蹤偵測,自動調整影像放大,夜間紅外偵測,自動調整曝光強度等技術。
人臉識別技術是基於人的臉部特徵,對輸入的人臉圖像或者視頻流 . 首先判斷其是否存在人臉 , 如果存在人臉,則進一步的給出每個臉的位置、大小和各個主要面部器官的位置信息。並依據這些信息,進一步提取每個人臉中所蘊涵的身份特徵,並將其與已知的人臉進行對比,從而識別每個人臉的身份。
一般來說,人臉識別系統包括圖像攝取、人臉定位、圖像預處理、以及人臉識別(身份確認或者身份查找)。系統輸入一般是一張或者一系列含有未確定身份的人臉圖像,以及人臉資料庫中的若干已知身份的人臉圖象或者相應的編碼,而其輸出則是一系列相似度得分,表明待識別的人臉的身份。
人臉識別是採用的分析演算法。
人臉識別技術中被廣泛採用的區域特徵分析演算法,它融合了計算機圖像處理技術與生物統計學原理於一體,利用計算機圖像處理技術從視頻中提取人像特徵點,利用生物統計學的原理進行分析建立數學模型,即人臉特徵模板。利用已建成的人臉特徵模板與被測者的人的面像進行特徵分析,根據分析的結果來給出一個相似值。通過這個值即可確定是否為同一人。
❼ 人臉識別演算法是什麼
在檢測到人臉並定位面部關鍵特徵點之後,主要的人臉區域就可以被裁剪出來,經過預處理之後,饋入後端的識別演算法。識別演算法要完成人臉特徵的提取,並與庫存的已知人臉進行比對,完成最終的分類。像現在 虹 軟、百 度 都在做人臉識別演算法。
❽ 求PCA人臉識別演算法
a1=imread('a1.jpg');
a2=imread('a2.jpg');
b1=imread('b1.jpg');
b2=imread('b2.jpg');
a1=rgb2gray(a1);
a2=rgb2gray(a2);
b1=rgb2gray(b1);
b2=rgb2gray(b2);
figure,imshow(a1)
figure,imshow(a2)
figure,imshow(b1)
figure,imshow(b2)
a1=double(a1);
a2=double(a2);
b1=double(b1);
b2=double(b2);
a1_lie=a1(:);
a2_lie=a2(:);
b1_lie=b1(:);
b2_lie=b2(:);
c=cat(1,a1_lie',a2_lie',b1_lie',b2_lie');
c_mean=mean(c);
X=[a1_lie-c_mean',a2_lie-c_mean',b1_lie-c_mean',b2_lie-c_mean'];
R=X'*X; % R是4×4的矩陣
[p,q]=eig(R);
u=diag(q); % u是4×1的列向量
u=flipud(u); % flipud(u)實現矩陣的上下翻轉, u是4×1的列向量
v=fliplr(p); % fliplr(p)實現矩陣的左右翻轉,v是4×4的矩陣
e=zeros(36000,4);
for m=1:3
e(:,m)=X*v(:,m)./(u(m)^(-0.5)); % 參見《模式識別》P226公式9-18
end
p1=zeros(200,180);
p2=zeros(200,180);
p3=zeros(200,180);
for m=1:36000
p1(m)=e(m);
p2(m)=e(m+36000);
p3(m)=e(m+72000);
end
p1=mat2gray(p1);
p2=mat2gray(p2);
p3=mat2gray(p3);
figure,imshow(p1) % 顯示第1特徵臉
figure,imshow(p2) % 顯示第2特徵臉
figure,imshow(p3) % 顯示第3特徵臉
new=c*e(:,1:3); %分別計算4個訓練樣本分別在第1、第2、第3、特徵臉上的投影
p1=imread('p_test1.jpg'); %讀入一個測試樣本
p1=rgb2gray(p1);
figure,imshow(p1);
p2=double(p1(:));
test=p2'*e(:,1:3);%計算測試樣本在3個特徵臉上的投影
error=zeros(4,1);
for m=1:4
error(m)=norm((new(m,:)-test));
end
[distence,index]=sort(error); %將列向量error中的數據按從小到大排列
if index(1)==1
result=1;
elseif index(1)==2
result=1;
elseif index(1)==3
result=2;
elseif index(1)==4
result=2;
end
result %result為1時表示測試樣本屬於第1個人,為2時表示測試樣本屬於第2個人
❾ 人臉識別的識別演算法
一般來說,人臉識別系統包括圖像攝取、人臉定位、圖像預處理、以及人臉識別(身份確認或者身份查找)。系統輸入一般是一張或者一系列含有未確定身份的人臉圖像,以及人臉資料庫中的若干已知身份的人臉圖象或者相應的編碼,而其輸出則是一系列相似度得分,表明待識別的人臉的身份。
人臉識別演算法分類
基於人臉特徵點的識別演算法(Feature-based recognition algorithms)。
基於整幅人臉圖像的識別演算法(Appearance-based recognition algorithms)。
基於模板的識別演算法(Template-based recognition algorithms)。
利用神經網路進行識別的演算法(Recognition algorithms using neural network)。
基於光照估計模型理論
提出了基於Gamma灰度矯正的光照預處理方法,並且在光照估計模型的基礎上,進行相應的光照補償和光照平衡策略。
優化的形變統計校正理論
基於統計形變的校正理論,優化人臉姿態;強化迭代理論
強化迭代理論是對DLFA人臉檢測演算法的有效擴展;
獨創的實時特徵識別理論
該理論側重於人臉實時數據的中間值處理,從而可以在識別速率和識別效能之間,達到最佳的匹配效果
❿ 求:基於PCA的人臉識別,C語言的代碼!
同意dannie0624, 知道也不能/不敢/不願發的 (付費除外)