OSDN Git Service

ライブビューデータを拾うために検討中。その4。
[gokigen/FujiCam.git] / opencv41 / src / main / java / org / opencv / android / StaticHelper.java
1 package org.opencv.android;
2
3 import org.opencv.core.Core;
4
5 import java.util.StringTokenizer;
6 import android.util.Log;
7
8 class StaticHelper {
9
10     public static boolean initOpenCV(boolean InitCuda)
11     {
12         boolean result;
13         String libs = "";
14
15         if(InitCuda)
16         {
17             loadLibrary("cudart");
18             loadLibrary("nppc");
19             loadLibrary("nppi");
20             loadLibrary("npps");
21             loadLibrary("cufft");
22             loadLibrary("cublas");
23         }
24
25         Log.d(TAG, "Trying to get library list");
26
27         try
28         {
29             System.loadLibrary("opencv_info");
30             libs = getLibraryList();
31         }
32         catch(UnsatisfiedLinkError e)
33         {
34             Log.e(TAG, "OpenCV error: Cannot load info library for OpenCV");
35         }
36
37         Log.d(TAG, "Library list: \"" + libs + "\"");
38         Log.d(TAG, "First attempt to load libs");
39         if (initOpenCVLibs(libs))
40         {
41             Log.d(TAG, "First attempt to load libs is OK");
42             String eol = System.getProperty("line.separator");
43             for (String str : Core.getBuildInformation().split(eol))
44                 Log.i(TAG, str);
45
46             result = true;
47         }
48         else
49         {
50             Log.d(TAG, "First attempt to load libs fails");
51             result = false;
52         }
53
54         return result;
55     }
56
57     private static boolean loadLibrary(String Name)
58     {
59         boolean result = true;
60
61         Log.d(TAG, "Trying to load library " + Name);
62         try
63         {
64             System.loadLibrary(Name);
65             Log.d(TAG, "Library " + Name + " loaded");
66         }
67         catch(UnsatisfiedLinkError e)
68         {
69             Log.d(TAG, "Cannot load library \"" + Name + "\"");
70             e.printStackTrace();
71             result = false;
72         }
73
74         return result;
75     }
76
77     private static boolean initOpenCVLibs(String Libs)
78     {
79         Log.d(TAG, "Trying to init OpenCV libs");
80
81         boolean result = true;
82
83         if ((null != Libs) && (Libs.length() != 0))
84         {
85             Log.d(TAG, "Trying to load libs by dependency list");
86             StringTokenizer splitter = new StringTokenizer(Libs, ";");
87             while(splitter.hasMoreTokens())
88             {
89                 result &= loadLibrary(splitter.nextToken());
90             }
91         }
92         else
93         {
94             // If dependencies list is not defined or empty.
95             result = loadLibrary("opencv_java4");
96         }
97
98         return result;
99     }
100
101     private static final String TAG = "OpenCV/StaticHelper";
102
103     private static native String getLibraryList();
104 }