안드로이드 내에 opencv를 포팅한 뒤 jni로 사용하고 있습니다.
java에서 카메라를 실행하여 이미지를 받고, 그 이미지를 camera 변수에 넣어서 gray scale로 만들려고 이러한 코드를 작성하였습니다.
IplImage * camera;
camera = cvCreateImageHeader(cvSize(width, height), IPL_DEPTH_8U, 3);
cvSetImageData(camera, bitmapByte, width*IPL_DEPTH_8U*3);
Mat cameraMat = cvarrToMat(camera);
Mat grayMat = Mat(width, height, CV_8UC1);//cvarrToMat(gray);
cvtColor(cameraMat, grayMat,CV_BGR2GRAY); // <<<< 이 부분
헌데 아래와 같은 에러가 계속하여 뜹니다.
10-10 17:20:57.547: A/libc(6066): Fatal signal 11 (SIGSEGV) at 0x1e00001d (code=1), thread 6066 (.example.hungry)
10-10 17:20:57.547: A/libc(6066): Fatal signal 11 (SIGSEGV) at 0x1e2f2cfd (code=1), thread 6082 (.example.hungry)
실행할 때 마다 위와 같은 에러가 두번씩 뜨는걸로 보아서는 cameraMat, grayMat을 참조하면서 동시에 에러가 나서 이런게 발생하지 않나 싶습니다만, 어느 부분이 문제여서 에러가 발생하는지는 잘 모르겠네요. 함수 자체를 잘못 쓴 것 같진 않은데...
혹시 logcat의 debuger기능을 사용해서 문제를 해결할 수 있는것이라면, debuger를 어떻게 해야 사용할 수 있는것인지도 알려주시면 감사하겠습니다. 답변 부탁드립니다 :)