2013-06-18 6 views

答えて

15

opencv/samples/android /にあるopencvのサンプルを見て、そこにいくつかの良い例があるはずです。ここにはhow to open the cameraと表示されているドキュメントへのリンクもあります。カメラへのアクセス権を要求することを忘れないでください。

ショートバージョン、完全な詳細については、リンクを参照してください。 レイアウトを追加します。

<org.opencv.android.JavaCameraView 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:visibility="gone" 
    android:id="@+id/HelloOpenCvView" 
    opencv:show_fps="true" 
    opencv:camera_id="any" /> 

初期化手順:

private BaseLoaderCallback mLoaderCallback = new BaseLoaderCallback(this) { 
    @Override 
    public void onManagerConnected(int status) { 
     switch (status) { 
      case LoaderCallbackInterface.SUCCESS: 
      { 
       Log.i(TAG, "OpenCV loaded successfully"); 
       mOpenCvCameraView.enableView(); 
      } break; 
      default: 
      { 
       super.onManagerConnected(status); 
      } break; 
     } 
    } 
}; 

@Override 
public void onResume() 
{ 
    super.onResume(); 
    OpenCVLoader.initAsync(OpenCVLoader.OPENCV_VERSION_2_4_3, this, mLoaderCallback); 
} 

はCVFrameListener2インターフェイスを実装します。

private CameraBridgeViewBase mOpenCvCameraView; 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    Log.i(TAG, "called onCreate"); 
    super.onCreate(savedInstanceState); 
    getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); 
    setContentView(R.layout.HelloOpenCvLayout); 
    mOpenCvCameraView = (CameraBridgeViewBase) findViewById(R.id.HelloOpenCvView); 
    mOpenCvCameraView.setVisibility(SurfaceView.VISIBLE); 
    mOpenCvCameraView.setCvCameraViewListener(this); 
} 

@Override 
public void onPause() 
{ 
    super.onPause(); 
    if (mOpenCvCameraView != null) 
     mOpenCvCameraView.disableView(); 
} 

public void onDestroy() { 
    super.onDestroy(); 
    if (mOpenCvCameraView != null) 
     mOpenCvCameraView.disableView(); 
} 

public void onCameraViewStarted(int width, int height) { 
} 

public void onCameraViewStopped() { 
} 

public Mat onCameraFrame(CvCameraViewFrame inputFrame) { 
    return inputFrame.rgba(); 
} 
+0

あなたも言うことができますどのようにキャプチャされた画像から領域を検出するには? – TharakaNirmana

+0

新しい質問として追加してください。これはこれとは関係がないためです。特にこれは広範な話題なので、 – Nicholas

関連する問題