将cv:Mat从android传递给jni
Passing cv:Mat from android to jni
我正试图将一个Mat对象从android端发送到jni端,我不想发送Mat对象地址。但是我的jni代码在Mat中没有一行返回0,我没有得到。
Android Java代码是:
buttton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Utils.bitmapToMat(bitmap, mat);
Log.d(TAG,Integer.toString(m.rows())+" "+Integer.toString(m.cols()));
textView.setText(Integer.toString(openCVJNI(m)));
}
});
JNI代码为:
extern "C" {
JNIEXPORT jint JNICALL
Java_com_example_color_MainActivity_openCVJNI(JNIEnv *env, jobject thiz, Mat inputImage)
{
return inputImage.rows;
}
}
请参阅https://github.com/Itseez/opencv/tree/master/samples/android/tutorial-2-mixedprocessing样品
org.opencv.core.Mat
有getNativeObjAddr
方法,它返回long
,可以解释为指向cv::Mat
的指针。
Java代码:
openCVJNI(m.getNativeObjAddr());
JNI代码:
Java_com_example_color_MainActivity_openCVJNI(JNIEnv *env, jobject thiz, long addrInputImage)
{
cv::Mat* pInputImage = (cv::Mat*)addrInputImage;
return pInputImage->rows;
}
相关文章:
- JNI从Android调用C++方法
- React Native (Android):无法通过 JNI 在 jobject 中返回字符串
- Android JNI RegisterNatives:对所有内容调用一次,或者每个函数调用一次
- 如何使用JNI从Android本机C++调用PackageManager.hasSystemFeature?
- Android (ART) 崩溃并显示错误 JNI 在应用程序中检测到错误:jstring 是无效的本地引用
- Android 无法从本机代码调用 Java 方法 JNI
- 任何人都可以在带有JNI的Android Studio上帮助我解决此错误,是否缺少一些内容?
- 使用 JNI 从 Android 应用程序向C++发送字符串
- Android jni NoSuchMethodError exception
- 在 Android Studio 3.1 中使用预构建的 JNI 库
- Android JNI 未定义对错误 c++ 方法的引用
- 在 Android Studio 3 中设置 JNI
- libusb_open 在 JNI Android 中返回LIBUSB_ERROR_ACCESS
- Android JNI:Java通过JNI调用C++类对象
- 从 Android JNI/NDK 代码中的C++函数调用 C 函数
- ReferenceTable溢出(jni-android),数组对象释放
- JNI/Android NDK-维护全局对象引用
- 您的APP_BUILD_SCRIPT指向未知文件:/jni/Android.mk F:/Android/Android-
- 从java到c++jni android arm64-v8a 32/64位的传递mat问题
- JNI/Android:从C++调用Java中的非静态方法