Вырезать цифры из картинки

192
14 июля 2019, 01:40

Нужно вырезать цифры из картинок такого вида, сейчас использую код:

   private static void recDigit(Mat digitMat){
    List<MatOfPoint> whiteContoursDigit = new ArrayList<>();
    Imgproc.findContours(digitMat, whiteContoursDigit, new Mat(), Imgproc.RETR_LIST, Imgproc.CHAIN_APPROX_SIMPLE);
    Rect largestRectDigit = null;
    for (MatOfPoint contourDigit  : whiteContoursDigit ) {
        RotatedRect boundingRectDigit  = Imgproc.minAreaRect(new MatOfPoint2f(contourDigit .toArray()));
        double rectangleAreaDigit  = boundingRectDigit .size.area();
        // test min ROI area in pixels
        if (rectangleAreaDigit > 150) {
            Point rotated_rect_pointsDigit[] = new Point[4];
            boundingRectDigit.points(rotated_rect_pointsDigit);
            Rect rectDigit = Imgproc.boundingRect(new MatOfPoint(rotated_rect_pointsDigit));
            double x = (double) rectDigit.width / (double) rectDigit.height;
            if (x < 1.5 && x > 0.7) {
                if (largestRectDigit == null) {
                    largestRectDigit = rectDigit;
                } else {
                    if (rectDigit.width > largestRectDigit.width) {
                        largestRectDigit = rectDigit;
                    }
                }
                Mat roiMatDigit = new Mat(digitMat, largestRectDigit);
                String fileNameDigit = "C://laba//res//" + UUID.randomUUID().toString() + ".jpg";
                Imgcodecs.imwrite(fileNameDigit, roiMatDigit);
            }
        }
    }
}

Проблема в том что не все цифры распознаются, некоторые задваиваются, важно получить цифры в том же порядке что и на картинке.

READ ALSO
NullPointerException при получении URI для файла

NullPointerException при получении URI для файла

Нужно при клике на кнопке открыть приложение камеры, сделать снимок и сохранить егоВот сам обработчик:

159
Сокеты. Прием от сервера массива данных

Сокеты. Прием от сервера массива данных

Имеется сервер который слушает команды от подключившихся клиентовПри обработке команды(запросов) клиенту отправляется массив данных

201
Добавить пункт в контекстное меню

Добавить пункт в контекстное меню

Возможно этот вопрос уже задавался, но я его так и не нашелКак добавить пункт в "глобальное" контекстное меню

188
приложение на javafx не отвечает

приложение на javafx не отвечает

Пишу прогу на java и графический интерфейс для нее на javafx все было хорошоНо в один момент начала выскакивать ошибка java tm platform se binary не отвечает

142