虛擬實境技術 給人臉加眼鏡

2021-07-02 17:17:38 字數 1729 閱讀 9430

近期做了乙個專案,在檢測到的人臉影象上加眼鏡。初步完成了一些成果,但是還有很多不足,請大家多提建議。

主要技術路線:

一、人臉檢測,人臉檢測部分採用的是opencv

自帶的人臉檢測器,由於速度的限制,本文採用的是檢測一張人臉,而非多張人臉。

二、人眼定位。如下圖所示:

在定位人臉特徵點後,其中每個點的座標都可以確定,選取人眼所在的區域:如上圖紅色方框所示。在紅色方框內,將畫素值最低的20%

的畫素置為

255,其他置為

0,即將人眼區域二值化:

採用類harr

特徵描述運算元遍歷二值化影象,即白色部分減去黑色部分的,在人眼球部位會出現極值。

三、在人眼區域加眼鏡。確定人眼眼球位置後,計算兩眼之間的距離l1

,手工標定眼鏡對於兩眼的位置,即:

眼鏡縮放的比例為:scale=l1/l2;

將眼鏡影象的長寬各乘以

scale

,給到適合臉型的眼鏡大小。

四、如若實現加眼鏡,還需要三個影象,即原圖和兩張掩膜影象:

採用opencv

裡的copyto

函式。採用掩膜

2,得到除眼鏡片區域以外的背景圖,並將其儲存為

把原圖眼鏡的影象加在人臉影象上,主要採用addweighted函式,並對每張圖附上不同的權重。

c++: void addweighted(inputarray src1, double alpha, inputarray src2, double beta, double gamma, outputarray dst, int dtype=-1)

其中調整addweighted

中 alpha

,beta

的值可以改變透明度。如下圖所示:

從上圖可以看出,加上眼鏡後,眼鏡周圍有白色的部分,將儲存的temp

到原圖中就可以抵消掉白色。最終加眼鏡後的人臉影象為:

還需要解決的問題:一、如何根據人臉的旋轉角度來新增眼鏡

二、如何加上眼鏡架

VR虛擬實境眼鏡那些事

vr虛擬實境眼鏡那些事 今天是2014.3.20,筆者從oculus官網訂了dk2 第二代開發版 想想從哪說起呢.2002年,筆者畢業第一年,每週六下班固定是去網咖通宵cs。2007年,蘋果重新定義了手機,幾年後把諾基亞打入了無間地獄。2009年,阿凡達重新定義了3d,當年看完電影亢奮的情形現在依然...

vr虛擬實境技術介紹,vr虛擬實境技術未來前景

所謂vr虛擬實境技術,顧名思義,就是虛擬和現實相互相結合的技術。從理論上來講,vr虛擬實境技術是一種可以構建和感受虛擬世界的計算機 系統,它借助計算機生成一種虛擬環境,使訪客沉浸到該環境中。vr虛擬實境技術就是運用現實生活中的資料資訊,借助計算機技術產生的電子訊號,將其與各種輸出裝置相結合使其轉換為...

3D手機虛擬實境眼鏡大全

日期 2015 01 12 真實幻覺 virtual reality,簡稱vr,又譯作靈境 幻真 是近年來出現的高新技術,也稱靈境技術或人工環境。虛擬實境是利用電腦模擬產生乙個三維空間的虛擬世界,提供使用者關於視覺 聽覺 觸覺等感官的模擬,讓使用者如同身歷其境一般,可以及時 沒有限制地觀察三度空間內...