我能够编译已经在tesseract示例中的英文版本,但无法添加其他语言. . 我在做 Tesseract* tesseract = [[Tesseract alloc] initWithDataPath:@"tessdata" language:@"ara+eng"]; 它是识别英语,但对于ARA,它给出了错误 Error opening data file /Users/harshthakur/Library/Application Support/iPhone Simulator/7.0/Applications/3B0A1909-E1BA-45E9-99A0-FDEAB2CFF4E0/Documents/tessdata/ara.traineddata 请确保将tessdata_prefix环境变量设置为" tessdata"目录的父目录. 失败的加载语言'ara' 任何帮助将不胜感激. 解决方案 这是因为文档文件夹没有语言文件.将ARA
以下是关于 tesseract 的编程技术问答
我正在使用iOS 8中的Tesseract用于基于OCR的应用,但它错误地将图像中的discor转换为" plus"+"符号". 例如,此图像 总是转换为文本字符串" 8+4+4".它应该是" 8+4÷4". 我尝试使用不同训练的数据语言文件" eng+equ"," ita",将"÷"添加到白名单,将OCR_Engine变量设置为Cube,将图像转换为灰度或黑色和白色,并升级图像比2和4次. 我尝试过的所有内容总是返回加号"+"符号,而不是分区"÷"符号. 我只尝试使用" equ"训练的数据文件,并且确实正确返回了分区符号 - 但是所有其他字符均为垃圾. 我一直在研究这个(Google,Stackoverflow)几天,无法弄清楚. 我如何使Tesseract包括并识别分区"÷"符号? 更新: 我能做的最好的方法是将Avcapturesession预设设置为高 AVCaptureSession *session = [[AVCa
我根据GitHub上提供的文档通过MacPorts安装了Tesseract OCR,并已成功安装它们, 但是,我正在尝试将tesseract OCR用于PHP( https://github. com/thiagoalessio/tesseract-ocr-for-php ),所以我下载了zip并将库包括在我的php文件中,并使用 echo (new TesseractOCR('text.png')) ->run(); ,但什么都没有出现. 以下是PHP 中的完整代码 run(); ?> 我的错误日志具有此条目: sh:tesseract:找不到命令 如果您分享我有关如何获得这项工作的灯光,那将很棒! 解决方案 要使用Tesseract OCR
我已经有点使用了Tesseract,结果有很多不足之处.我目前正在检测到非常小的图像(35x15,没有边框,但尝试添加一个具有ImageMagick而没有OCR优势的图像);它们的范围从2个字符到5个,是一个非常可靠的字体,但是字符足够可变,可以简单地使用图像大小校验和不起作用. 除了坚持使用Tesseract或进行完整的定制培训外,还有哪些OCR选择?,如果这与Heroku风格托管兼容,这将非常有帮助(至少我可以在这里编译的地方垃圾箱并将它们推过). 解决方案 我成功使用了 gocr 过去的小图像OCR.我想说的是,在相当规则的字体上正确设置了灰度选项之后,准确性约为85%.当字体变得复杂并且在多元布局上遇到麻烦时,它会失败. 还可以查看 ocropus ,该由Google维护.它与Tesseract有关,但据我了解,其OCR引擎是不同的.仅包括默认模型,它在高质量图像上的精度接近99%,处理布局非常好,并提供了HTML输出,并提供有关格式和线条的信息.但是,以我的
这是一个远景,但我必须问.我需要任何可能使Tesseract OCR发动机更快的想法.我正在处理2M PDF,其中约为20M页的文本,我需要获得所有能力的绩效.当前的估计是,如果我什么也不做,这将需要大约一年的时间才能完成. 我已经调整了输入图像以在那里获得一些提升,但是我需要考虑其他方法.我认为此时对图像的改进不会使我在任何地方. 例如: 可以用优化标志或类似的东西重新编译Tesseract? 可以将共享的CPU内存或GPU采取行动吗? 我可以以某种方式告诉Tesseract使用更多内存(我有很多)? 还有其他方法可以使CPU结合的C ++程序更快? 当前,Tesseract由我们的任务跑步者Celery运行,该赛事使用多处理来完成其工作.这样,我可以使服务器看起来像这样: i(显然?)不知道我在说什么,因为我是Python的开发人员,而Tesseract用C ++编写,但是如果有任何方法可以在这里提升,我会很喜欢想法. 解决方案 我也有巨大
新的JS,非常新的节点. 运行tesseract.js(文本识别软件: http://tesseract.project.project.projectnaptha.com )并立即开始输出进度. 节点(v6.9.1)(从端子或通过电子运行)在开始输出到控制台之前,在4min 20sec中运行CPU至100%.然后大约在同一时间完成. 建议采用哪些故障排除步骤?这是节点的常见吗? 我在日志中看到的唯一差异是"在Cache Eng.trainedData中发现"清除和禁用缓存仅对时间的影响. 尝试了几个.jpg和.png(300-600KB)文件,但结果相同 - 但是BMP(3.7MB)给出了快速的17秒响应 - 然后错误,但没有完成. (这是"下一个tick"问题吗?) var Tesseract = require('tesseract.js'); var image = "./images/sample.jpg"; function tesseract(){ T
我在iOS上的Tesseract OCR苦苦挣扎.一切都很好,但是真的很慢. 一行数字的2-3秒重新介绍时间. 我正在从视频流中阅读. 我正在使用tesseract 3.01,并带有定制培训文件. 这是我要做的: 设置Tesseract仅查找数字(0-9) 收缩,diskew and Binarize Image 使用GetLines找到我想要的 文本 setRectangle只识别我想要的行 getUTF8Text要获取我的文本 有什么建议可以加快流程? 解决方案 我切换到Tesseract 3.02 的SVN 在交叉上遇到一些问题后 我的getUtf8Text下降到约1.2-0.8秒 图像预处理的0.3-0.2秒. 我做了一些测试 二进制和收缩0.7增长0.3秒,但要花费0.1 chop_enable = 0几乎对速度的速度增长为0.1,平均速度为0.1,如果介绍了 ,则为50%使用CPU. 可用性的主
我正在尝试使用 bic 格式中的容器代码.顺便说一句,我正在通过Pytesseract使用Tesseract,并且我的预处理输入照片很少,标准OPENCV过滤(巨大的重新缩放/模糊/denoising/binarization). 我以这种方式调整了Tesseract(版本:Tesseract 5.0.0-Alpha-647-G4A00): config = ( # only a set of characters ' -c tessedit_char_whitelist=0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ' + # no language model ' -c load_system_dawg=0' + ' -c load_freq_dawg=0' + ' -c enable_new_segsearch=1' + ' -c language_model_penalty_n
我有一组相当小的图像,其中包含日期.大小可能是一个问题,但我想质量还可以.我遵循了指南提供了我可以为发动机提供最清晰的图像.调整大小后,应用过滤器,大量的反复试验等.我想出了几乎正确阅读的图像.我在下面举了一个示例: 现在,这将读为“9 MAR 2021\n\x0c.还不错,但是第一个2读为".在这一点上,我认为我滥用了Tesseract的力量.毕竟,我知道它应该期待什么,即"%d %b %Y". 有没有办法告诉Tesseract,它应该尝试在这种强大的限制下尝试找到最佳匹配?向发动机提供此元数据应大大促进任务.我一直在阅读文档,但是我找不到这样做的方法. 我在Tesseract 4.1上使用pytesseract.使用Pytyon 3.9. 解决方案 您需要知道以下内容: 现在,如果我们将图像集中(通过添加边框): 我们在不丢失任何像素的情况下对图像进行样本. 第二,我们需要使图像中的字符粗体使OCR结果准确. 现在OCR: 29
我有5000多个图像如下.图像中的文字具有10个变体,例如T122 R-2 T123 R-12 T45 R-1等. 我想阅读图像中的文本,但结果如下. , | 5 ğ ve . > | > İmes e * > | NN | va , İ ( di (Ny , i > i | , > N i | Ni 如何提高OCR准确性? 我尝试了各种过滤器,但结果几乎相同. 我熟悉Tesseract,所以最好使用它,但是如果有更好的OCR,我也可以尝试. P.S.我知道Google Vision的结果更好,但我找不到一种自动化的方法. 解决方案 如果您大致deSkew of first 因此,使用Cli Deskw 阅读选项,因此在这种情况下需要使用-a 89 进行更改 deskew -a angle: Maximal expected skew angle (bo
我想使用pytesseract阿拉伯语,并且我的系统/usr/usr/share/tesseract/tessdata/path中有ara.traineddata,并且我已经安装了tesseract软件包 这是我的代码: import pytesseract from PIL import Image pytesseract.image_to_string(Image.open('test_arabic.png'), config='', lang="ara") 我得到了这个错误: TesseractError Traceback (most recent call last) 在 中 ----> 1 pytesseract.image_to_string(Image.open('test_persian.png'), config='', lang="ara") ~/.local/lib/pyt
我有一个图像数据集,我想滤除所有包含文本(ASCII字符)的图像.例如,我有以下狗的可爱图像: 如您所见,在右下角有一个文本" 2003年5月18日",因此应过滤掉. 经过一些研究,我遇到了tesseract OCR.在Python中,我有以下代码: # Attempt 1 img = Image.open('n02086240_1681.jpg') text = pytesseract.image_to_string(img) print(text) # Attempt 2 import unidecode img = Image.open('n02086240_1681.jpg') text = pytesseract.image_to_string(img) text = unidecode.unidecode(text) print(text) # Attempt 3 import string char_whitelist = string.digits
我试图在Python中使用Tesseract检测一些数字.在下面,您会找到我的启动图像以及我可以将其删除的内容.这是我用来在那里获得的代码. import pytesseract import cv2 import numpy as np pytesseract.pytesseract.tesseract_cmd = "C:\\Users\\choll\\AppData\\Local\\Programs\\Tesseract-OCR\\tesseract.exe" image = cv2.imread(r'64normalwart.png') lower = np.array([254, 254, 254]) upper = np.array([255, 255, 255]) image = cv2.inRange(image, lower, upper) image = cv2.bitwise_not(image) #Uses a language that should wo
我已经成功设置了 tesseract ,可以将图像转换为文本... text = pytesseract.image_to_string(Image.open(image)) 但是,我需要获得每条线的置信价值.我找不到使用 pytesseract 来完成此操作的方法.有人知道该怎么做吗? 我知道这是可以使用 pytessbaseapi 的,但是我无法使用它,我花了几个小时试图在没有运气的情况下设置它,所以我需要一种使用来做到这一点的方法pytesseract . 解决方案 大量搜索后,我已经找到了一种方法.而不是image_to_string,应该使用image_to_data.但是,这将为您提供每个单词的统计信息,而不是每行... text = pytesseract.image_to_data(Image.open(file_image), output_type='data.frame') 因此,我所做的工作被保存为数据框,然后使用pandas按b
使用OpenCV(Python),我正在尝试删除下面所示的图像中边界线(在此示例图像中的白色区域中的白色区域)上方的图像部分 使用水平和垂直内核,我能够绘制线框,但是它没有多次起作用,因为由于扫描质量而导致的很多次水平或垂直线出现在线框外部,这会导致错误的轮廓检测.在此图像中,您也可以在右上看到我发现的噪声. 我想要的是,一旦获得了实际的框,我就可以简单地使用x,y坐标进行OCR扫描所需字段(例如参考号,发行等). 以下是我能够使用以下代码提取的内容.但是,由于该线框外部的嘈杂的水平或垂直线,无法将图像的外部额外部分夹住.还尝试用黑色填充外部,然后检测轮廓. 建议... kernel_length = np.array(image).shape[1]//40 # A verticle kernel of (1 X kernel_length), which will detect all the verticle lines from the image.
对于我当前的OCR项目,我尝试使用Tesserect使用Python Cover Pytesseract将图像转换为文本文件.到目前为止,我只是将良好的直接图像传递到我的模块中,才能够正确地找出该图像中的文本.但是现在,当我通过旋转的图像时,即使一个单词也无法识别.因此,要获得良好的结果,我只需要以适当的方向传递图像. 现在,我想知道,在将图像传递到OCR模块中之前,有任何方法可以弄清楚图像的方向.请让我知道我可以用哪种方法来进行该方向检查. 这是我用来进行转换的方法: def images_to_text(testImg): print('Reading images form the directory..........') dataFile=[] for filename in os.listdir(testImg): os.chdir(testImg) # Define config parameters.
我很好奇我如何能够更可靠地识别扑克牌图像的价值和西装.这是两个示例: 图像中可能有一些噪音,但是我有大量的图像数据集可以用于培训(大约有10k PNG,包括所有值和西装). ,如果我使用哈希方法有一个已知的精确匹配,我可以可靠地识别我已经手动分类的图像.但是,由于我是基于它们的内容哈希图像,因此最小的噪声会改变哈希的散布,并导致图像被视为未知.这是我希望通过进一步自动化可靠地解决的问题. 我一直在审查有关培训Tesseract的3.05文档: https://github.com/tesseract-com/tesseract-ocract-ocr/tesseract/wiki一下/训练 - 托塞拉克#自动方法 tesseract可以仅在字体中找到图像训练吗?还是我可以用它来识别这些卡的西装? 我希望我可以说该文件夹中的所有图像都对应于4C(例如上面的示例图像),并且Tesseract在该图像的任何以后实例中都会看到相似性(无论噪声如何),也可以阅读为4C.