4.3 人臉融合應用程式的設計
阿新 • • 發佈:2019-01-14
文章目錄
4.3 人臉融合應用程式的設計
ManyMasks軟體開啟之後,將展現一個實時的視訊預覽層,一個工具欄,以及位於下方兩個角落的兩個已經混合的臉部影象.當應用程式檢測到人臉之後,會繪製一下形狀:
- 圍繞臉部區域的黃色矩形
- 圍繞左眼的紅色矩形
- 中心位於左眼中心或者瞳孔的紅色圓形
- 圍繞右眼的綠色矩形
- 中心位於右眼中心或者瞳孔的綠色圓形
- 中心位於鼻尖的藍色圓形
而當檢測到貓的臉部時,應用程式將繪製以下形狀: - 圍繞臉部區域的白色矩形
- 中心位於左眼中心或者瞳孔的紅色圓形
- 中心位於右眼中心或者瞳孔的綠色圓形
- 中心位於鼻尖的藍色圓形
[就我們的目的而言,左右方向指的是觀看者的視角,而不是主體的視角。OpenCV的開發人員和計算機視覺領域的大多數作者也遵循這種約定。(即我們說的左眼,其實是人物的右眼)]
下圖展示了應用程式啟動後檢測到人臉後的效果:
工具欄提供了一個用來選擇顏色模式的分段控制元件,一個切換前後攝像頭的按鈕.這些控制元件和第二章’'捕獲,儲存和分享照片"中實現的功能很類似,所以本章中我們不再過多討論.
除了控制相機的功能,工具欄提供了3個額外按鈕."Face 1"和"Face 2"按鈕讓使用者可以選擇當前檢測到的人臉.(如果當前有超過一個人臉被檢測到,預設選擇的是最大的.)當前選擇的人臉以小圖片的方式顯示在下放的角落中,如下圖所示:
當選擇了兩張臉之後,使用者可以選擇點選’Merge’按鈕進行融合.程式將呈現出一根模態的檢視控制器,顯示了一個融合的面部以及不同的工具欄,如下圖所示:
在左邊,工具欄有一個標準的垃圾箱按鈕,用來丟棄掉這張圖片並返回到相機預覽頁面.在右邊,有一個"Save"按鈕,用來儲存圖片到相簿,並且提示使用者是否將圖片分享到社交網路.比如,如果使用者裝置上有推特賬號,就會展示如下的對話方塊:
如果使用者選擇分享圖片,一個標準的組合框就會出現,如下圖所示:
還記得我們在二章"捕獲,儲存和分享照片"中實現了類似的儲存和分享的圖片功能,所本章也不會對這個功能討論太多.
如果使用者分享了圖片或者選擇不分享,程式將返回到視訊預覽頁面.然後,使用者又可以選擇和融合不同的臉了.