diff --git a/app/src/main/cpp/yolo.cpp b/app/src/main/cpp/yolo.cpp index cb73a85..199b709 100644 --- a/app/src/main/cpp/yolo.cpp +++ b/app/src/main/cpp/yolo.cpp @@ -444,22 +444,14 @@ JNIEnv *env; vm->AttachCurrentThread(&env, nullptr); j_mat_addr = nativeObjAddr; + //nativeObjAddr 有两类值,一种是内存地址(检查模式),一种是常量 1L (自由模式) + if (nativeObjAddr == 1L) { + j_mode = 0; + } else { + j_mode = 1; + } j_callback = env->NewGlobalRef(pJobject); - j_mode = 1; -} - -void Yolo::initFreeModeNativeCallback(JavaVM *vm, jobject pJobject) { - javaVM = vm; - - /** - * JNIEnv不支持跨线程调用 - * */ - JNIEnv *env; - vm->AttachCurrentThread(&env, nullptr); - - j_callback = env->NewGlobalRef(pJobject); - j_mode = 0; } int Yolo::classify(const cv::Mat &rgb) { @@ -865,10 +857,6 @@ //回调 env->CallVoidMethod(j_callback, j_method_id, arraylist_obj); } - } else { - __android_log_print( - ANDROID_LOG_DEBUG, "ncnn", "yolo_d detect is paused, state = %d", j_state - ); } return 0; } \ No newline at end of file diff --git a/app/src/main/cpp/yolo.cpp b/app/src/main/cpp/yolo.cpp index cb73a85..199b709 100644 --- a/app/src/main/cpp/yolo.cpp +++ b/app/src/main/cpp/yolo.cpp @@ -444,22 +444,14 @@ JNIEnv *env; vm->AttachCurrentThread(&env, nullptr); j_mat_addr = nativeObjAddr; + //nativeObjAddr 有两类值,一种是内存地址(检查模式),一种是常量 1L (自由模式) + if (nativeObjAddr == 1L) { + j_mode = 0; + } else { + j_mode = 1; + } j_callback = env->NewGlobalRef(pJobject); - j_mode = 1; -} - -void Yolo::initFreeModeNativeCallback(JavaVM *vm, jobject pJobject) { - javaVM = vm; - - /** - * JNIEnv不支持跨线程调用 - * */ - JNIEnv *env; - vm->AttachCurrentThread(&env, nullptr); - - j_callback = env->NewGlobalRef(pJobject); - j_mode = 0; } int Yolo::classify(const cv::Mat &rgb) { @@ -865,10 +857,6 @@ //回调 env->CallVoidMethod(j_callback, j_method_id, arraylist_obj); } - } else { - __android_log_print( - ANDROID_LOG_DEBUG, "ncnn", "yolo_d detect is paused, state = %d", j_state - ); } return 0; } \ No newline at end of file diff --git a/app/src/main/cpp/yolov8ncnn.cpp b/app/src/main/cpp/yolov8ncnn.cpp index f5cf76e..e466653 100644 --- a/app/src/main/cpp/yolov8ncnn.cpp +++ b/app/src/main/cpp/yolov8ncnn.cpp @@ -325,18 +325,6 @@ } JNIEXPORT jboolean JNICALL -Java_com_casic_br_ar_app_external_Yolov8ncnn_setSurfaceWindow(JNIEnv *env, jobject thiz, - jobject surface, - jobject native_callback) { - ANativeWindow *win = ANativeWindow_fromSurface(env, surface); - - g_camera->set_window(win); - - g_yolo->initFreeModeNativeCallback(javaVM, native_callback); - return JNI_TRUE; -} - -JNIEXPORT jboolean JNICALL Java_com_casic_br_ar_app_external_Yolov8ncnn_onPause(JNIEnv *env, jobject thiz) { g_yolo->j_state = 0; return JNI_TRUE; diff --git a/app/src/main/cpp/yolo.cpp b/app/src/main/cpp/yolo.cpp index cb73a85..199b709 100644 --- a/app/src/main/cpp/yolo.cpp +++ b/app/src/main/cpp/yolo.cpp @@ -444,22 +444,14 @@ JNIEnv *env; vm->AttachCurrentThread(&env, nullptr); j_mat_addr = nativeObjAddr; + //nativeObjAddr 有两类值,一种是内存地址(检查模式),一种是常量 1L (自由模式) + if (nativeObjAddr == 1L) { + j_mode = 0; + } else { + j_mode = 1; + } j_callback = env->NewGlobalRef(pJobject); - j_mode = 1; -} - -void Yolo::initFreeModeNativeCallback(JavaVM *vm, jobject pJobject) { - javaVM = vm; - - /** - * JNIEnv不支持跨线程调用 - * */ - JNIEnv *env; - vm->AttachCurrentThread(&env, nullptr); - - j_callback = env->NewGlobalRef(pJobject); - j_mode = 0; } int Yolo::classify(const cv::Mat &rgb) { @@ -865,10 +857,6 @@ //回调 env->CallVoidMethod(j_callback, j_method_id, arraylist_obj); } - } else { - __android_log_print( - ANDROID_LOG_DEBUG, "ncnn", "yolo_d detect is paused, state = %d", j_state - ); } return 0; } \ No newline at end of file diff --git a/app/src/main/cpp/yolov8ncnn.cpp b/app/src/main/cpp/yolov8ncnn.cpp index f5cf76e..e466653 100644 --- a/app/src/main/cpp/yolov8ncnn.cpp +++ b/app/src/main/cpp/yolov8ncnn.cpp @@ -325,18 +325,6 @@ } JNIEXPORT jboolean JNICALL -Java_com_casic_br_ar_app_external_Yolov8ncnn_setSurfaceWindow(JNIEnv *env, jobject thiz, - jobject surface, - jobject native_callback) { - ANativeWindow *win = ANativeWindow_fromSurface(env, surface); - - g_camera->set_window(win); - - g_yolo->initFreeModeNativeCallback(javaVM, native_callback); - return JNI_TRUE; -} - -JNIEXPORT jboolean JNICALL Java_com_casic_br_ar_app_external_Yolov8ncnn_onPause(JNIEnv *env, jobject thiz) { g_yolo->j_state = 0; return JNI_TRUE; diff --git a/app/src/main/java/com/casic/br/ar/app/external/IFreeModeNativeCallback.kt b/app/src/main/java/com/casic/br/ar/app/external/IFreeModeNativeCallback.kt deleted file mode 100644 index ed2bcaa..0000000 --- a/app/src/main/java/com/casic/br/ar/app/external/IFreeModeNativeCallback.kt +++ /dev/null @@ -1,8 +0,0 @@ -package com.casic.br.ar.app.external - -interface IFreeModeNativeCallback { - /** - * 自由检测 - */ - fun onFreeDetect(output: ArrayList) -} \ No newline at end of file diff --git a/app/src/main/cpp/yolo.cpp b/app/src/main/cpp/yolo.cpp index cb73a85..199b709 100644 --- a/app/src/main/cpp/yolo.cpp +++ b/app/src/main/cpp/yolo.cpp @@ -444,22 +444,14 @@ JNIEnv *env; vm->AttachCurrentThread(&env, nullptr); j_mat_addr = nativeObjAddr; + //nativeObjAddr 有两类值,一种是内存地址(检查模式),一种是常量 1L (自由模式) + if (nativeObjAddr == 1L) { + j_mode = 0; + } else { + j_mode = 1; + } j_callback = env->NewGlobalRef(pJobject); - j_mode = 1; -} - -void Yolo::initFreeModeNativeCallback(JavaVM *vm, jobject pJobject) { - javaVM = vm; - - /** - * JNIEnv不支持跨线程调用 - * */ - JNIEnv *env; - vm->AttachCurrentThread(&env, nullptr); - - j_callback = env->NewGlobalRef(pJobject); - j_mode = 0; } int Yolo::classify(const cv::Mat &rgb) { @@ -865,10 +857,6 @@ //回调 env->CallVoidMethod(j_callback, j_method_id, arraylist_obj); } - } else { - __android_log_print( - ANDROID_LOG_DEBUG, "ncnn", "yolo_d detect is paused, state = %d", j_state - ); } return 0; } \ No newline at end of file diff --git a/app/src/main/cpp/yolov8ncnn.cpp b/app/src/main/cpp/yolov8ncnn.cpp index f5cf76e..e466653 100644 --- a/app/src/main/cpp/yolov8ncnn.cpp +++ b/app/src/main/cpp/yolov8ncnn.cpp @@ -325,18 +325,6 @@ } JNIEXPORT jboolean JNICALL -Java_com_casic_br_ar_app_external_Yolov8ncnn_setSurfaceWindow(JNIEnv *env, jobject thiz, - jobject surface, - jobject native_callback) { - ANativeWindow *win = ANativeWindow_fromSurface(env, surface); - - g_camera->set_window(win); - - g_yolo->initFreeModeNativeCallback(javaVM, native_callback); - return JNI_TRUE; -} - -JNIEXPORT jboolean JNICALL Java_com_casic_br_ar_app_external_Yolov8ncnn_onPause(JNIEnv *env, jobject thiz) { g_yolo->j_state = 0; return JNI_TRUE; diff --git a/app/src/main/java/com/casic/br/ar/app/external/IFreeModeNativeCallback.kt b/app/src/main/java/com/casic/br/ar/app/external/IFreeModeNativeCallback.kt deleted file mode 100644 index ed2bcaa..0000000 --- a/app/src/main/java/com/casic/br/ar/app/external/IFreeModeNativeCallback.kt +++ /dev/null @@ -1,8 +0,0 @@ -package com.casic.br.ar.app.external - -interface IFreeModeNativeCallback { - /** - * 自由检测 - */ - fun onFreeDetect(output: ArrayList) -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/ar/app/external/INativeCallback.kt b/app/src/main/java/com/casic/br/ar/app/external/INativeCallback.kt index f2c8aec..a73a2b3 100644 --- a/app/src/main/java/com/casic/br/ar/app/external/INativeCallback.kt +++ b/app/src/main/java/com/casic/br/ar/app/external/INativeCallback.kt @@ -17,4 +17,9 @@ * 检测。只需要返回类别 */ fun onDetect(output: ArrayList) + + /** + * 自由检测 + */ + fun onFreeDetect(output: ArrayList) } \ No newline at end of file diff --git a/app/src/main/cpp/yolo.cpp b/app/src/main/cpp/yolo.cpp index cb73a85..199b709 100644 --- a/app/src/main/cpp/yolo.cpp +++ b/app/src/main/cpp/yolo.cpp @@ -444,22 +444,14 @@ JNIEnv *env; vm->AttachCurrentThread(&env, nullptr); j_mat_addr = nativeObjAddr; + //nativeObjAddr 有两类值,一种是内存地址(检查模式),一种是常量 1L (自由模式) + if (nativeObjAddr == 1L) { + j_mode = 0; + } else { + j_mode = 1; + } j_callback = env->NewGlobalRef(pJobject); - j_mode = 1; -} - -void Yolo::initFreeModeNativeCallback(JavaVM *vm, jobject pJobject) { - javaVM = vm; - - /** - * JNIEnv不支持跨线程调用 - * */ - JNIEnv *env; - vm->AttachCurrentThread(&env, nullptr); - - j_callback = env->NewGlobalRef(pJobject); - j_mode = 0; } int Yolo::classify(const cv::Mat &rgb) { @@ -865,10 +857,6 @@ //回调 env->CallVoidMethod(j_callback, j_method_id, arraylist_obj); } - } else { - __android_log_print( - ANDROID_LOG_DEBUG, "ncnn", "yolo_d detect is paused, state = %d", j_state - ); } return 0; } \ No newline at end of file diff --git a/app/src/main/cpp/yolov8ncnn.cpp b/app/src/main/cpp/yolov8ncnn.cpp index f5cf76e..e466653 100644 --- a/app/src/main/cpp/yolov8ncnn.cpp +++ b/app/src/main/cpp/yolov8ncnn.cpp @@ -325,18 +325,6 @@ } JNIEXPORT jboolean JNICALL -Java_com_casic_br_ar_app_external_Yolov8ncnn_setSurfaceWindow(JNIEnv *env, jobject thiz, - jobject surface, - jobject native_callback) { - ANativeWindow *win = ANativeWindow_fromSurface(env, surface); - - g_camera->set_window(win); - - g_yolo->initFreeModeNativeCallback(javaVM, native_callback); - return JNI_TRUE; -} - -JNIEXPORT jboolean JNICALL Java_com_casic_br_ar_app_external_Yolov8ncnn_onPause(JNIEnv *env, jobject thiz) { g_yolo->j_state = 0; return JNI_TRUE; diff --git a/app/src/main/java/com/casic/br/ar/app/external/IFreeModeNativeCallback.kt b/app/src/main/java/com/casic/br/ar/app/external/IFreeModeNativeCallback.kt deleted file mode 100644 index ed2bcaa..0000000 --- a/app/src/main/java/com/casic/br/ar/app/external/IFreeModeNativeCallback.kt +++ /dev/null @@ -1,8 +0,0 @@ -package com.casic.br.ar.app.external - -interface IFreeModeNativeCallback { - /** - * 自由检测 - */ - fun onFreeDetect(output: ArrayList) -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/ar/app/external/INativeCallback.kt b/app/src/main/java/com/casic/br/ar/app/external/INativeCallback.kt index f2c8aec..a73a2b3 100644 --- a/app/src/main/java/com/casic/br/ar/app/external/INativeCallback.kt +++ b/app/src/main/java/com/casic/br/ar/app/external/INativeCallback.kt @@ -17,4 +17,9 @@ * 检测。只需要返回类别 */ fun onDetect(output: ArrayList) + + /** + * 自由检测 + */ + fun onFreeDetect(output: ArrayList) } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/ar/app/external/Yolov8ncnn.kt b/app/src/main/java/com/casic/br/ar/app/external/Yolov8ncnn.kt index 3bc23db..05814dd 100644 --- a/app/src/main/java/com/casic/br/ar/app/external/Yolov8ncnn.kt +++ b/app/src/main/java/com/casic/br/ar/app/external/Yolov8ncnn.kt @@ -42,10 +42,6 @@ surface: Surface, nativeObjAddr: Long, callBack: INativeCallback ): Boolean - external fun setSurfaceWindow( - surface: Surface, callBack: IFreeModeNativeCallback - ): Boolean - external fun onPause(): Boolean external fun onRestart(): Boolean diff --git a/app/src/main/cpp/yolo.cpp b/app/src/main/cpp/yolo.cpp index cb73a85..199b709 100644 --- a/app/src/main/cpp/yolo.cpp +++ b/app/src/main/cpp/yolo.cpp @@ -444,22 +444,14 @@ JNIEnv *env; vm->AttachCurrentThread(&env, nullptr); j_mat_addr = nativeObjAddr; + //nativeObjAddr 有两类值,一种是内存地址(检查模式),一种是常量 1L (自由模式) + if (nativeObjAddr == 1L) { + j_mode = 0; + } else { + j_mode = 1; + } j_callback = env->NewGlobalRef(pJobject); - j_mode = 1; -} - -void Yolo::initFreeModeNativeCallback(JavaVM *vm, jobject pJobject) { - javaVM = vm; - - /** - * JNIEnv不支持跨线程调用 - * */ - JNIEnv *env; - vm->AttachCurrentThread(&env, nullptr); - - j_callback = env->NewGlobalRef(pJobject); - j_mode = 0; } int Yolo::classify(const cv::Mat &rgb) { @@ -865,10 +857,6 @@ //回调 env->CallVoidMethod(j_callback, j_method_id, arraylist_obj); } - } else { - __android_log_print( - ANDROID_LOG_DEBUG, "ncnn", "yolo_d detect is paused, state = %d", j_state - ); } return 0; } \ No newline at end of file diff --git a/app/src/main/cpp/yolov8ncnn.cpp b/app/src/main/cpp/yolov8ncnn.cpp index f5cf76e..e466653 100644 --- a/app/src/main/cpp/yolov8ncnn.cpp +++ b/app/src/main/cpp/yolov8ncnn.cpp @@ -325,18 +325,6 @@ } JNIEXPORT jboolean JNICALL -Java_com_casic_br_ar_app_external_Yolov8ncnn_setSurfaceWindow(JNIEnv *env, jobject thiz, - jobject surface, - jobject native_callback) { - ANativeWindow *win = ANativeWindow_fromSurface(env, surface); - - g_camera->set_window(win); - - g_yolo->initFreeModeNativeCallback(javaVM, native_callback); - return JNI_TRUE; -} - -JNIEXPORT jboolean JNICALL Java_com_casic_br_ar_app_external_Yolov8ncnn_onPause(JNIEnv *env, jobject thiz) { g_yolo->j_state = 0; return JNI_TRUE; diff --git a/app/src/main/java/com/casic/br/ar/app/external/IFreeModeNativeCallback.kt b/app/src/main/java/com/casic/br/ar/app/external/IFreeModeNativeCallback.kt deleted file mode 100644 index ed2bcaa..0000000 --- a/app/src/main/java/com/casic/br/ar/app/external/IFreeModeNativeCallback.kt +++ /dev/null @@ -1,8 +0,0 @@ -package com.casic.br.ar.app.external - -interface IFreeModeNativeCallback { - /** - * 自由检测 - */ - fun onFreeDetect(output: ArrayList) -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/ar/app/external/INativeCallback.kt b/app/src/main/java/com/casic/br/ar/app/external/INativeCallback.kt index f2c8aec..a73a2b3 100644 --- a/app/src/main/java/com/casic/br/ar/app/external/INativeCallback.kt +++ b/app/src/main/java/com/casic/br/ar/app/external/INativeCallback.kt @@ -17,4 +17,9 @@ * 检测。只需要返回类别 */ fun onDetect(output: ArrayList) + + /** + * 自由检测 + */ + fun onFreeDetect(output: ArrayList) } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/ar/app/external/Yolov8ncnn.kt b/app/src/main/java/com/casic/br/ar/app/external/Yolov8ncnn.kt index 3bc23db..05814dd 100644 --- a/app/src/main/java/com/casic/br/ar/app/external/Yolov8ncnn.kt +++ b/app/src/main/java/com/casic/br/ar/app/external/Yolov8ncnn.kt @@ -42,10 +42,6 @@ surface: Surface, nativeObjAddr: Long, callBack: INativeCallback ): Boolean - external fun setSurfaceWindow( - surface: Surface, callBack: IFreeModeNativeCallback - ): Boolean - external fun onPause(): Boolean external fun onRestart(): Boolean diff --git a/app/src/main/java/com/casic/br/ar/app/view/CheckModeActivity.kt b/app/src/main/java/com/casic/br/ar/app/view/CheckModeActivity.kt index caa53d8..780a876 100644 --- a/app/src/main/java/com/casic/br/ar/app/view/CheckModeActivity.kt +++ b/app/src/main/java/com/casic/br/ar/app/view/CheckModeActivity.kt @@ -442,6 +442,10 @@ weakReferenceHandler.sendMessage(message) } + override fun onFreeDetect(output: ArrayList) { + + } + override fun handleMessage(msg: Message): Boolean { when (msg.what) { 2024082901 -> { diff --git a/app/src/main/cpp/yolo.cpp b/app/src/main/cpp/yolo.cpp index cb73a85..199b709 100644 --- a/app/src/main/cpp/yolo.cpp +++ b/app/src/main/cpp/yolo.cpp @@ -444,22 +444,14 @@ JNIEnv *env; vm->AttachCurrentThread(&env, nullptr); j_mat_addr = nativeObjAddr; + //nativeObjAddr 有两类值,一种是内存地址(检查模式),一种是常量 1L (自由模式) + if (nativeObjAddr == 1L) { + j_mode = 0; + } else { + j_mode = 1; + } j_callback = env->NewGlobalRef(pJobject); - j_mode = 1; -} - -void Yolo::initFreeModeNativeCallback(JavaVM *vm, jobject pJobject) { - javaVM = vm; - - /** - * JNIEnv不支持跨线程调用 - * */ - JNIEnv *env; - vm->AttachCurrentThread(&env, nullptr); - - j_callback = env->NewGlobalRef(pJobject); - j_mode = 0; } int Yolo::classify(const cv::Mat &rgb) { @@ -865,10 +857,6 @@ //回调 env->CallVoidMethod(j_callback, j_method_id, arraylist_obj); } - } else { - __android_log_print( - ANDROID_LOG_DEBUG, "ncnn", "yolo_d detect is paused, state = %d", j_state - ); } return 0; } \ No newline at end of file diff --git a/app/src/main/cpp/yolov8ncnn.cpp b/app/src/main/cpp/yolov8ncnn.cpp index f5cf76e..e466653 100644 --- a/app/src/main/cpp/yolov8ncnn.cpp +++ b/app/src/main/cpp/yolov8ncnn.cpp @@ -325,18 +325,6 @@ } JNIEXPORT jboolean JNICALL -Java_com_casic_br_ar_app_external_Yolov8ncnn_setSurfaceWindow(JNIEnv *env, jobject thiz, - jobject surface, - jobject native_callback) { - ANativeWindow *win = ANativeWindow_fromSurface(env, surface); - - g_camera->set_window(win); - - g_yolo->initFreeModeNativeCallback(javaVM, native_callback); - return JNI_TRUE; -} - -JNIEXPORT jboolean JNICALL Java_com_casic_br_ar_app_external_Yolov8ncnn_onPause(JNIEnv *env, jobject thiz) { g_yolo->j_state = 0; return JNI_TRUE; diff --git a/app/src/main/java/com/casic/br/ar/app/external/IFreeModeNativeCallback.kt b/app/src/main/java/com/casic/br/ar/app/external/IFreeModeNativeCallback.kt deleted file mode 100644 index ed2bcaa..0000000 --- a/app/src/main/java/com/casic/br/ar/app/external/IFreeModeNativeCallback.kt +++ /dev/null @@ -1,8 +0,0 @@ -package com.casic.br.ar.app.external - -interface IFreeModeNativeCallback { - /** - * 自由检测 - */ - fun onFreeDetect(output: ArrayList) -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/ar/app/external/INativeCallback.kt b/app/src/main/java/com/casic/br/ar/app/external/INativeCallback.kt index f2c8aec..a73a2b3 100644 --- a/app/src/main/java/com/casic/br/ar/app/external/INativeCallback.kt +++ b/app/src/main/java/com/casic/br/ar/app/external/INativeCallback.kt @@ -17,4 +17,9 @@ * 检测。只需要返回类别 */ fun onDetect(output: ArrayList) + + /** + * 自由检测 + */ + fun onFreeDetect(output: ArrayList) } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/ar/app/external/Yolov8ncnn.kt b/app/src/main/java/com/casic/br/ar/app/external/Yolov8ncnn.kt index 3bc23db..05814dd 100644 --- a/app/src/main/java/com/casic/br/ar/app/external/Yolov8ncnn.kt +++ b/app/src/main/java/com/casic/br/ar/app/external/Yolov8ncnn.kt @@ -42,10 +42,6 @@ surface: Surface, nativeObjAddr: Long, callBack: INativeCallback ): Boolean - external fun setSurfaceWindow( - surface: Surface, callBack: IFreeModeNativeCallback - ): Boolean - external fun onPause(): Boolean external fun onRestart(): Boolean diff --git a/app/src/main/java/com/casic/br/ar/app/view/CheckModeActivity.kt b/app/src/main/java/com/casic/br/ar/app/view/CheckModeActivity.kt index caa53d8..780a876 100644 --- a/app/src/main/java/com/casic/br/ar/app/view/CheckModeActivity.kt +++ b/app/src/main/java/com/casic/br/ar/app/view/CheckModeActivity.kt @@ -442,6 +442,10 @@ weakReferenceHandler.sendMessage(message) } + override fun onFreeDetect(output: ArrayList) { + + } + override fun handleMessage(msg: Message): Boolean { when (msg.what) { 2024082901 -> { diff --git a/app/src/main/java/com/casic/br/ar/app/view/FreeModeActivity.kt b/app/src/main/java/com/casic/br/ar/app/view/FreeModeActivity.kt index a1535b9..e38bdd1 100644 --- a/app/src/main/java/com/casic/br/ar/app/view/FreeModeActivity.kt +++ b/app/src/main/java/com/casic/br/ar/app/view/FreeModeActivity.kt @@ -8,7 +8,7 @@ import androidx.lifecycle.lifecycleScope import com.casic.br.ar.app.databinding.ActivityFreeModeBinding import com.casic.br.ar.app.extensions.convert2YoloResult -import com.casic.br.ar.app.external.IFreeModeNativeCallback +import com.casic.br.ar.app.external.INativeCallback import com.casic.br.ar.app.external.YoloResult import com.casic.br.ar.app.external.Yolov8ncnn import com.pengxh.kt.lite.base.KotlinBaseActivity @@ -19,7 +19,7 @@ import org.opencv.osgi.OpenCVNativeLoader class FreeModeActivity : KotlinBaseActivity(), SurfaceHolder.Callback, - IFreeModeNativeCallback { + INativeCallback { private val yolov8ncnn by lazy { Yolov8ncnn() } @@ -57,7 +57,21 @@ } override fun surfaceChanged(holder: SurfaceHolder, format: Int, width: Int, height: Int) { - yolov8ncnn.setSurfaceWindow(holder.surface, this) + yolov8ncnn.setOutputWindow(holder.surface, 1L, this) + } + + override fun onClassify(possibles: FloatArray) { + + } + + override fun onSegmentation( + segmentationOutput: ArrayList, detectOutput: ArrayList + ) { + + } + + override fun onDetect(output: ArrayList) { + } override fun onFreeDetect(output: ArrayList) {