我想在前100个字符中绘制最好的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);
Run Code Online (Sandbox Code Playgroud)
例外:
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)
Run Code Online (Sandbox Code Playgroud)
我在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>
Run Code Online (Sandbox Code Playgroud)
我知道:
new CharacterRange ('A', 'Z')
Run Code Online (Sandbox Code Playgroud)
应该包括文件中的第一个和最后一个字符,它可以以某种方式绕过?
小智 0
你不明白这个工具的概念。您已将带有文本的图像作为训练图像放入 OCR,而训练图像应仅具有与 ASCII 代码 0x20h 至 0x7Ch(或高于此范围)按数字顺序对应的训练字符,因此至少如下所示:
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
Run Code Online (Sandbox Code Playgroud)
请注意训练图像开头的空格。
首先尝试从javaocr-20100605.zip/ocrTests/目录中分析样本图像和训练图像,例如。文件trainingImages/hpljPica.jpg作为训练图像,文件hpljPicaSample.jpg作为要分析的图像。使用具有Java OCR GUI的Mean Square OCR Recognzier功能的选项卡(由java -jar JavaOCR.jar执行)。稍后您可以尝试使用由图像组成的自己的训练图像进行分析。为此,您可以使用Java OCR GUI的“字符提取器”选项卡中的功能从图像中提取字符。因此,按照 ASCII 代码排列提取的字符的输出文件。从它们中组成你的训练图像。
下面所附的屏幕截图显示了如何通过 GUI 使用 OCR 及其结果。
用Java OCR工具进行OCR从太空到~

OCR 结果 - 您可以看到一些 OCR 错误

正如您所看到的,至少发生了两个识别错误,但不多。
| 归档时间: |
|
| 查看次数: |
510 次 |
| 最近记录: |