Найти символы в изображении
Хочу разработать нейронную сеть по распознаванию цифр в изображении (к примеру из технических условий). Сначала я хочу получить отдельно символы, что бы потом нейронная сеть могла их распознать. Обработку изображения я осилил в целом на тех документах, на которых я ее тестировал она вполне меня устраивает,читабельность улучшается, но как все таки найти каждый символ и определить его границы не могу понять. Так же при тестировании пытался вместо пикселей получить изображение в текстовом документе состоящее из звездочек, но,что-то не учитываю и при просмотре тхт файла цифру не вижу.
import javax.imageio.ImageIO;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.awt.image.WritableRaster;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.StringWriter;
import java.util.ArrayList;
import java.util.Random;
public class Test1 {
public static void main(String[] args) throws IOException {
// String pathToFile="F:/Диплом/test";
File file = new File("F:\\Диплом\\test2.jpg");
BufferedImage in = ImageIO.read(file);
BufferedImage image = new BufferedImage(in.getWidth(), in.getHeight(), BufferedImage.TYPE_BYTE_BINARY);
Graphics2D graphics = image.createGraphics();
graphics.drawImage(in, 0, 0, null);
short whiteBg = -1;
StringBuilder binaryString = new StringBuilder();
ArrayList<String> list = new ArrayList<>();
Random rand = new Random();
File output = new File("F:\\Диплом\\test" + rand.nextInt() + ".jpg");
File output1 = new File("F:\\Диплом\\test" + rand.nextInt() + ".txt");
FileWriter writer = new FileWriter(output1);
for (short y = 1; y < image.getHeight(); y++) {
String str = "";
for (short x = 1; x < image.getWidth(); x++) {
int rgb = image.getRGB(x, y);
// binaryString.append(rgb == whiteBg ? " " : "*");
str += rgb == whiteBg ? " " : "*";
}
writer.write(str);
}
writer.close();
ImageIO.write(image, "jpg", output);
}
}