前提・実現したいこと
android端末にOpenCVを入れて顔認識をしたいです。
https://blogs.osdn.jp/2017/02/10/opencv.htmlを参考に動かしてみてます。
端末にOpencv自体は入れれたのですが、他の動作が動きません。
発生している問題・エラーメッセージ
Cannot resolve symbol 'activity_main'
該当のソースコード
import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import android.util.Log; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.view.ViewGroup; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import org.opencv.android.OpenCVLoader; public class MainActivity extends AppCompatActivity { private static String TAG = "MainActivity"; static { if(OpenCVLoader.initDebug()){ System.loadLibrary("opencv_java3"); Log.d(TAG,"Opencv installed successfull im KEn"); }else{ Log.d(TAG,"Opencv is not installed"); } } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); try { // assetsの内容を /data/data/*/files/ にコピーします。 copyAssets("haarcascades"); } catch (IOException e) { e.printStackTrace(); } CameraActivity.CameraView cameraView = new CameraActivity.CameraView(this, 90); ViewGroup activityMain = (ViewGroup)findViewById(R.id.activity_main); activityMain.addView(cameraView); } private void copyAssets(String dir) throws IOException { byte[] buf = new byte[8192]; int size; File dst = new File(getFilesDir(), dir); if(!dst.exists()) { dst.mkdirs(); dst.setReadable(true, false); dst.setWritable(true, false); dst.setExecutable(true, false); } for(String filename : getAssets().list(dir)) { File file = new File(dst, filename); OutputStream out = new FileOutputStream(file); InputStream in = getAssets().open(dir + "/" + filename); while((size = in.read(buf)) >= 0) { if(size > 0) { out.write(buf, 0, size); } } in.close(); out.close(); file.setReadable(true, false); file.setWritable(true, false); file.setExecutable(true, false); } } } activity_main.ml <?xml version="1.0" encoding="utf-8"?> <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity"> <TextView android:id="@+id/textView2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Hello World!" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> <org.opencv.android.JavaCamera2View android:id="@+id/javaCamera2View4" android:layout_width="wrap_content" android:layout_height="wrap_content" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> </androidx.constraintlayout.widget.ConstraintLayout>
試したこと
Importできるところはしてあります。
47行目のViewGroup activityMain = (ViewGroup)findViewById(R.id.activity_main);
この部分だけactivity_mainがないと言われうまく調べることができませんでした。
あなたの回答
tips
プレビュー