首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JNI Mat到Java Mat

JNI Mat到Java Mat
EN

Stack Overflow用户
提问于 2014-04-01 02:10:24
回答 1查看 246关注 0票数 0

我正在尝试将Mat对象从我的C++源代码返回给我的Java代码。我有以下代码:

C++:

代码语言:javascript
复制
JNIEXPORT void JNICALL *snip*_MainActivity_grabResult
(jlong matPtr) {
    LOGD("The resultsImg has %d rows.", resultsImg.rows);
    LOGD("The sceneImg has %d rows.", sceneImg.rows);
    Mat* mat = new Mat(resultsImg.rows, resultsImg.cols, CV_8UC3);
    mat = (Mat*) matPtr;
    LOGD("Mat resultsImg is: %d", resultsImg.rows);
    LOGD("Mat* mat is %d", mat->rows);
}

Java:

代码语言:javascript
复制
public static native void grabResult(long add);
grabResult(m.getNativeObjAddr());

然而,它似乎没有通过Mat传递到我的Java语言,因为在Java语言中Mat的行大小是零,而在C++代码中它是一个荒谬的数字,而它不应该是一个数字。

任何帮助都是很棒的。

EN

回答 1

Stack Overflow用户

发布于 2014-04-01 09:47:25

什么是*snip*?本机方法可能如下所示:

代码语言:javascript
复制
JNIEXPORT void JNICALL Java_*snip*_MainActivity_grabResult(JNIEnv * env, jobject obj,  jint matPtr) {}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22769023

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档