Member 13882534 Ответов: 0

Ошибка: не удается найти иерархию переменных символов с помощью opencv в android studio


Привет,я использую функцию opencv findCountour для поиска контура и рисования найденного контура на изображении. Код, кажется, не имеет никаких проблем, однако, когда я пытаюсь отладить, он показывает ошибку, что переменная "иерархия" не может быть найдена. Я не знаю, почему это так, помогите, пожалуйста, спасибо.

Проблема, по-видимому, заключается в том, что Imgproc.java файл (он импортируется из opencv), в котором иерархия находится в красном цвете(что означает ошибку).

//javadoc: findContours(image, contours, hierarchy, mode, method)
   public static void findContours(Mat image, List<MatOfPoint> contours, Mat mat, int mode, int method)
   {
       Mat contours_mat = new Mat();
       findContours_1(image.nativeObj, contours_mat.nativeObj, hierarchy.nativeObj, mode, method);
       Converters.Mat_to_vector_vector_Point(contours_mat, contours);
       contours_mat.release();
       return;
   }


Что я уже пробовал:

часть кода findContour

//find contour
        List<MatOfPoint> contours = new ArrayList<>();
        //Imgproc.findContours(outputImage,contours,new Mat(),Imgproc.RETR_LIST,Imgproc.CHAIN_APPROX_SIMPLE);
        Imgproc.findContours(outputImage,contours, hierarchy,Imgproc.RETR_LIST,Imgproc.CHAIN_APPROX_SIMPLE);
        //draw contour
        Imgproc.drawContours(outputImage,contours,-1,new Scalar(0,255,0));

Richard MacCutchan

Где находится объект иерархии, объявленный в вашем коде?

Member 13882534

Он объявляется в методе Mat hierarchy = new Mat(); но та же ошибка все еще существует

Richard MacCutchan

Ну, это, очевидно, не видно в рамках кода, который вы показали выше.

0 Ответов