Android 错误:(104,39)错误:无法传递非平凡类型的对象';cv::Mat';通过变量分析法;调用将在运行时中止[-Wnon-pod varargs]

Android 错误:(104,39)错误:无法传递非平凡类型的对象';cv::Mat';通过变量分析法;调用将在运行时中止[-Wnon-pod varargs],android,opencv,android-ndk,java-native-interface,Android,Opencv,Android Ndk,Java Native Interface,我正在使用jni开发opencv 我尝试用c语言将Mat传递给java++ 但是我得到了这个错误 这是我的C++代码< /p> void ocrPricetagNeedCallJavaMethodToApi(JNIEnv *env, jobject thiz, Mat image) { jclass class1 = env->FindClass("mvp/module/cashback/fragment/RecetptDiscernFragment"); jmethodI

我正在使用jni开发opencv 我尝试用c语言将Mat传递给java++ 但是我得到了这个错误

这是我的C++代码< /p>

void ocrPricetagNeedCallJavaMethodToApi(JNIEnv *env, jobject thiz, Mat image) {
    jclass class1 = env->FindClass("mvp/module/cashback/fragment/RecetptDiscernFragment");
    jmethodID method = env->GetMethodID(class1, "nativeProcessFramePriceTagResult", "(Lorg/opencv/core/Mat;)V");
    env->CallVoidMethod(thiz, method, image);
}
这是我的java代码

public void nativeProcessFramePriceTagResult(Mat image) {
    if (null != image) {

    } else{

    }
}

<>谁能帮我?< /p>嗯,显然你不能把C++的代码> Matt < /Cord>类的实例作为java <代码> Matt < /Cuff>实例。如果你想从C++获得一个<代码> Mat <代码> java,你有几个不同的选项,我试过了,但是不工作。这并不能真正告诉我们任何事情,除非你在你的问题中显示了你所尝试的,以及你得到的精确错误。字节*字节=新字节[大小];std::memcpy(字节、图像、数据、大小*sizeof(字节));我试着这么做,但有点错误。这个“图像”是我的mat,代码应该实现什么?您只需分配一些新的内存并将一些数据复制到它。那么,显然,不能将C++的代码> Matt < /Cuff>类作为Java java代码> Mat < /Calp>实例。如果你想从C++获得一个<代码> Mat <代码> java,你有几个不同的选项,我试过了,但是不工作。这并不能真正告诉我们任何事情,除非你在你的问题中显示了你所尝试的,以及你得到的精确错误。字节*字节=新字节[大小];std::memcpy(字节、图像、数据、大小*sizeof(字节));我试着这么做,但有点错误。这个“图像”是我的mat,代码应该实现什么?您只需分配一些新内存并向其中复制一些数据。