"double" : { "j_type" : "double", "jn_type" : "double", "jni_type" : "jdouble", "suffix" : "D" },\r
"size_t" : { "j_type" : "long", "jn_type" : "long", "jni_type" : "jlong", "suffix" : "J" },\r
"__int64" : { "j_type" : "long", "jn_type" : "long", "jni_type" : "jlong", "suffix" : "J" },\r
- #"+Mat+" : { "j_type" : "Mat", "jn_type" : "long", "jn_name" : "%s.nativeObj", "jni_type" : "jlong", "suffix" : "J" },\r
# "complex" : { j_type : "?", jn_args : (("", ""),), jn_name : "", jni_var : "", jni_name : "", "suffix" : "?" },\r
"Mat" : { "j_type" : "Mat", "jn_type" : "long", "jn_args" : (("__int64", ".nativeObj"),),\r
- "jni_var" : "cv::Mat %(n)s(%(n)s_nativeObj ? *((cv::Mat*)%(n)s_nativeObj) : cv::Mat())", "jni_type" : "jlong",\r
+ "jni_var" : "cv::Mat& %(n)s = *((cv::Mat*)%(n)s_nativeObj); //cv::Mat& %(n)s = (%(n)s_nativeObj ? *((cv::Mat*)%(n)s_nativeObj) : cv::Mat())",\r
+ "jni_type" : "jlong", #"jni_name" : "*%(n)s",\r
"suffix" : "J" },\r
"Point" : { "j_type" : "Point", "jn_args" : (("double", ".x"), ("double", ".y")),\r
"jni_var" : "cv::Point %(n)s((int)%(n)s_x, (int)%(n)s_y)",\r
sys.exit(-1)\r
type_dict[classinfo.name] = \\r
{ "j_type" : classinfo.name, "jn_args" : (("__int64", ".nativeObj"),),\r
- "jni_name" : "(*((cv::"+classinfo.name+"*)%s_nativeObj))",\r
+ "jni_name" : "(*((cv::"+classinfo.name+"*)%(n)s_nativeObj))",\r
"suffix" : "J" }\r
\r
\r
"""// This file is auto-generated, please don't edit!\r
\r
#include <jni.h>\r
+/*\r
+#include <android/log.h>\r
+#define TEGRA_LOG_TAG "OpenCV_for_Android"\r
+#define LOGD(...) ((void)__android_log_print(ANDROID_LOG_DEBUG, TEGRA_LOG_TAG, __VA_ARGS__))\r
+*/\r
\r
""" % {"module" : module})\r
self.cpp_code.write( "\n".join(['#include "opencv2/%s/%s"' % (module, os.path.basename(f)) \\r
($args)\r
{\r
$j2cv\r
+ //LOGD("$module :: $fname");\r
$ret( $cvname( $cvargs ) );\r
}\r
\r
#include <jni.h>\r
+/*\r
+#include <android/log.h>\r
+#define TEGRA_LOG_TAG "MAT_CPP"\r
+#define LOGD(...) ((void)__android_log_print(ANDROID_LOG_DEBUG, TEGRA_LOG_TAG, __VA_ARGS__))\r
+*/\r
\r
#ifdef __cplusplus\r
extern "C" {\r
/*\r
* Class: org_opencv_Mat\r
* Method: nCreateMat\r
+ * Signature: ()J\r
+ */\r
+JNIEXPORT jlong JNICALL Java_org_opencv_Mat_nCreateMat__\r
+ (JNIEnv *, jclass);\r
+\r
+/*\r
+ * Class: org_opencv_Mat\r
+ * Method: nCreateMat\r
* Signature: (III)J\r
*/\r
JNIEXPORT jlong JNICALL Java_org_opencv_Mat_nCreateMat__III\r
return 0; //NYI\r
}\r
\r
+JNIEXPORT jlong JNICALL Java_org_opencv_Mat_nCreateMat__\r
+ (JNIEnv* env, jclass cls)\r
+{\r
+ return (jlong) new cv::Mat();\r
+}\r
+\r
JNIEXPORT jlong JNICALL Java_org_opencv_Mat_nEye\r
(JNIEnv* env, jclass cls, jint _rows, jint _cols, jint _type)\r
{\r
JNIEXPORT jlong JNICALL Java_org_opencv_Mat_nCreateMat__III\r
(JNIEnv* env, jclass cls, jint _rows, jint _cols, jint _type)\r
{\r
- return (jlong) new cv::Mat( _rows, _cols, _type );\r
+ //LOGD("called with r=%d, c=%d", _rows, _cols);\r
+ return (jlong) new cv::Mat( _rows, _cols, _type );;\r
}\r
\r
JNIEXPORT jlong JNICALL Java_org_opencv_Mat_nCreateMat__IIIDDDD\r
package org.opencv;\r
\r
+//import android.util.Log;\r
+\r
public class Mat {\r
\r
public static class CvType {\r
s = "CV_USRTYPE1";\r
}\r
\r
- return s + "(" + channels() + ")";\r
+ return s + "C(" + channels() + ")";\r
}\r
\r
// hashCode() has to be overridden if equals() is\r
this.nativeObj = nativeMat;\r
}\r
\r
+ public Mat() {\r
+ this( nCreateMat() );\r
+ }\r
+\r
public Mat(int rows, int cols, CvType type) {\r
this( nCreateMat(rows, cols, type.toInt()) );\r
}\r
}\r
\r
// native stuff\r
- static { System.loadLibrary("opencv_java"); }\r
+ static { System.loadLibrary("opencv_java"); ); }\r
protected long nativeObj;\r
+ private static native long nCreateMat();\r
private static native long nCreateMat(int rows, int cols, int type);\r
private static native long nCreateMat(int rows, int cols, int type, double v0, double v1, double v2, double v3);\r
private static native void nDispose(long self);\r