###前提・実現したいこと
現在は、CameraBridgeViewBaseを使って特に画像への処理は行わずに
カメラプレビューを表示しています。
実現したいことは、アプリが起動したときから常時フラッシュライトをONにすることです。
サイトなどを見るとCameraを使ってパラメータにFLASH_MODE_TORCHを
セットしている方法が多かったのですが、CameraBridgeViewBaseとCameraを組み合わせるとうまくいきませんでした。
そもそも二つを組み合わせている方法を見つけることができませんでした。
それと、CameraBridgeViewBaseを使用して何か画像への処理を行うとプレビューのFPSが高いと感じたのこっちを使いたいです。
CameraBridgeViewBaseを使ったままフラッシュライトをONにする方法を教えてください。
回答よろしくお願いします。
###該当のソースコード
Java
1public class MainActivity extends Activity implements CvCameraViewListener2 { 2 3 private static final String TAG = "OCVSample::Activity"; 4 5 private Mat mRgba; 6 private Mat mGray; 7 8 private CameraBridgeViewBase mOpenCvCameraView; 9 10 static { 11 if (!OpenCVLoader.initDebug()) { 12 // Handle initialization error 13 } 14 } 15 16 private BaseLoaderCallback mLoaderCallback = new BaseLoaderCallback(this) { 17 @Override 18 public void onManagerConnected(int status) { 19 switch (status) { 20 case LoaderCallbackInterface.SUCCESS: 21 { 22 Log.i(TAG, "OpenCV loaded successfully"); 23 mOpenCvCameraView.enableView(); 24 } break; 25 default: 26 { 27 super.onManagerConnected(status); 28 } break; 29 } 30 } 31 }; 32 33 /** Called when the activity is first created. */ 34 @Override 35 public void onCreate(Bundle savedInstanceState) { 36 Log.i(TAG, "called onCreate"); 37 super.onCreate(savedInstanceState); 38 getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); 39 40 setContentView(R.layout.main_activity); 41 42 mOpenCvCameraView = (CameraBridgeViewBase) findViewById(R.id.mySurfaceView); 43 mOpenCvCameraView.setCvCameraViewListener(this); 44 45 mOpenCvCameraView.enableFpsMeter(); 46 47 } 48 49 @Override 50 public void onPause() 51 { 52 super.onPause(); 53 if (mOpenCvCameraView != null) 54 mOpenCvCameraView.disableView(); 55 } 56 57 @Override 58 public void onResume() 59 { 60 super.onResume(); 61 OpenCVLoader.initAsync(OpenCVLoader.OPENCV_VERSION_2_4_11, this, mLoaderCallback); 62 } 63 64 public void onDestroy() { 65 super.onDestroy(); 66 mOpenCvCameraView.disableView(); 67 mOpenCvCameraView.disableFpsMeter(); 68 } 69 70 public void onCameraViewStarted(int width, int height) { 71 mGray = new Mat(); 72 mRgba = new Mat(); 73 } 74 75 public void onCameraViewStopped() { 76 mGray.release(); 77 mRgba.release(); 78 } 79 80 public Mat onCameraFrame(CvCameraViewFrame inputFrame) { 81 82 mRgba = inputFrame.rgba(); 83 84 return mRgba; 85 86 } 87}
あなたの回答
tips
プレビュー