Нужно вырезать цифры из картинок такого вида, сейчас использую код:
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);
}
}
}
}
Проблема в том что не все цифры распознаются, некоторые задваиваются, важно получить цифры в том же порядке что и на картинке.
Виртуальный выделенный сервер (VDS) становится отличным выбором
Нужно при клике на кнопке открыть приложение камеры, сделать снимок и сохранить егоВот сам обработчик:
Имеется сервер который слушает команды от подключившихся клиентовПри обработке команды(запросов) клиенту отправляется массив данных
Возможно этот вопрос уже задавался, но я его так и не нашелКак добавить пункт в "глобальное" контекстное меню
Пишу прогу на java и графический интерфейс для нее на javafx все было хорошоНо в один момент начала выскакивать ошибка java tm platform se binary не отвечает