Android OpenCV Find contours

J'ai besoin d'extraire le plus grand contour d'une image.
C'est le code que j'utilise actuellement. réunis de quelques extraits en ligne

List<MatOfPoint> contours = new ArrayList<MatOfPoint>();
Imgproc.findContours(outerBox, contours, new Mat(), Imgproc.RETR_LIST, Imgproc.CHAIN_APPROX_SIMPLE);
double maxArea = -1;
int maxAreaIdx = -1;
for (int idx = 0; idx < contours.size(); idx++) {
    Mat contour = contours.get(idx);
    double contourarea = Imgproc.contourArea(contour);
    if (contourarea > maxArea) {
        maxArea = contourarea;
        maxAreaIdx = idx;
    }
}

et il semble fonctionner. cependant, je ne suis pas tout à fait sûr de savoir comment aller à ce sujet à partir d'ici.
J'ai essayé d'utiliser Imgproc.floodFill, mais je ne suis pas tout à fait sûr de savoir comment.
cette fonction nécessite un mât Mat de la même taille que l'original Mat +2 horizontal et +2 à la verticale.
Quand j'ai couru ce sur le contour contours.get(maxAreaIdx), il m'a donné une erreur.
Le code:

Mat mask = Mat.zeros(contour.rows() + 2, contour.cols() + 2, CvType.CV_8UC1);
int area = Imgproc.floodFill(contour, mask, new Point(0,0), new Scalar(255, 255, 255));

L'erreur:

11-18 19:07:49.406: E/cv::error()(3117): OpenCV Error: Unsupported format or combination of formats () in void cvFloodFill(CvArr*, CvPoint, CvScalar, CvScalar, CvScalar, CvConnectedComp*, int, CvArr*), file /home/oleg/sources/opencv/modules/imgproc/src/floodfill.cpp, line 621

Donc en gros ma question est, comment puis-je, après avoir constaté que le contour avec la plus grande superficie, à "mettre en évidence"? Je veux que tout noir, et le contour blanc

Merci!

source d'informationauteur La bla bla