Получить только внутренние контуры в JavaCV / OpenCV - PullRequest
0 голосов
/ 17 марта 2020

У меня проблемы с выяснением только внутренних контуров предоставленного изображения. Найти внешний контур легко, но я не знаю, как найти внутренние контуры с помощью JavaCV, так как документации не хватает.

Пока мой код:

for (Mat mat : mats) {
        Mat newMat = mat.clone();
        opencv_imgproc.Canny(mat, newMat, 50.0, 100.0);
        opencv_imgproc.blur(newMat, newMat, new Size(2, 2));
        opencv_core.MatVector contours = new opencv_core.MatVector();
        opencv_core.Mat hierarchy = new opencv_core.Mat();
        //Mat hierarchy = new Mat(new double[]{255, 255, 255, 0});
        opencv_imgproc.findContours(newMat, contours, hierarchy, opencv_imgproc.CV_RETR_TREE, opencv_imgproc.CHAIN_APPROX_NONE, new opencv_core.Point(0, 0));

        List<opencv_core.Rect> rectangles = new ArrayList<>();
        for (Mat matContour : contours.get()) {
           //clueless how to find internal contours here 
        }
...