前提・実現したいこと
Android StudioでOpenCVを使って、手を認識させるプログラムをJava作ろうとしています。
CascadeClassifier()の引数にres/raw配下にあるxmlファイルのパスを取りたいのですが、とり方がわからないです。次のように取ろうとしたのですが、取れませんでした。
java
1public class MainActivity extends AppCompatActivity implements CameraBridgeViewBase.CvCameraViewListener { 2〜(略)〜 3 private File setupOpenPalmCascadeFile() { 4 File cascadeDir = getDir("raw", Context.MODE_PRIVATE); 5 File cascadeFile = null; 6 InputStream is = null; 7 FileOutputStream os = null; 8 try { 9 cascadeFile = new File(cascadeDir, "closed_frontal_palm.xml"); 10 if (!cascadeFile.exists()) { 11 is = getResources().openRawResource(R.raw.closed_frontal_palm); 12 os = new FileOutputStream(cascadeFile); 13 byte[] buffer = new byte[4096]; 14 int readLen = 0; 15 while ((readLen = is.read(buffer)) != -1) { 16 os.write(buffer, 0, readLen); 17 } 18 } 19 } catch (IOException e) { 20 return null; 21 } finally { 22 if (is != null) { 23 try { 24 is.close(); 25 } catch (Exception e) { 26 } 27 } 28 if (os != null) { 29 try { 30 os.close(); 31 } catch (Exception e) { 32 } 33 } 34 } 35 return cascadeFile; 36 } 37 File openpalmcascade = setupOpenPalmCascadeFile(); 38 CascadeClassifier cascadeOpenParam = new CascadeClassifier(openpalmcascade.getAbsolutePath()); 39〜(略)〜
ファイルのパスのとり方を教えて頂けるとありがたいです
回答1件
あなたの回答
tips
プレビュー