2016-12-17 8 views
1

5秒後にこのコードを実行すると、これらのコードを試してから別の機能にジャンプします。どのように組み合わせることができますか、スレッドを使用していますか?5秒間コードを実行してから、AndroidスタジオJavaの他のコードにジャンプしますか?

private Mat get_template(CascadeClassifier clasificator, Rect area,int size){ 
    Mat template = new Mat(); 
    Mat mROI = mGray.submat(area); 
    MatOfRect eyes = new MatOfRect(); 
    Point iris = new Point(); 
    Rect eye_template = new Rect(); 
    clasificator.detectMultiScale(mROI, eyes, 1.15, 2,Objdetect.CASCADE_FIND_BIGGEST_OBJECT|Objdetect.CASCADE_SCALE_IMAGE, new Size(30,30),new Size()); 

    Rect[] eyesArray = eyes.toArray(); 
    for (int i = 0; i < eyesArray.length; i++){ 
     Rect e = eyesArray[i]; 
     e.x = area.x + e.x; 
     e.y = area.y + e.y; 
     Rect eye_only_rectangle = new Rect((int)e.tl().x,(int)(e.tl().y + e.height*0.4),(int)e.width,(int)(e.height*0.6)); 
     // reduce ROI 
     mROI = mGray.submat(eye_only_rectangle); 
     Mat vyrez = mRgba.submat(eye_only_rectangle); 
     // find the darkness point 
     Core.MinMaxLocResult mmG = Core.minMaxLoc(mROI); 
     // draw point to visualise pupil 
     Core.circle(vyrez, mmG.minLoc,2, new Scalar(255, 255, 255, 255),2); 
     iris.x = mmG.minLoc.x + eye_only_rectangle.x; 
     iris.y = mmG.minLoc.y + eye_only_rectangle.y; 
     eye_template = new Rect((int)iris.x-size/2,(int)iris.y-size/2 ,size,size); 
     Core.rectangle(mRgba,eye_template.tl(),eye_template.br(),new Scalar(255, 0, 0, 255), 2); 
     // copy area to template 
     template = (mGray.submat(eye_template)).clone(); 
     return template; 
    } 
    return template; 
} 

からの資源:http://romanhosek.cz/android-eye-detection-and-tracking-with-opencv/

は、これらのコードを使用していますか?

どのように組み合わせる必要がありますか?実際にはコードの一部が目を検出していますが、今度は別の機能コードにジャンプしてから5秒後に目を検出する必要があります。

私はそれらに結合するためにどのようなコードを使用できますか?あなたが何か考えているならば、答えるのに助けが必要です。

おかげ

答えて

0
  1. 最初に実行する方法
  2. 5秒後にUIスレッドで何かを実行する

2.For:

final Handler handler = new Handler(); 
handler.postDelayed(new Runnable() { 
    @Override 
    public void run() { 
    // Stop 1st one 
      // run 2nd 
    } 
}, 5000); 
+0

こんにちは、あなたは歓迎されている – ehui

+0

に答えるために感謝:) –

+0

私は上記のコードをpublic void run()に入れることができますか?私は今しようとしている – ehui

関連する問題