Articles of tesseract

在Tesseract中识别数字的麻烦 – android

我希望有人能告诉我为什么这是我的Tesseract无法识别一些数字图像,如果有什么我可以做的。 一切都按照testing工作,因为它只是我需要的数字,我以为我可以用英文模式来pipe理,直到我不得不从7分段显示也开始。 虽然我对附加图像有很多麻烦,但是我想知道是否应该开始研究自己的识别algorithm,或者如果我可以为Tesseract创build自己的数据集,然后才能工作,是否有人知道在哪里限制在于Tesseract? 尝试的东西:试图设置psm one_line,one_word,one_char(和砍掉图片)。 用one_line和one_word没有显着的变化。 与one_char它确实认识到了一点点,但有时,由于大间距它附加了一个额外的数字,然后拧了起来,如果你看看附加的图像 那么结果是04.我也试图自己做二进制化,这导致了较差的认识,并且非常消耗资源。 我试图反转图片,这对tesseract完全没有任何影响。 我已经附上了我需要的照片,等等,待处理。 关于图像的解释: 是一个tesseract无法识别的图像,尽pipe它已经被用来在工作图像周围创build应用程序的便利性。 是与image_seven匹配的现实生活形象。 但它不能识别这一点。 是另一个图像,我想它承认,是的,我知道它不能被skrewed,我做了unskrew(认为skrew是这里的术语==“直”)它testing时。

在Eclipse中将Tess4J作为库包含在Java项目中

我有一个空的和干净的Eclipse Java项目。 如何使用Tess4J作为我想要开发的Web服务的库? 它甚至有可能使用它作为一个Android项目的图书馆? (会很快捷)有一个关于.tif与我碰到的android的问题。 Tess4J是本地代码的包装,因为tesseract–ocr是用C / C ++编写的。 我到目前为止。 但是如何将这个包装器包含到我的项目中呢? 我已经GOOGLE了很多,直到我已经决定放弃tesseract.Net ,因为这个项目是严重维护/logging,将迫使我的C#(这将是好的),但我没有设法得到它的工作,所以我不得不默认到C / C ++(这是不好的);) 我现在有点迷路了,所以任何帮助都是值得欢迎的。 问候。 编辑:按照这里提到的步骤(从nguyenq回答) 1:新的Eclipse工作区 2:创build一个名为lib的新目录 3:将\Tess4J\dist\tess4j.jar , \Tess4J\lib\jna.jar和\Tess4J\lib\jai_imageio.jar到lib (2) 4:在Eclipse中创build一个新的Java项目 5:在项目属性(4)中,我将(3)中的.jars添加到Java构buildpath中作为库下的外部jar 6:我将dir \tessdata和libtesseract302.dll复制到项目的根目录dir \workspace\project\ 7:我创build了一个新的类Main并实例化了一个Tesseract1 tesseract = new Tesseract1(); 供testing用 8:我运行的应用程序,但引发了一个exception: Exception in thread "main" java.lang.UnsatisfiedLinkError: Unable to load library 'libtesseract302' Module not found EDIT2: 7.1:我创build了一个新的类Main并实例化了Tesseract tesseract = new […]

使用Tesseract进行手写识别

我只是想知道,如果大写字母都用在自己的小盒子里,那么手写识别的准确程度如何呢? 我知道你可以训练它来识别自己的笔迹,但在我的情况是我需要跨越多个笔迹使用它。 任何人都可以指向正确的方向吗? 非常感谢。

Android OCR tesseract:使用来自Pixa对象的数据来显示边界框

我目前在Android上玩OCR。 因此,我写了一个带有Camera预览的小应用程序,现在我正在从我的onPreviewFrame方法提供tessearact工具(tess-two)图像。 现在我想在我的相机预览中显示来自OCR的边界的六边形。 TessBaseAPI提供了返回字符/单词布局框的方法。 返回的对象的types是Pixa,就像tess-2提供的leptonica库一样。 所以我的问题是: 我如何获得可用的坐标,我可以使用从我的相机预览从getCharacters()返回的Pixa对象或从TessBaseAPI getWords()预览的边界框? GetAPharacters()和getWords()在BaseAPI中 leptonicas Pixa类 重要: 由于预览只支持图像格式是YUV N21和我已阅读tess-API要求ARGB_8888位图我远离我的onPreviewFrame方法之前,我将位图提供给TessAPI之前有以下解决方法:(我也旋转由于我以纵向方向使用相机,但顺时针旋转90度,但相机预览帧进入横向) //byte[] bmpdata <- the image in a byte array (NV21 Imageformat) in onPreviewFrame YuvImage yuvimage = new YuvImage(bmpdata,ImageFormat.NV21,width,height,null); ByteArrayOutputStream outStream = new ByteArrayOutputStream(); Rect rect = new Rect(0, 0, width, height); yuvimage.compressToJpeg(rect, 100, outStream); Bitmap bmp = BitmapFactory.decodeByteArray(outStream.toByteArray(),0,outStream.size()); Matrix mtx = […]

Android:如何提高由tesseract ocr检索的图像中的数字?

我做了一个简单的应用程序,读取图像和检索数字图像与android的文本。 但问题是精确度只有60%左右,一些不必要的噪音也显示出来。 我确实认为准确度不能达到100%,但我相信必须有一种方法来改善它。 但是,因为我是一个业余爱好者,我觉得很困难。 我search了谷歌周围,但无法获得一个坚实的信息。 我想从东方幸运的门票,如下图所示读取596,00和012345号码。

使用opencv的阈值图像(Java)

我正在为我的项目使用Opencv。 我需要将下面的图像转换为阈值图像 我试过这个function: Imgproc.threshold(imgGray, imgThreshold, 0, 255, Imgproc.THRESH_BINARY + Imgproc.THRESH_OTSU); 但是结果并不好,如下所示 所以我尝试了adaptiveThreshold function : Imgproc.adaptiveThreshold(imgGray, imgThreshold, 255, Imgproc.ADAPTIVE_THRESH_GAUSSIAN_C, Imgproc.THRESH_BINARY, 11, 2); 结果是: 我只是期望一个只有白色背景和黑色文本的二进制图像,没有黑色区域或噪音(我不喜欢使用Photo.fastNlMeansDenoising因为它需要很多时间)。 请帮我解决这个问题。 另外,我使用Tesseract进行日文识别,但是准确率不高。 你有什么build议更好的OCR为日本人,或任何方法来提高Tesseract质量?

使用tesseract或OpenCV的android的对象检测

我已经成功地集成了tesseract到我的android应用程序,它读取我捕获的图像,但不太准确。 但是大部分时间我都没有得到正确的文本,因为在感兴趣的区域周围的文本也被捕获。 我想要读取的全是矩形区域中的所有文本,准确地说,没有捕获矩形的边缘。 我已经做了一些研究,发布在这个两次的计算器,但仍然没有得到一个快乐的结果! 以下是我做的两个职位: https://stackoverflow.com/questions/16663504/extract-text-from-a-captured-image?noredirect=1#comment23973954_16663504 在android中从捕获的图像中提取信息 我不确定是继续tesseract还是使用openCV

Android:如何识别MICR代码

自从最近几天以来,我试图从文档中findOCR MICR代码的方式。 为此我使用了Tesseract库,使用这个我得到了识别文本的成功,但是当涉及到MICR时,却无法识别这个文件。 这是我想要读取的示例MICR图像: 这是一个MICR E-13B字体( 更多信息 )。 那么是否有任何开源库来识别Android的MICR代码。 我发现Leadtools SDK提供了这个function,但是这是付费的。 任何想法,build议和意见将不胜感激。 谢谢

自定义字典为Tesseract

我目前正在使用tesseract OCR的Android项目。 我希望通过添加一个字典来调整给用户的结果。 根据http://code.google.com/p/tesseract-ocr/wiki/FAQ ,最好的方法是去 用你自己的单词列表replacetessdata / eng.user-words,格式相同 – UTF8文本,每行一个单词。 但是,tessdata文件夹中没有eng.user-words文件,我假设如果我只是用它的字典创build一个文本文件,它将永远不会被使用.. 有没有人有类似的经验,知道该怎么办? 任何build议将是一个很大的帮助。

Android中最好的OCR(光学字符识别)例子

我想要一个运行在Android的OCR的例子,我已经做了一些研究,并find一个在Android中实现OCR的例子。 https://github.com/rmtheis/tess-two和它有三个项目文件… 眼睛二 苔丝二 苔丝个testing 我通过导入三个项目文件来执行“tess-two-test”项目,但是“tess-two-test”不包含任何活动,所以它不会运行。 有人可以提出一个更好的例子吗?