gpt4 book ai didi

java - 如何在 Training ImageLoader 中用 png 加载前 100 个字符

转载 作者:搜寻专家 更新时间:2023-11-01 00:55:55 24 4
gpt4 key购买 nike

我想画最好的 png 文件的前 100 个字符,但如果他们做不到这一切。

文件在那里: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);

异常(exception):

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>

我知道:

new CharacterRange ('A', 'Z')

应该包括文件中的第一个和最后一个字符,它可以以某种方式绕过吗?

最佳答案

你不明白这个工具的概念。您已将带有文本的图像作为训练图像放入 OCR,而训练图像应该只包含与 ASCII 代码 0x20h 到 0x7Ch(或高于此范围)对应的数字顺序的训练字符,因此至少如下所示:

 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~

请注意训练图像开头的空格

首先尝试从 javaocr-20100605.zip/ocrTests/ 目录中分析样本图像和训练图像,例如。文件 trainingImages/hpljPica.jpg 作为训练图像,文件 hpljPicaSample.jpg 作为要分析的图像。为此,请使用具有 Java OCR GUI(由 java -jar JavaOCR.jar 执行)的 Mean Square OCR Recognzier 功能的选项卡。稍后您可以尝试使用由图像组成的自己的训练图像进行分析。为此,您可以使用 Java OCR GUI 的名为 Character Extractor 的选项卡中的功能从图像中提取字符。因此,使用按 ASCII 码排序的提取字符排列输出文件。用它们组成你的训练图像。

下面附上的屏幕截图显示了如何使用带有 GUI 的 OCR 及其结果。

OCR用Java OCR工具从空间来~ OCR with Java OCR tool from space to ~

OCR 结果 - 您可以看到一些 OCR 错误 OCR results - you can see some OCR errors

如您所见,至少发生了两次识别错误,但并不多。

关于java - 如何在 Training ImageLoader 中用 png 加载前 100 个字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30256779/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com