我想要绘制前100个字符的最佳PNG文件,但如果不能全部完成,则不进行操作。
文件在这里:http://abatis.org.uk/projects/txt2fig.png
文件在这里:http://abatis.org.uk/projects/txt2fig.png
File fff = new File("C:\\Users\\lll\\Desktop\\txt2fig.png");
OCRScanner scanner = new OCRScanner();
TrainingImageLoader loader = new TrainingImageLoader();
HashMap<Character, ArrayList<TrainingImage>> trainingImageMap = new HashMap<Character, ArrayList<TrainingImage>>();
loader.load(fff.getAbsolutePath(), new CharacterRange('A', 'Z'), trainingImageMap);
scanner.addTrainingImages(trainingImageMap);
Image image = ImageIO.read(fff);
PixelImage pixelImage = new PixelImage(image);
pixelImage.toGrayScale(true);
pixelImage.filter();
String text = scanner.scan(image, 0, 0, 0, 0, null);
System.out.println(text);
异常:
java.io.IOException: Expected to decode 26 characters but actually decoded 911 characters in training: C:\Users\lll\Desktop\txt2fig.png
at net.sourceforge.javaocr.ocrPlugins.mseOCR.TrainingImageLoader.load(TrainingImageLoader.java:107)
at net.sourceforge.javaocr.ocrPlugins.mseOCR.TrainingImageLoader.load(TrainingImageLoader.java:83)
我的pom文件中的库:
<dependency>
<groupId>net.sourceforge.javaocr</groupId>
<artifactId>javaocr-core</artifactId>
<version>1.0</version>
</dependency>
<dependency>
<groupId>net.sourceforge.javaocr.plugins</groupId>
<artifactId>javaocr-plugin-awt</artifactId>
<version>1.0</version>
</dependency>
我知道:
在IT技术中,new CharacterRange ('A', 'Z')
文件中应包括第一个和最后一个字符,有什么方法可以绕过这个要求吗?