#863: default Mat() c-tor, minor improvements

This commit is contained in:
Andrey Pavlenko
2011-07-01 15:48:13 +00:00
parent aa695abad2
commit 2b83d416b0
3 changed files with 39 additions and 6 deletions

View File

@@ -1,8 +1,21 @@
#include <jni.h>
/*
#include <android/log.h>
#define TEGRA_LOG_TAG "MAT_CPP"
#define LOGD(...) ((void)__android_log_print(ANDROID_LOG_DEBUG, TEGRA_LOG_TAG, __VA_ARGS__))
*/
#ifdef __cplusplus
extern "C" {
#endif
/*
* Class: org_opencv_Mat
* Method: nCreateMat
* Signature: ()J
*/
JNIEXPORT jlong JNICALL Java_org_opencv_Mat_nCreateMat__
(JNIEnv *, jclass);
/*
* Class: org_opencv_Mat
* Method: nCreateMat
@@ -594,6 +607,12 @@ JNIEXPORT jlong JNICALL Java_org_opencv_Mat_nInv
return 0; //NYI
}
JNIEXPORT jlong JNICALL Java_org_opencv_Mat_nCreateMat__
(JNIEnv* env, jclass cls)
{
return (jlong) new cv::Mat();
}
JNIEXPORT jlong JNICALL Java_org_opencv_Mat_nEye
(JNIEnv* env, jclass cls, jint _rows, jint _cols, jint _type)
{
@@ -603,7 +622,8 @@ JNIEXPORT jlong JNICALL Java_org_opencv_Mat_nEye
JNIEXPORT jlong JNICALL Java_org_opencv_Mat_nCreateMat__III
(JNIEnv* env, jclass cls, jint _rows, jint _cols, jint _type)
{
return (jlong) new cv::Mat( _rows, _cols, _type );
//LOGD("called with r=%d, c=%d", _rows, _cols);
return (jlong) new cv::Mat( _rows, _cols, _type );;
}
JNIEXPORT jlong JNICALL Java_org_opencv_Mat_nCreateMat__IIIDDDD

View File

@@ -1,5 +1,7 @@
package org.opencv;
//import android.util.Log;
public class Mat {
public static class CvType {
@@ -113,7 +115,7 @@ public class Mat {
s = "CV_USRTYPE1";
}
return s + "(" + channels() + ")";
return s + "C(" + channels() + ")";
}
// hashCode() has to be overridden if equals() is
@@ -135,6 +137,10 @@ public class Mat {
this.nativeObj = nativeMat;
}
public Mat() {
this( nCreateMat() );
}
public Mat(int rows, int cols, CvType type) {
this( nCreateMat(rows, cols, type.toInt()) );
}
@@ -388,8 +394,9 @@ public class Mat {
}
// native stuff
static { System.loadLibrary("opencv_java"); }
static { System.loadLibrary("opencv_java"); ); }
protected long nativeObj;
private static native long nCreateMat();
private static native long nCreateMat(int rows, int cols, int type);
private static native long nCreateMat(int rows, int cols, int type, double v0, double v1, double v2, double v3);
private static native void nDispose(long self);