Tesseract-错误net.sourceforge.tess4j.tesseract- null
创建了一个使用Tesseract的Java应用程序,以将给定的映像或PDF转换为字符串格式,当在我的计算机上运行它作为单元测试使用Junit运行良好时,它运行良好由tomcat运行,它接收图像并运行Tesseract,它给我以下错误: 23:22:36.511 [HTTP-NIO-9999-EXEC-3]错误 net.sourceforge.tess4j.tesseract -null java.lang.nullpointerexception:null at net.sourceforge.tess4j.util.pdfutilities.convertpdf2png(pdfutilities.java:107) 在 net.sourceforge.tess4j.util.pdfutilities.convertpdf2tiff(pdfutilities.java:48) 在 net.sourceforge.tess4j.util.imageiohelper.getiioima
94 2023-10-24
编程技术问答社区
java.lang.IllegalAccessError: tried to access method net.sourceforge.tess4j.Tesseract.<init>()V from class Tess4jTest.TestTess
我在Mirth中使用Tesseract进行了Java OCR项目.而且它也是tesseract.java中的一个受保护的空隙.我认为这也许是犯错的原因. 我该怎么办?非常感谢您的帮助. package Tess4jTest; import java.io.File; import java.io.IOException; import net.sourceforge.tess4j.*; public class TestTess { public static String Tc; public static String phone; public static String date; public static void main(String[] args) { //System.out.println(returnText("C:\\Users\\Nevzat\\Desktop\\deneme.pdf")); } public static Strin
22 2023-10-17
编程技术问答社区
OCR : 没有得到理想的结果
我有此图像 .我正在尝试在此图像中oc.我没有获得" 9"和" R"字母的期望结果.首先,我裁剪了这些信件,tesseract 9.png stdout -psm 8 . 它只是返回". 所有其他字母的 ocr都可以正常工作,但对于这两个字母来说不正常(不过,我认为它们的图像质量还不错). 值得赞赏的任何建议/帮助. 解决方案 根据Google的结果,我本人没有Tesseract的经验,但是请复制角色并在内部使用Tesseract上添加一些背景作品. 所以我将其用作输入: 在该网络应用程序上给出正确的结果:99999999,而单个字符不起作用.也许您可以通过Tesseract实现来验证此功能,也许它可以帮助您调整孤立的提取字符以与Tesseract一起使用.例如尝试将提取轮廓的多重复缝合在彼此相邻以提高镶嵌输出 - 因为您知道彼此相邻缝制轮廓的频繁.. 的同样作品 边界看起来很重要,如果没有足够的边框,它将识别P.通常,您应该尝试用纯黑色和纯白色
20 2023-10-17
编程技术问答社区
如何使用java在Tesseract OCR中忽略特殊字符
我使用Java通过Tesseract OCR从图像中提取文本.但是输出由一些特殊字符组成,因为图像包含一些符号. 我想忽略所有特殊字符,只显示文本.有什么办法可以做到吗? 解决方案 在Tesseract中,您可以设置TessBaseAPI.VAR_CHAR_WHITELIST和TessBaseAPI.VAR_CHAR_BLACKLIST,以忽略一些特殊字符. 以下将使Tesseract仅识别A-Z和Digits String whiteList = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; tessBaseApi.setVariable(TessBaseAPI.VAR_CHAR_WHITELIST,whiteList); 下一个片段可以允许您识别除〜和flp 以外的所有内容 String blackList = "~fl"; tessBaseApi.setVariable(TessBaseAPI.VAR_CHAR_BL
48 2023-10-17
编程技术问答社区
拦截来自Tess4J的控制台输出
我正在尝试拦截使用Tess4J时将其打印到屏幕上的红色Empty page!!.我写了一个简短的拦截器类,该类覆盖print和println并替换stdout和stderr检查此字符串: private static class Interceptor extends PrintStream { public Interceptor(OutputStream out) { super(out, true); } @Override public void print(String s) { if ( !s.contains("Empty page!!") ) super.print(s); } @Override public void println(String s) { if ( !s.contains("Empty page!!") )
26 2023-10-17
编程技术问答社区
Tess4j in glassfish ERROR:java.lang.NoSuchFieldError。资源名称
我在Oracle-Glassfish3.1.1中使用Tess4J 2.0.0,例外是: java.lang.nosuchfielderror:resource_prefix 在net.sourceforge.tess4j.util.loadlibs.(loadlibs.java:60) 在net.sourceforge.tess4j.tessapi.(tessapi.java:40) 在net.sourceforge.tess4j.tesseract.init(tesseract.java:360) 在net.sourceforge.tess4j.tesseract.doock(tesseract.java:273) 在net.sourceforge.tess4j.tesseract.doock(tesseract.java:256) 在net.sourceforge.tess4j.tesseract.doock(tesseract.java:237) 在net.sourcefor
34 2023-10-17
编程技术问答社区
OCR Tesseract-Tess4J的行为很奇怪
我试图从图像中提取文本.问题是我使用以下给定代码来处理图像并打印提取的文本. public class Test { public static void extractText(String filename) // public static void main(String[] args) { System.setProperty("jna.library.path", "32".equals(System.getProperty("sun.arch.data.model")) ? "lib/win32-x86" : "lib/win32-x86-64"); File imageFile = new File("img_perspective.png"); Tesseract instance = Tesseract.getInstance(); // JNA Interface M
14 2023-10-17
编程技术问答社区
在Java EE中尝试使用Tess4J时出现运行时异常
我试图在Java EE(Payara Server)中使用TESS4J,这是可能的吗? 确切的例外我得到了: e =(net.sourceforge.tess4j.tesseractexception)net.sourceforge.tess4j.tesseractexception:java.lang.rang.runtimeException:需要安装JAI Image I/O i/o软件包. https://java.net/project/projects/jai-imageio/ 我已将jai-imageio添加到我的 pom.xml 中,并将其添加到Payara的模块中. 文件 pom.xml net.sourceforge.te
16 2023-10-17
编程技术问答社区
当使用Tess4j进行OCR时,抑制控制台的警告
帮助抑制警告 - " 警告.无效的决议1 dpi.使用70代替. 大家好,我想在使用TESS4J进行ocring时抑制在控制台上抛出的警告.请帮忙. tesseract使用Leptonica进行内部图像处理,然后Leptonica将其刺在控制台上. tia 解决方案 解决方法:不是从Leptonica(Lept4J),而是来自Tesseract(Tess4J)方式.如果图像的分辨率小于70,则设置分辨率. TessAPI1.TessBaseAPISetImage2(handle, pix); //To remove the warning message "Warning. Invalid resolution 1 dpi. Using 70 instead." Setting the resolution int res = TessAPI1.TessBaseAPIGetSourceYResolution(handle);
24 2023-10-17
编程技术问答社区
强制魔方匹配模式(连续四个数字)。
我正在尝试获取Tesseract(使用TESS4J包装器)以仅匹配特定模式.该模式是连续的四位数字,我认为这将是\ d \ d \ d \ d.这是我要喂养的图像的一小部分 (平面图受到限制,所以我要谨慎地发布更多内容):我正在使用以下Java代码: File imageFile = new File("//file.pdf"); Tesseract instance = Tesseract.getInstance(); instance.setTessVariable("load_system_dawg", "F"); instance.setTessVariable("load_freq_dawg", "F"); instance.setTessVariable("user_words_suffix", ""); instance.setTessVariable("user_patterns_suffix",
18 2023-10-17
编程技术问答社区
Tess4j-Pdf to Tiff to tesseract-"警告。无效的分辨率0dpi。用70代替。"
i是usig tess4j(net.sourceforge.tess4j:tess4j:4.4.0),然后在PDF文件上尝试OCR. 因此,正如我所理解的那样 tesseract.doOCR(PdfUtilities.convertPdf2Tiff(inputPdfFile)); 并遵循警告: Warning: Invalid resolution 0 dpi. Using 70 instead. 问题 它对我的扫描结果有任何影响吗? (如果不是这样,好的 - 我可以关闭警告) 有没有办法手工设置DPI或应该为我处理此操作? 解决方案 如果图像元数据中没有分辨率信息,则Tesseract试图单独估算分辨率,以便可以在结果中计算字体大小信息. 您可以尝试以下API设置输入图像分辨率: instance.setVariable("user_defined_dpi", "300"); 或 TessBaseAPISetSourceReso
38 2023-10-17
编程技术问答社区
Windows 64位上的Tess4j:多线程上的异常
我在Windows 64位上使用Java 8的Tesseract 3用于OCR扫描PDF.我遵循 tess4j页面上的说明,并安装了64位Ghostscript. 当我使用常规@test(无参数)运行单元测试时,代码正确运行,所以我想我已经正确安装了所有内容. 当我并行2个线程运行时(见下文),我会得到一个例外. 我已经阅读了相关线程在这里建议使用我正在使用的tesseract1(我曾尝试过). 有什么想法? 这是代码: // @Test // works @Test(invocationCount = 2, threadPoolSize = 2) public void testOcr() throws OcrException, TesseractException { File scannedPdf = new File(this.getClass().getClassLoader().getResource("scanned.pdf"
52 2023-10-17
编程技术问答社区
JAVA Tess4j doOCR()不工作,异常 "无效的内存访问"
我在Eclipse的动态Web项目中工作, 我做了一个包含: 的Tesseractrocr类 public class TesseractOCR { public TesseractOCR() { } public String doOCR(String file) { System.setProperty("jna.library.path", "32".equals(System.getProperty("sun.arch.data.model")) ? "lib/win32-x86" : "lib/win32-x86-64"); File imageFile = new File("C:\\Users\\Sherein Dabbah\\Downloads\\ca096-d7a6d799d7a1d798d799d7a72.jpg"); Tesseract instanc
18 2023-10-17
编程技术问答社区
Tess4J: "无效的调用约定63" 尽管版本正确
我尝试使用 pdf 使用 pdf 使用 tess4j ,以及 linux (ubuntu)上的以下代码16 Xenial). public void testOcr() throws Exception { File imageFile = new File("/projects/de.conradt.core/tessdata/urkunde.jpg"); ITesseract instance = new Tesseract1(); // tried both Tesseract() and Tesseract1() // File tessDataFolder = LoadLibs.extractTessResources("tessdata"); // Maven build bundles English data // instance.setDatapath(tessDataFolder.getParent()); inst
12 2023-10-17
编程技术问答社区
在进行字符识别之前用OpenCV进行图像预处理(魔方)。
我正在尝试为车牌识别(Java + OpenCV + TESS4J)开发简单的PC应用程序.图像并不是很好(进一步的图像将很好).我想预先处理tesseract的图像,并且我被卡在了牌照(矩形检测)上. 我的步骤: 1)源图像 Mat img = new Mat(); img = Imgcodecs.imread("sample_photo.jpg"); Imgcodecs.imwrite("preprocess/True_Image.png", img); 2)灰度 Mat imgGray = new Mat(); Imgproc.cvtColor(img, imgGray, Imgproc.COLOR_BGR2GRAY); Imgcodecs.imwrite("preprocess/Gray.png", imgGray); 3)高斯模糊 Mat imgGaussianBlur = new Mat(); Imgproc.GaussianBlur
48 2023-10-17
编程技术问答社区
Tesseract不使用路径变量
为什么我的tesseract实例要求我明确设置我的数据,但不想读取环境变量? 让我澄清:运行代码 ITesseract tesseract = new Tesseract(); String result = tesseract.doOCR(myImage); 引发错误: Error opening data file ./tessdata/eng.traineddata Please make sure the TESSDATA_PREFIX environment variable is set to the parent directory of your "tessdata" directory. 我已经设置了我的环境变量,即执行 echo $TESSDATA_PREFIX returns /usr/share/tessdata/ 现在,在我的代码中明确设置路径变量,即: Itesseract tesseract = new Tesse
22 2023-10-17
编程技术问答社区
JSON解析错误。无法从START_OBJECT标记中反序列化`byte[]`的实例
如何以JSON格式发送base64图像.我在Postman-Body Form数据中添加了图像文件,并以JSON格式进行编码详细信息,但仅在尝试时才有一个不好的请求. [JSON PARSE错误:byte[]的实例byte[] of start_object token].发现源没有错误,而是邮递员中的JSON格式的实际问题.来源: https://github.com/arun0009/ocr-tess4j-rest /p> 我应用了堆栈溢流解决方案,但正在重复相同的错误.我以堆栈溢出建议类型的JSON格式添加[],{}. 类: public class Image { private String id; private String userId; private byte[] image; private String extension; private String text; } 控制器: @Request
66 2023-09-13
编程技术问答社区
Tess4j: tess4j java中的内存访问错误
我正在使用tess4j.jar编写程序. 该程序正在从图像中提取文本及其位置. 我得到这个错误: Exception in thread "main" java.lang.Error: Invalid memory access at net.sourceforge.tess4j.TessAPI1.TessBaseAPIRecognize(Native Method) at TesseractUtility.TessBoxForLogo.run(TessBoxForLogo.java:50) 有趣的是,它并非每个图像都出现.有人知道我有错误的地方吗? 在这里我的代码: public static ArrayList run(String imageName, List wordsToFind){ int WayToGetInfo = TessAPI1.TessPageIteratorLevel.RIL_TEXTLINE;
42 2023-05-07
编程技术问答社区