-1

私は目の動きに検出する必要がある1つのアンドロイドアプリケーションを準備しています。どういうわけか私はイメージ上で上記のことを達成することができますが、私はこれをライブの目にしたい。Android:リアルタイムでセンサーを使って目の動きを検出

近接センサを使用して目を検出できるかどうかはわかりません。スマートステイ機能と似ています。

同じものを実装するためのアイデアを提案してください。

+0

あなたはそのための近接を使用しないでよ、あなたはあなたのカムを使用します...私は、この提案のため –

+0

おかげ@OmarElDonに役立ちます願っています。フロントカメラはバックグラウンドで画面に表示されず、目を検出します。私の理解が正しいかどうか確認してください。 – PuneetGupta

+0

正確にはそうではありませんが、それはちょうど近接は少なくとも遠方の物体の動き検出器としては機能しません –

答えて

0

我々が点滅し、目と目を検出するためのフロントカメラを使用することができます。目を検出するためにVision APIを使用します。アイトラッキングのための

コード:

public class FaceTracker extends Tracker<Face> { 

private static final float PROB_THRESHOLD = 0.7f; 
private static final String TAG = FaceTracker.class.getSimpleName(); 
private boolean leftClosed; 
private boolean rightClosed; 

@Override 
public void onUpdate(Detector.Detections<Face> detections, Face face) { 
    if (leftClosed && face.getIsLeftEyeOpenProbability() > PROB_THRESHOLD) { 
     leftClosed = false; 
    } else if (!leftClosed && face.getIsLeftEyeOpenProbability() < PROB_THRESHOLD){ 
     leftClosed = true; 
    } 
    if (rightClosed && face.getIsRightEyeOpenProbability() > PROB_THRESHOLD) { 
     rightClosed = false; 
    } else if (!rightClosed && face.getIsRightEyeOpenProbability() < PROB_THRESHOLD) { 
     rightClosed = true; 
    } 

    if (leftClosed && !rightClosed) { 
     EventBus.getDefault().post(new LeftEyeClosedEvent()); 
    } else if (rightClosed && !leftClosed) { 
     EventBus.getDefault().post(new RightEyeClosedEvent()); 
    } else if (!leftClosed && !rightClosed) { 
     EventBus.getDefault().post(new NeutralFaceEvent()); 
    } 
} 
} 


//method to call the FaceTracker 
private void createCameraResources() { 
    Context context = getApplicationContext(); 

    // create and setup the face detector 
    mFaceDetector = new FaceDetector.Builder(context) 
      .setProminentFaceOnly(true) // optimize for single, relatively large face 
      .setTrackingEnabled(true) // enable face tracking 
      .setClassificationType(/* eyes open and smile */ FaceDetector.ALL_CLASSIFICATIONS) 
      .setMode(FaceDetector.FAST_MODE) // for one face this is OK 
      .build(); 

    // now that we've got a detector, create a processor pipeline to receive the detection 
    // results 
    mFaceDetector.setProcessor(new LargestFaceFocusingProcessor(mFaceDetector, new FaceTracker())); 

    // operational...? 
    if (!mFaceDetector.isOperational()) { 
     Log.w(TAG, "createCameraResources: detector NOT operational"); 
    } else { 
     Log.d(TAG, "createCameraResources: detector operational"); 
    } 

    // Create camera source that will capture video frames 
    // Use the front camera 
    mCameraSource = new CameraSource.Builder(this, mFaceDetector) 
      .setRequestedPreviewSize(640, 480) 
      .setFacing(CameraSource.CAMERA_FACING_FRONT) 
      .setRequestedFps(30f) 
      .build(); 
} 
0

いいえ目の検出やトラッキングに近接センサーを使用することはできません。 OpenCVにショットを与える。
リンク:OpenCv githubの:OpenCv github

+0

目の検出にフロントカメラを使用できますか?前面のカムをバックグラウンドで実行できることを意味し、目を感知することができます。 – PuneetGupta

+0

はい、可能です。 –

+0

あなたはopenCvなしでアンドロイドでこれに関する実行例がありますか(openCvについては何も知らない)。 – PuneetGupta

関連する問題