openCvからカメラ起動
ここに質問の内容を詳しく書いてください。
android studioでopenCvを使って、動体検知をしたいと考えていますが、カメラが起動しないで
android studio opencv manager package was not found
というのが表示されるだけです
実際に参考にした資料がこちらです
https://rest-term.com/archives/3010/
https://qiita.com/iwatake2222/items/2642669419fdaa20a8a6
■■な機能を実装中に以下のエラーメッセージが発生しました。
発生している問題・エラーメッセージ
android studio opencv manager package was not found
該当のソースコード
java
1package com.example.plank; 2 3//androidのモジュール 4import android.app.Activity; 5import android.os.Bundle; 6import android.util.Log; 7import androidx.core.app.ActivityCompat; 8import androidx.core.content.ContextCompat; 9import android.Manifest; 10import android.content.pm.PackageManager; 11 12//opencvのモジュール 13import org.opencv.android.OpenCVLoader; 14import org.opencv.android.BaseLoaderCallback; 15import org.opencv.android.CameraBridgeViewBase; 16import org.opencv.android.LoaderCallbackInterface; 17import org.opencv.core.Mat; 18 19 20public class OpencvActivity extends Activity implements CameraBridgeViewBase.CvCameraViewListener{ 21 22 // CameraBridgeViewBase は JavaCameraView/NativeCameraView のスーパークラス 23 private CameraBridgeViewBase mCameraView; 24 private Mat mOutputFrame; 25 26 27 28 @Override 29 protected void onCreate(Bundle savedInstanceState) { 30 super.onCreate(savedInstanceState); 31 setContentView(R.layout.activity_opencv); 32 getPermissionCamera(this); 33 Log.d("camera","get permission"); 34 // カメラビューのインスタンスを変数にバインド 35 mCameraView = findViewById(R.id.camera_view); 36 // リスナーの設定 (後述) 37 mCameraView.setCvCameraViewListener(this); 38 } 39 40 // ライブラリ初期化完了後に呼ばれるコールバック (onManagerConnected) 41 // public abstract class BaseLoaderCallback implements LoaderCallbackInterface 42 43 private BaseLoaderCallback mLoaderCallback = new BaseLoaderCallback(this) { 44 45 @Override 46 public void onManagerConnected(int status) { 47 Log.d("tag","onManagerConnected・status="+status); 48 switch (status) { 49 // 読み込みが成功したらカメラプレビューを開始 50 case LoaderCallbackInterface.SUCCESS: 51 Log.d("tag","読み込みが成功したらカメラプレビューを開始"); 52 mCameraView.enableView(); 53 break; 54 default: 55 super.onManagerConnected(status); 56 break; 57 } 58 } 59 }; 60 61 public static boolean getPermissionCamera(Activity activity){ 62 if (ContextCompat.checkSelfPermission(activity, android.Manifest.permission.CAMERA) != PackageManager.PERMISSION_GRANTED) { 63 String[] permissions = new String[]{Manifest.permission.CAMERA}; 64 ActivityCompat.requestPermissions(activity, permissions, 0); 65 return false; 66 } else { 67 return true; 68 } 69 } 70 71 //必須 72 @Override 73 protected void onResume() { 74 super.onResume(); 75 OpenCVLoader.initAsync(OpenCVLoader.OPENCV_VERSION_3_0_0, this, mLoaderCallback); 76 } 77 78 79 80 @Override 81 public void onPause() { 82 super.onPause(); 83 mCameraView.disableView(); 84 } 85 86 @Override 87 public void onDestroy() { 88 super.onDestroy(); 89 if (mCameraView != null) { 90 mCameraView.disableView(); 91 } 92 } 93 94 95 //カメラビュー開始時の処理 96 @Override 97 public void onCameraViewStarted(int width, int height) { 98 // カメラプレビュー開始時に呼ばれる 99 } 100 101 102 //カメラビュー終了時の処理 103 @Override 104 public void onCameraViewStopped() { 105 // カメラプレビュー終了時に呼ばれる 106 } 107 108 //画像処理するメソッド 109 @Override 110 public Mat onCameraFrame(Mat inputFrame) { 111 return null; 112 } 113 114 115} 116
試したこと
https://rest-term.com/archives/3010/
https://qiita.com/iwatake2222/items/2642669419fdaa20a8a6
protected void onResume() {
super.onResume();
//OpenCVLoader.initAsync(OpenCVLoader.OPENCV_VERSION_3_0_0, this, mLoaderCallback);
if (!OpenCVLoader.initDebug()) {
Log.d("onResume", "Internal OpenCV library not found. Using OpenCV Manager for initialization");
OpenCVLoader.initAsync(OpenCVLoader.OPENCV_VERSION_3_0_0, this, mLoaderCallback);
} else {
Log.d("onResume", "OpenCV library found inside package. Using it!");
mLoaderCallback.onManagerConnected(LoaderCallbackInterface.SUCCESS);
} }
これも試してみたが黒画面のままである
補足情報(FW/ツールのバージョンなど)
openCv version 3.0.0 多分
android studio version 3.5
あなたの回答
tips
プレビュー