調用OpenCV實現人臉識別功能

        承接上篇的OpenCV3.1安裝配置,這裏寫了調用OpenCV的一些人臉識別C++方法。html

        OpenCV很是方便,擁有各類圖片處理的功能,我的只瞭解了部分關於人臉識別方面的知識。這裏介紹:人臉的識別,圖片灰度化的例子,方便你們入門學習。git

        首先建立一個解決方案(OpenCVInstance1)並配置OpenCV 3.1的調用(參照上篇:關於OpenCV 3.1的搭建使用經驗)。配置後便可開始使用OpenCV3.1的功能,如下爲使用的兩個例子方法:github

void rectface(char* url, char* url2);
int grayface(char* url, char* url2);

rectface()方法用於對圖片中人臉「加框」識別。算法

grayface()方法用於灰度化圖片並截取人臉圖片。學習

原圖:url

rectface()方法加框後:.net

grayface()方法灰度化並截取人臉後:code

 

 

OpenCV支持三種圖像特徵分類器:HOG特徵、LBP特徵、Haar特徵,這裏使用Haar特徵分類器。xml

1、Haar特徵分類器htm

        這裏人臉識別使用到Haar特徵分類器。Haar特徵分類器是是Boosting算法的一個應用,它使用級聯分類器對圖片進行分析,經過人臉特徵值來識別出人臉。涉及算法方面知識複雜,這裏只是介紹使用。在OpenCV的目錄下帶有各類特徵分類器文件(.xml):%OpenCV_HOME%\install\etc;例子項目中使用的是haarcascade_frontalface_alt.xml。

Haar特徵參考文章:http://blog.csdn.net/liulina603/article/details/8617281    

                                 http://www.cnblogs.com/ello/archive/2012/04/28/2475419.html

2、灰度化

        特徵分類器對圖片的分析,主要是對指定區域中,不一樣像素點的色彩差來區分,而灰度圖更加清晰反映圖像特徵,因此通常先將圖片進行灰度化。

 

本項目源碼(GitHub):  https://github.com/alvinlovelife/OpenCV-Instance.git

相關文章
相關標籤/搜索