Я использую OpenCV с Java для обработки изображений.
Сначала я импортировал изображение документа Брайля:

Затем я выполнил некоторую обработку изображения, чтобы бинаризировать оригинал изображение. Я читал, что важными шагами являются:
- Преобразование изображения в уровни серого
- Уменьшение Шум
- Увеличить контраст по краям
- Бинаризировать изображение
Код: Выделить всё
public static void main(String args[]) {
Mat imgGrayscale = new Mat();
Mat image = Imgcodecs.imread("C:/Users/original_braille.jpg", 1);
Imgproc.cvtColor(image, imgGrayscale, Imgproc.COLOR_BGR2GRAY);
Imgproc.GaussianBlur(imgGrayscale, imgGrayscale, new Size(3, 3), 0);
Imgproc.adaptiveThreshold(imgGrayscale, imgGrayscale, 255, Imgproc.ADAPTIVE_THRESH_MEAN_C, Imgproc.THRESH_BINARY_INV, 5, 4);
Imgproc.medianBlur(imgGrayscale, imgGrayscale, 3);
Imgproc.threshold(imgGrayscale, imgGrayscale, 0, 255, Imgproc.THRESH_OTSU);
Imgproc.GaussianBlur(imgGrayscale, imgGrayscale, new Size(3, 3), 0);
Imgproc.threshold(imgGrayscale, imgGrayscale, 0, 255, Imgproc.THRESH_OTSU);
Imgcodecs.imwrite( "C:/Users/Jean-Baptiste/Desktop/Reconnaissance_de_formes/result.jpg", imgGrayscale );
}

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

Но решения для этого шага я не нашел. Есть ли возможность сделать то же самое с OpenCV?
Подробнее здесь: https://stackoverflow.com/questions/506 ... ing-opencv
Мобильная версия