質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.49%
OpenCV

OpenCV(オープンソースコンピュータービジョン)は、1999年にインテルが開発・公開したオープンソースのコンピュータビジョン向けのクロスプラットフォームライブラリです。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

Q&A

1回答

2001閲覧

AndroidでMatに代入すると実行エラーが起こる

tkmm

総合スコア17

OpenCV

OpenCV(オープンソースコンピュータービジョン)は、1999年にインテルが開発・公開したオープンソースのコンピュータビジョン向けのクロスプラットフォームライブラリです。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

0グッド

0クリップ

投稿2017/01/25 04:59

編集2017/01/26 05:27

Mat型呼び出すときにエラーが起きてしまいます。

Improt ModuleでOpenCVのJavaフォルダ選択して読み込みはしています。
OpenCVのbuild.gradleも変更しました。

なにが原因なのでしょうか('_')

エラーコード

java

101-25 21:02:33.422 31905-31905/com.example.tame2_pc.opencv E/AndroidRuntime: FATAL EXCEPTION: main 2 java.lang.UnsatisfiedLinkError: n_Mat 3 at org.opencv.core.Mat.n_Mat(Native Method) 4 at org.opencv.core.Mat.<init>(Mat.java:63) 5 at com.example.tame2_pc.opencv.MainActivity.onCreate(MainActivity.java:57) 6 at android.app.Activity.performCreate(Activity.java:4465) 7 at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1049) 8 at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1920) 9 at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1981) 10 at android.app.ActivityThread.access$600(ActivityThread.java:123) 11 at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1147) 12 at android.os.Handler.dispatchMessage(Handler.java:99) 13 at android.os.Looper.loop(Looper.java:137) 14 at android.app.ActivityThread.main(ActivityThread.java:4424) 15 at java.lang.reflect.Method.invokeNative(Native Method) 16 at java.lang.reflect.Method.invoke(Method.java:511) 17 at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784) 18 at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551) 19 at dalvik.system.NativeStart.main(Native Method) 20

MainActivity.java

java

1package com.example.tame2_pc.opencv; 2 3import android.graphics.Bitmap; 4import android.os.Bundle; 5import android.support.v7.app.AppCompatActivity; 6import android.util.Log; 7import android.view.Window; 8import android.view.WindowManager; 9import android.widget.ImageView; 10 11import org.opencv.android.BaseLoaderCallback; 12import org.opencv.android.LoaderCallbackInterface; 13import org.opencv.android.Utils; 14import org.opencv.core.CvType; 15import org.opencv.core.Mat; 16import org.opencv.core.Scalar; 17 18public class MainActivity extends AppCompatActivity { 19 20 private BaseLoaderCallback mLoaderCallback = new BaseLoaderCallback(this) { 21 @Override 22 public void onManagerConnected(int status) { 23 switch (status) { 24 case LoaderCallbackInterface.SUCCESS: 25 { 26 Log.i("TAG", "OpenCV loaded successfully"); 27 } 28 break; 29 default: 30 { 31 super.onManagerConnected(status); 32 } 33 break; 34 } 35 } 36 }; 37 38 @Override 39 public void onResume() { 40 super.onResume(); 41 mLoaderCallback.onManagerConnected(LoaderCallbackInterface.SUCCESS); 42 } 43 44 private Bitmap bitmap; 45 46 ImageView imgv; 47 /** Called when the activity is first created. */ 48 @Override 49 public void onCreate(Bundle savedInstanceState) { 50 getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN); 51 requestWindowFeature(Window.FEATURE_NO_TITLE); 52 super.onCreate(savedInstanceState); 53 setContentView(R.layout.activity_main); 54 55 56 57 Mat mat = new Mat(20,20, CvType.CV_8UC3,new Scalar(0, 0, 255)); 58 bitmap= Bitmap.createBitmap(mat.width(), mat.height(), Bitmap.Config.ARGB_8888); 59 Utils.matToBitmap(mat, bitmap); 60 61 imgv = (ImageView)findViewById(R.id.ImageView); 62 imgv.setImageBitmap(bitmap); 63 } 64 65} 66 67 } 68 } 69

activity_main.xml

java

1<?xml version="1.0" encoding="utf-8"?> 2<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 3 xmlns:tools="http://schemas.android.com/tools" 4 android:id="@+id/activity_main" 5 android:layout_width="match_parent" 6 android:layout_height="match_parent" 7 android:paddingBottom="@dimen/activity_vertical_margin" 8 android:paddingLeft="@dimen/activity_horizontal_margin" 9 android:paddingRight="@dimen/activity_horizontal_margin" 10 android:paddingTop="@dimen/activity_vertical_margin" 11 tools:context="com.example.tame2_pc.opencv.MainActivity"> 12 13 <TextView 14 android:layout_width="wrap_content" 15 android:layout_height="wrap_content" 16 android:text="Hello World!" /> 17 18 <ImageView 19 android:layout_width="wrap_content" 20 android:layout_height="wrap_content" 21 android:id="@+id/ImageView"/> 22 23</RelativeLayout> 24

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

エラーを見る限り共有ライブラリとリンクが出来ていないため、発生してそうです。
OpenCVの共有ライブラリをapk内に含めているならばSystem.loadlibraryを行う必要があります。
OpenCV3.0と2.4で大分違うのでなんともいえませんが、

下記の記事に詳しくのってました。
http://qiita.com/denjin-m/items/8b2f30b98ef4529b8f1f

投稿2017/01/25 06:44

Yossi_1982

総合スコア95

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tkmm

2017/01/25 12:06

記事通りにやったのですがよくわからないままで結果も変わりません。。。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.49%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問