androidstudioで色検出をしようとしています。このサイトのコードをほぼほぼコピペしたのですが
FdActivity.javaでonCreateOptionsMenuの中のic_menu_redや、ic_menu_blueや,ic_menu_greenなどが
エラー: シンボルを見つけられません
シンボル: 変数 ic_menu_red
場所: クラス drawable
FdView.javaでは
67行目のtryの中にあるrawで
エラー: シンボルを見つけられません
シンボル: 変数 raw
場所: クラス R
132行目の(Utils.matToBitmap(mRgba2, bmp))や141
行目の(Utils.matToBitmap(mRgba, bmp))で
不適合な型: voidをbooleanに変換できません:
最後に
Error:Execution failed for task ':app:compileDebugJavaWithJavac'.
Compilation failed; see the compiler error output for details.
と出て来ます。opencvをインポートしたつもりですがうまく言っていないのでしょうか?
ここに書いていたことを行なってインポートをしてビルドした時はエラーが出なかったです
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答1件
0
ベストアンサー
初めにこちら
で準備をする。
#MainActivity.java
java
1 2import android.app.Activity; 3import android.os.Bundle; 4import android.support.v7.app.AppCompatActivity; 5import android.util.Log; 6import android.view.MenuItem; 7import android.view.SurfaceView; 8import android.view.WindowManager; 9 10import org.opencv.android.BaseLoaderCallback; 11import org.opencv.android.CameraBridgeViewBase; 12import org.opencv.android.LoaderCallbackInterface; 13import org.opencv.android.OpenCVLoader; 14import org.opencv.core.Core; 15import org.opencv.core.CvType; 16import org.opencv.core.Mat; 17import org.opencv.core.Scalar; 18import org.opencv.imgproc.Imgproc; 19 20import static org.opencv.core.CvType.CV_8U; 21 22 23public class MainActivity extends Activity implements CameraBridgeViewBase.CvCameraViewListener { 24 private static final String TAG = "OCVSample::Activity"; 25 26 private CameraBridgeViewBase mOpenCvCameraView; 27 private boolean mIsJavaCamera = true; 28 private MenuItem mItemSwitchCamera = null; 29 30 private BaseLoaderCallback mLoaderCallback = new BaseLoaderCallback(this) { 31 @Override 32 public void onManagerConnected(int status) { 33 switch (status) { 34 // 読み込みが成功したらカメラプレビューを開始 35 case LoaderCallbackInterface.SUCCESS: 36 { 37 Log.i(TAG, "OpenCV loaded successfully"); 38 mOpenCvCameraView.enableView(); 39 } break; 40 default: { 41 super.onManagerConnected(status); 42 }break; 43 } 44 } 45 }; 46 47 public MainActivity() { 48 Log.i(TAG, "Instantiated new " + this.getClass()); 49 } 50 51 @Override 52 protected void onCreate(Bundle savedInstanceState) { 53 Log.i(TAG, "called onCreate"); 54 super.onCreate(savedInstanceState); 55 getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); 56 setContentView(R.layout.activity_main); 57 58 mOpenCvCameraView = (CameraBridgeViewBase) findViewById(R.id.camera_view); 59 60 mOpenCvCameraView.setVisibility(SurfaceView.VISIBLE); 61 62 mOpenCvCameraView.setCvCameraViewListener(this); 63 } 64 65 @Override 66 protected void onPause() { 67 super.onPause(); 68 if (mOpenCvCameraView != null) 69 mOpenCvCameraView.disableView(); 70 } 71 72 @Override 73 protected void onResume() { 74 super.onResume(); 75 if (!OpenCVLoader.initDebug()) { 76 Log.d(TAG, "Internal OpenCV library not found. Using OpenCV Manager for initialization"); 77 OpenCVLoader.initAsync(OpenCVLoader.OPENCV_VERSION_3_0_0, this, mLoaderCallback); 78 } else { 79 Log.d(TAG, "OpenCV library found inside package. Using it!"); 80 mLoaderCallback.onManagerConnected(LoaderCallbackInterface.SUCCESS); 81 } 82 } 83 84 85 @Override 86 protected void onDestroy() { 87 super.onDestroy(); 88 89 if (mOpenCvCameraView != null) 90 mOpenCvCameraView.disableView(); 91 } 92 93 94 @Override 95 public void onCameraViewStarted(int width, int height) {// カメラプレビュー開始時に呼ばれる 96 97 98 } 99 100 101 @Override 102 public void onCameraViewStopped() {// カメラプレビュー終了時に呼ばれる 103 104 } 105 106 @Override 107 public Mat onCameraFrame(Mat inputFrame) { 108 Mat src = inputFrame;//入力画像 109 Mat dst = Mat.zeros(inputFrame.width(),inputFrame.height(),CV_8U);//初期化 110 Imgproc.cvtColor(src, dst, Imgproc.COLOR_RGB2HSV);//HSVに変換 111 112 Mat src2 = dst;//HSV画像を代入 113 Mat dst2 = Mat.zeros(inputFrame.width(),inputFrame.height(),CV_8U);//初期化 114 Scalar low = new Scalar(30,70,90);//下限(H,S,V) 115 Scalar high = new Scalar(70,255,255);//上限(H,S,V) 116 Core.inRange( src2, low, high , dst2);//肌色抽出 117 118 return dst2; 119 } 120 121 122} 123
#activity_main.xml
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:opencv="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:keepScreenOn="true" tools:context="com.example.ueday.opencv.MainActivity"> <org.opencv.android.JavaCameraView android:id="@+id/camera_view" android:layout_width="fill_parent" android:layout_height="fill_parent" android:visibility="visible" opencv:camera_id="any" opencv:show_fps="true" /> </RelativeLayout>
投稿2017/11/20 07:54
退会済みユーザー
総合スコア0
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。