В основном я пытаюсь нарисовать первый контур с цветом. Но эта программа вылетает с после ошибкивычерчивание контуров с ошибкой opencv
////////////////////////////////////// ///////////////////// 9-11 09: 56: 38.230: D/dalvikvm (1920): GC_FOR_ALLOC освобожден 71K, 10% бесплатно 2824K/3124K, приостановлено 0ms, общая 3ms
09-11 09: 56: 38,340 D/dalvikvm (1920): GC_FOR_ALLOC освободил 379k, 17% бесплатно 2958K/3564K, приостановлена 3 мс, общий 4ms
09-11 09:56 : 38.360: D/dalvikvm (1920): GC_FOR_ALLOC освобожден 107K, 10% бесплатно 3361K/3696K, приостановлено 2 мс, всего 3 мс
09-11 09: 56: 38.390: D/d alvikvm (1920): GC_FOR_ALLOC освобожден 170K, 10% бесплатно 3702K/4100K, приостановлено 4 мс, всего 4 мс
09-11 09: 56: 38.420: E/cv :: error() (1920): Ошибка OpenCV: Плохо аргумент (Неизвестный тип массива) в cv :: Mat cv :: cvarrToMat (const CvArr *, bool, bool, int), файл/home/reports/ci/slave_desktop/50-SDK/opencv/modules/core/src/matrix .cpp, линия 698
09-11 09: 56: 38,430 A/Libc (1920): фатальный сигнал 11 (SIGSEGV) при 0x00000000 (код = 1), поток 1920 (pencvratstudy01)
// ////////////////////////////////////////////////// /////////////////////////
Программа is
@Override
protected void onCreate(Bundle savedInstanceState) {
Log.i(TAG, "called onCreate");
super.onCreate(savedInstanceState);
if (!OpenCVLoader.initDebug()) {
// Handle initialization error
}
setContentView(R.layout.activity_main);
// load an image from Resource directory
Mat mMat = new Mat();
try {
mMat = Utils.loadResource(this, R.drawable.baby,
Highgui.CV_LOAD_IMAGE_COLOR);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
// Create result object with correct color
Mat result = new Mat();
Imgproc.cvtColor(mMat, result, Imgproc.COLOR_RGB2BGRA);
// create tmpMat object for gray image and blur it
Mat tmpMat = new Mat();
Imgproc.cvtColor(result,tmpMat , Imgproc.COLOR_BGR2GRAY);
Imgproc.blur(tmpMat, tmpMat, new Size(3,3));
/* find cany of tmpMat */
Mat canny = new Mat();
Imgproc.Canny(tmpMat, canny , 2 , 4);
// find contours
Mat hierarchy = new Mat();
List<MatOfPoint> contours = new ArrayList<MatOfPoint>();
Imgproc.findContours(canny, contours, hierarchy, Imgproc.RETR_EXTERNAL,
Imgproc.CHAIN_APPROX_SIMPLE);
// draw contour on mask object
Mat mask = new Mat();
Imgproc.drawContours(mask, contours, 0 , new Scalar(255));
// create bitmap and draw on imageView
Bitmap bmp;
bmp = Bitmap.createBitmap(mask.cols(), mask.rows(), Bitmap.Config.ARGB_8888);
Utils.matToBitmap(mask, bmp);
ImageView imgView = (ImageView) findViewById(R.id.sampleImageView);
imgView.setImageBitmap(bmp);
}
В чем проблема?