完全にC++で使用することができます.JNIを使用して、Javaコードからネイティブコードを呼び出さなければなりません。
Opencv-android-sdkをダウンロードしたら、必要なヘッダファイルと ".a"ファイルのみをインポートできます。 javaファイルはオプションで、C++を知らない人に提供されます。
は例えば、JavaクラスCascadeClassifierは、最終的にはネイティブ関数を呼び出します。また、このように、実際には、それがJNIだと行うことができます。
// C++: CascadeClassifier::CascadeClassifier()
private static native long CascadeClassifier_0();
// C++: CascadeClassifier::CascadeClassifier(string filename)
private static native long CascadeClassifier_1(String filename);
// C++: void CascadeClassifier::detectMultiScale(Mat image, vector_Rect& objects, double scaleFactor = 1.1, int minNeighbors = 3, int flags = 0, Size minSize = Size(), Size maxSize = Size())
private static native void detectMultiScale_0(long nativeObj, long image_nativeObj, long objects_mat_nativeObj, double scaleFactor, int minNeighbors, int flags, double minSize_width, double minSize_height, double maxSize_width, double maxSize_height);
private static native void detectMultiScale_1(long nativeObj, long image_nativeObj, long objects_mat_nativeObj);
// C++: void CascadeClassifier::detectMultiScale(Mat image, vector_Rect& objects, vector_int rejectLevels, vector_double levelWeights, double scaleFactor = 1.1, int minNeighbors = 3, int flags = 0, Size minSize = Size(), Size maxSize = Size(), bool outputRejectLevels = false)
private static native void detectMultiScale_2(long nativeObj, long image_nativeObj, long objects_mat_nativeObj, long rejectLevels_mat_nativeObj, long levelWeights_mat_nativeObj, double scaleFactor, int minNeighbors, int flags, double minSize_width, double minSize_height, double maxSize_width, double maxSize_height, boolean outputRejectLevels);
private static native void detectMultiScale_3(long nativeObj, long image_nativeObj, long objects_mat_nativeObj, long rejectLevels_mat_nativeObj, long levelWeights_mat_nativeObj);
// C++: bool CascadeClassifier::empty()
private static native boolean empty_0(long nativeObj);
// C++: bool CascadeClassifier::load(string filename)
private static native boolean load_0(long nativeObj, String filename);
// native support for java finalize()
private static native void delete(long nativeObj);