OpenCV para Android: Exemplo simples para converter a imagem em escala de cinzentos

Como um iniciante eu só quero converter um Bitmap em escala de cinza via OpenCV. Eu tenho tudo funcionando, mas ele cai com força assim que eu quero converter a imagem em escala de cinza. Alguém pode ajudar? Espero que os trechos sejam suficientes, senão posso anexar o resto.

parte do arquivo 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);

Arquivo JNI cpp:

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_;
}

Ele nunca consegue registrar com êxito a conversão da imagem. Parece que o Bitmap não foi convertido corretamente em um Mat. O bitmap em si existe, eu posso mostrá-lo em um ImageView. Alguém sabe o que eu estou (obviamente) fazendo errado?

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)

Desculpe se esta pergunta for respondida em outro lugar, eu não encontrei um exemplo com o Mat, apenas alguns com o IplImage, parece.

questionAnswers(3)

yourAnswerToTheQuestion