Używanie natywnych funkcji w systemie Android z OpenCV

Chcę używać OpenCV + Android, używając rodzimych funkcji. Jednak jestem trochę zdezorientowany, jak używać bitmap jako parametrów i jak zwracać wartość edytowanej bitmapy (lub Mat).

Na przykład mam funkcję natywną:

#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 ???
    }

Więc tutaj używam cv :: Mat jako parametru. Wiem, że to źle, ale nie jestem pewien, co to powinno być i co powinno być w odpowiedniej klasie Java. Czy powinien to być ByteArray? A potem w powyższej natywnej funkcji parametrem byłby jByteArray (lub podobny)?

Co do powracającego obiektu, co powinienem umieścić? Czy to powinna być tablica?

Zasadniczo tego, czego szukam, jest w klasie Java Mam Matę (lub Bitmapę). Wysyłam ją do natywnej funkcji w celu edycji i zwracam ładnie edytowaną bitmapę.

questionAnswers(2)

yourAnswerToTheQuestion