Core Image框架詳細解析(六) —— 圖像中的面部識別Detecting Faces in an Image(一)

版本記錄

版本號 時間
V1.0 2018.01.28

前言

Core Image是IOS5中新加入的一個框架,里面提供了強大高效的圖像處理功能,用來對基于像素的圖像進行操作與分析。還提供了很多強大的濾鏡,可以實現你想要的效果,下面我們就一起解析一下這個框架。感興趣的可以參考上面幾篇。
1. Core Image框架詳細解析(一) —— 基本概覽
2. Core Image框架詳細解析(二) —— Core Image濾波器參考
3. Core Image框架詳細解析(三) —— 關于Core Image
4. Core Image框架詳細解析(四) —— Processing Images處理圖像(一)
5. Core Image框架詳細解析(五) —— Processing Images處理圖像(二)

圖像中的面部識別

Core Image可以分析和查找圖像中的人臉。 它執行人臉檢測,而不是識別。 人臉檢測是包含人臉特征的矩形的識別,而人臉識別是特定人臉的識別(John,Mary等)。 Core Image檢測到人臉后,可以提供有關人臉特征的信息,例如眼睛和嘴巴的位置。 它還可以跟蹤視頻中識別的臉部的位置。

Figure 2-1 Core Image identifies face bounds in an image

知道圖像中人臉的位置可讓您執行其他操作,例如裁剪或調整人臉的圖像質量(色調平衡,紅眼校正等)。 你也可以在臉上進行其他有趣的操作,例如:

Note: Face detection is available in iOS v5.0 and later and in OS X v10.7 and later. 注意:iOS v5.0及更高版本和OS X v10.7及更高版本均提供人臉檢測功能。


Detecting Faces - 面部檢測

使用CIDetector類在圖像中查找面,如Listing 2-1所示

// Listing 2-1  Creating a face detector

CIContext *context = [CIContext context];                    // 1
NSDictionary *opts = @{ CIDetectorAccuracy : CIDetectorAccuracyHigh };      // 2
CIDetector *detector = [CIDetector detectorOfType:CIDetectorTypeFace
                                          context:context
                                          options:opts];                    // 3
 
opts = @{ CIDetectorImageOrientation :
          [[myImage properties] valueForKey:kCGImagePropertyOrientation] }; // 4
NSArray *features = [detector featuresInImage:myImage options:opts];        // 5

這里說明一下代碼要做的事情:

    1. 使用默認選項創建上下文。您可以使用Processing Images中描述的任何上下文創建函數。),創建檢測器時,您也可以選擇提供nil而不是上下文。)
    1. 創建一個選項字典來指定檢測器的準確度。您可以指定低或高準確度。在這個例子中顯示,精度低(CIDetectorAccuracyLow)速度快,高精度但速度較慢。
    1. 創建面部檢測器。你可以創造的唯一類型的探測器是人類的面孔。
    1. 設置尋找面部的選項字典。讓Core Image知道圖像的方向是非常重要的,因此探測器知道在哪里可以找到直立的面孔。大多數情況下,您將從圖像本身讀取圖像方向,然后將該值提供給選項字典。
    1. 使用探測器查找圖像中的特征。您提供的圖像必須是CIImage對象。 Core Image返回一個CIFeature對象數組,每個對象表示圖像中的一個面部。

在獲得一面孔數組之后,您可能需要了解其特征,例如眼睛和嘴巴的位置。 接下來的部分描述了應該怎么做。


Getting Face and Face Feature Bounds - 獲取臉部和臉部特征界限

臉部特征包括:

  • 左右眼位置
  • 嘴巴的位置
  • Core Image用于跟蹤視頻片段中的人臉的跟蹤ID和跟蹤幀數(可在iOS v6.0及更高版本和OS X v10.8及更高版本中使用)

CIDetector對象獲取一數組面部特征后,您可以遍歷數組來檢查每個面的邊界以及面中的每個特征,如Listing 2-2所示

// Listing 2-2  Examining face feature bounds

for (CIFaceFeature *f in features) {
    NSLog(@"%@", NSStringFromRect(f.bounds));
 
    if (f.hasLeftEyePosition) {
        NSLog(@"Left eye %g %g", f.leftEyePosition.x, f.leftEyePosition.y);
    }
    if (f.hasRightEyePosition) {
        NSLog(@"Right eye %g %g", f.rightEyePosition.x, f.rightEyePosition.y);
    }
    if (f.hasMouthPosition) {
        NSLog(@"Mouth %g %g", f.mouthPosition.x, f.mouthPosition.y);
    }
}

后記

本篇已結束,后面更精彩~~~

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,461評論 6 532
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,538評論 3 417
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,423評論 0 375
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,991評論 1 312
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,761評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,207評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,268評論 3 441
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,419評論 0 288
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,959評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,782評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,983評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,528評論 5 359
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,222評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,653評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,901評論 1 286
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,678評論 3 392
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,978評論 2 374

推薦閱讀更多精彩內容