OpenCV dla Androida: Prosty przykład konwersji obrazu do skali szarości

Na początek chcę po prostu przekonwertować bitmapę na skalę szarości przez OpenCV. Mam wszystko uruchomione, ale mocno się zawiesza, gdy chcę przekonwertować obraz do skali szarości. Czy ktoś może pomóc? Mam nadzieję, że fragmenty są wystarczające, jeśli nie, mogę dołączyć resztę.

część pliku java:

                // convert to opencv structure
                Mat image = new Mat();
                Mat grayimage = new Mat();
                Utils.bitmapToMat(b2, image);

                // call opencv for processing
                grayimage = convertToGray (image);

                // convert back
                Utils.matToBitmap(grayimage, b2);

Plik cpp JNI:

JNIEXPORT jlong JNICALL Java_com_my_sample_MainMenuActivity_convertToGray (JNIEnv*, jobject, jlong addrRGBA)
{
    LOGI("Converting to Gray.");
    Mat *mRGBA  = (Mat*)addrRGBA;

    Mat *_retval_;
    cvtColor(*mRGBA, *_retval_, CV_RGB2GRAY);

    LOGI("Successfully finished Converting to Gray.");
    return (jlong) _retval_;
}

Nigdy nie udaje się, aby rejestracja przebiegła pomyślnie po przekonwertowaniu obrazu. Wygląda na to, że mapa bitowa nie została poprawnie przekonwertowana na Mat. Sama bitmapa istnieje, mogę ją pokazać na ImageView. Ktoś wskazał, co robię (oczywiście) źle?

05-14 21:26:27.082: I/native(22394): Converting to Gray.
05-14 21:26:27.082: A/libc(22394): Fatal signal 11 (SIGSEGV) at 0xcd10001d (code=1), thread 22394 (ialabs.mysample)

Przepraszam, jeśli na to pytanie zostanie udzielona odpowiedź w innym miejscu, nie znalazłem przykładu z Matem, tylko niektóre z IplImage, jak się wydaje.

questionAnswers(3)

yourAnswerToTheQuestion