2012-10-10 4 views
0

사용자 카메라의 라이브 피드에서 얼굴을 감지하기 위해 this library을 사용하고 있는데, 사용자가 머리에 항목 오버레이를 배치하려고합니다. 데모가 제공되는 예는 사용자 얼굴을 따라가는 어리석은 안경입니다. 내가 사용자의 머리를 추적하고 싶은 얼굴 대신, Google이 비디오 채팅 중에 다양한 항목을 배치 할 수있는 Google 행 아웃에서 가능한 것처럼 알고 있습니다. 이 자습서가 있습니까? CCV의 라이브러리를 계속 사용하고 확장 할 수 있습니까?CCV 얼굴 인식 Javascript 라이브러리 Quendtion

+2

어떤 라이브러리를 사용하고 계십니까? ... 그렇다고해서 Google이 뭔가를 할 수 있다고해서 반드시 필사자가 할 수 있다는 것을 의미하지는 않습니다. :) –

+0

lol, 나는이 튜토리얼을 따라 갔다. http://wesbos.com/html5-video-face-detection-canvas-javascript/. Liu Liu의 파일을 사용한다. – 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