2012-10-10 120 views
0

我使用this library在用戶相機的實時反饋上進行人臉檢測,我試圖完成的是在用戶頭部放置一個項目覆蓋。演示版帶來的例子是跟隨用戶的傻眼鏡。我知道谷歌可以在谷歌環聊上做這件事,而不是用臉來追蹤用戶的頭像,因爲Google可以在視頻聊天時放置各種項目。有沒有任何教程,我可以繼續使用CCV的圖書館,並擴展它的這個功能?CCV人臉檢測Javascript庫檢測

+2

您使用的是哪個圖書館?......這就是說,僅僅因爲Google可以做點什麼並不一定意味着我們的凡人也可以。 :) –

+0

大聲笑,我跟着這個教程http://wesbos.com/html5-video-face-detection-canvas-javascript/,它使用劉劉的文件。 – shayward

回答

0

帶我瞭解一下,但我找到了問題。

在計算位置的函數[函數「drawToCanvas」]我不得不亂搞寬度和高度計算。我的輸出如下。

var video = App.video, 
      ctx = App.context, 
      backCtx = App.backContext, 
      m = 5, 
      w = 20, 
      i , 
      comp; 

     ctx.drawImage(video, 0, 0, App.canvas.width, App.canvas.height); 

     backCtx.drawImage(video, 0, 0, App.backCanvas.width, App.backCanvas.height); 

     comp = ccv.detect_objects(App.ccv = App.ccv || { 
      canvas: App.backCanvas, 
      cascade: cascade, 
      interval: 4, 
      min_neighbors: 1 
     }); 

     if (comp.length) { 
      App.comp = comp; 
     } 

     for (var i = 0; i < App.comp.length; i++){ 
      //ctx.drawImage(App.glasses, App.comp[i].x, App.comp[i].y+(App.comp[i].height*.7), App.comp[i].width, (App.comp[i].height/4)); 
      ctx.drawImage(App.glasses, (App.comp[i].x - w/.7) * m, (App.comp[i].y - w/.5) * m, (App.comp[i].width + w) * m, (App.comp[i].height + w) * m); 

是這樣它可以把你正在使用的用戶頭頂上什麼都像。

1

看起來像一個真正的基本解決方案將只是重新創建glasses.png文件有點大,並以矩形的形式...可能不完全是你以後,但這似乎是一個簡單的解決方案給我。

+0

嗯,生病嘗試。不知道爲什麼我沒有想到這個謝謝。生病報告回來。 – shayward

+0

經過一段時間後,它似乎是檢測眼睛和嘴巴。當圖像重新適合臉部大小時,它會自動將圖像放置在我的眼睛上,即使我將圖像放大後仍然會縮小以適合臉部。 – shayward