Использование нативных функций в Android с OpenCV

Я хочу использовать OpenCV + Android, используя нативные функции. Однако меня немного смущает, как использовать растровые изображения в качестве параметров и как вернуть значение отредактированного растрового изображения (или Mat).

Так, например, у меня есть встроенная функция:

#include <jni.h>
#include <opencv2/core/core.hpp>
#include <opencv2/imgproc/imgproc.hpp>


JNIEXPORT ??? JNICALL Java_com_my_package_name_and_javaclass_myFunction(JNIEnv* env, jobject javaThis, cv::Mat mat1){
    //here will be code to perform filtering, blurring, canny edge detection or similar things.
        //so I want to input a bitmap, edit it and send it back to the Android class.

return ???
    }

Поэтому здесь я использую cv :: Mat в качестве параметра. Я знаю, что это неправильно, но я не уверен, что это должно быть, и что должно быть в соответствующем классе Java. Должно ли это быть ByteArray? И тогда в вышеупомянутой нативной функции параметр будет jByteArray (или аналогичный)?

А для возврата объекта что я должен поставить? Это должен быть массив?

В основном, что я ищу, так это в классе Java, у меня есть Mat (или Bitmap), я отправляю его в нативную функцию для редактирования и возвращаю красиво отредактированное растровое изображение.

Ответы на вопрос(2)

Ваш ответ на вопрос