Casco convexo en Java Android Opencv 2.3

Por favor, ayúdame,

Tengo un problema para Convex Hull en Android. Yo uso Java yOpenCV 2.3.

Antes de hacerlo en Java, lo hice en C ++ con Visual Studio 2008.

Este código puede ejecutarse exitosamente en C ++.

Ahora, quiero convertirlo de C ++ a Java en Android. Y encontré un error como "forzar el cierre" cuando lo ejecuto en el simulador SDK de Android.

Este es mi código en C ++:

vector<vector<Point> > contours;
vector<Vec4i> hierarchy;

findContours( canny_output, contours, hierarchy, CV_RETR_TREE, CV_CHAIN_APPROX_SIMPLE, Point(0, 0) );
drawing = Mat::zeros( canny_output.size(), CV_64F );

/// Find the convex hull object for each contour
vector<vector<Point> > hull ( contours.size() );
for( int i = 0; i < contours.size(); i++ )
  {  convexHull( Mat(contours[i]), hull[i], false );
}

for(size_t i = 0; i < contours.size(); i++){
    drawContours( drawing, hull, i, Scalar(255, 255, 255), CV_FILLED ); // FILL WHITE COLOR
}

Y este es mi código en Android:

Mat hierarchy = new Mat(img_canny.rows(),img_canny.cols(),CvType.CV_8UC1,new Scalar(0));
    List<Mat> contours =new ArrayList<Mat>();
    List<Mat> hull = new ArrayList<Mat>(contours.size());
    drawing = Mat.zeros(img_canny.size(), im_gray);

    Imgproc.findContours(img_dilasi, contours, hierarchy,Imgproc.RETR_TREE, Imgproc.CHAIN_APPROX_SIMPLE, new Point(0, 0));

    for(int i=0; i<contours.size(); i++){
        Imgproc.convexHull(contours.get(i), hull.get(i), false);

    }
    for(int i=0; i<contours.size(); i++){
        Imgproc.drawContours(drawing, hull, i, new Scalar(255.0, 255.0, 255.0), 5);
    }

Para su información, hice una pequeña modificación en Convex Hull en mi código.Relleno un color dentro del contorno.

¿Alguien me puede ayudar a resolver mi problema?

Estoy muy agradecido por su ayuda.

Respuestas a la pregunta(6)

Su respuesta a la pregunta