- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我正在使用 Swift 3 开发一个应用程序,用户可以在其中拍照并使用 Tesseract OCR 识别其中的文本。
以下代码块有效。
func processPhoto() {
if let tesseract = G8Tesseract(language: "eng") {
tesseract.delegate = self
// this is the resulting picture gotten after running the capture delegate
tesseract.image = stillPicture.image!
tesseract.recognize()
}
}
但是,如果我尝试完全操纵图片 (stillPicture.image!
),我会收到以下错误:
Error in pixCreateHeader: depth must be {1, 2, 4, 8, 16, 24, 32}
Error in pixCreateNoInit: pixd not made
Error in pixCreate: pixd not made
Error in pixGetData: pix not defined
Error in pixGetWpl: pix not defined
2017-03-13 11:13:05.336796 ProjectName[35238:9127211] Cannot convert image to Pix with bpp = 64
Error in pixSetYRes: pix not defined
Error in pixGetDimensions: pix not defined
Error in pixGetColormap: pix not defined
Error in pixClone: pixs not defined
Error in pixGetDepth: pix not defined
Error in pixGetWpl: pix not defined
Error in pixGetYRes: pix not defined
Please call SetImage before attempting recognition.Please call SetImage before attempting recognition.2017-03-13 11:13:05.343568 EOB-Reader[35238:9127211] No recognized text. Check that -[Tesseract setImage:] is passed an image bigger than 0x0.
我为操作图片所做的一些事情是旋转它:
// Rotate taken picture
let orig_image = stillPicture.image!
let new_image_canvas = UIGraphicsImageRenderer(size: CGSize(width: stillPicture.image!.size.height,
height: stillPicture.image!.size.width))
let new_image = new_image_canvas.image { _ in
let curr_context = UIGraphicsGetCurrentContext()!
curr_context.translateBy(x: 0, y: stillPicture.image!.size.width)
curr_context.rotate(by: -.pi/2)
stillPicture.image!.draw(at: .zero)
}
tesseract.image = new_image
如果我这样做,砰!出现上面的错误。
我做的另一个操作是裁剪图像的一部分。
let finalImage : UIImage
let crop_section = CGRect(x: 590.0, y: 280.0, width: 950.0, height: 550.0)
let cg_image = stillPicture.image!.cgImage?.cropping(to: crop_section)
finalImage = UIImage(cgImage: cg_image!)
tesseract.image = final_image
再次,砰!出现错误。知道为什么会发生这种情况以及为什么我的图像处理会导致问题吗?谢谢你的帮助!
最佳答案
无论您对图像进行何种转换,它都会以 Tesseract 无法理解的格式保留下来。 Tesseract 使用 Leptonica 库来处理图像格式,Leptonica 只能理解特定格式的图像。
第一行:
Error in pixCreateHeader: depth must be {1, 2, 4, 8, 16, 24, 32}
已经是一个关于错误是什么的重要提示。位深度意味着每个像素有多少位。例如,24 位图像通常是 RGB - 红色、绿色和蓝色各有 8 位(或一个字节)——总共 24 位。 32 位用于 ARGB(RGB+alpha channel )。 1 位为单色。
参见 http://search.cpan.org/dist/Image-Leptonica/lib/Image/Leptonica/Func/pix1.pm#pixCreateHeader - pixCreateHeader 是一个 leptopnica 函数。
因此请尝试以下操作 - 将图像保存到文件中,然后在某些图像编辑器中打开它并检查它是什么类型的图像,尤其是。位深度。
显然您的图像使用了一些奇怪的位深度。另请参阅 Node.js 20x slower than browser (Safari) with Tesseract.Js ,因为这是我能找到的唯一问题,其中还提到了 error in pixCreateHeader: depth must be {1, 2, 4, 8, 16, 24, 32}
。
关于ios - Swift 3 - Tesseract 识别任何图像处理的抛出错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42767287/
我正在尝试使用 tesseract 来识别图像中的字符。这个图像是通过从另一个图像中抓取字符并将它们放在新图像中的一行来创建的。问题是,当我将这张图片提供给 tesseract 时,它在输出中没有显示
使用创建聚类数据时 mftraining -F font_properties -U unicharset -O lan.unicharset *.tr 我收到以下消息 C:\Users\ \AppD
我是 tesseract 的新手,对 github 页面中的不同目录有点困惑。 tesserac-ocr 代码库是我安装的。在/usr/local/share/tessdata/中安装了一个 tess
我找不到详细的文档,也没有浏览源代码的感觉。例如,如果 Tesseract 引擎已经完成,我不想重做精明的边缘检测。 最佳答案 本文档提供了引擎的概述:https://github.com/tesse
我对 Tesseract OCR 完全陌生。这个问题可能很简单,但我似乎无法使用 Google 找到答案。 基本上,我有一个包含两部分的图像:第一部分位于图像的顶部,黑色背景和白色文本;第二部分位于图
我浏览了整个 Google 代码网站,但没有找到任何从 API 角度解释如何使用 Tesseract 的内容。有人知道在哪里可以找到这个吗? 最佳答案 最新文档现已发布 here 和 here 。 关
我可以通过命令行使用 tesseract 4.0 获得单词级别的置信度分数。有兴趣知道是否也有办法让角色自信。 对于单词级别的置信度,使用以下命令: tesseract [Image name] ou
TL;DR It appears that tesseract cannot recognize images consisting of a single digit. Is there a wor
所以我已经研究这个问题一段时间了,虽然其他人也有类似的问题,但对我来说没有任何作用: 我正在尝试将 pytesseract 用于项目,并将其安装在 User/Environments/testEnv/
我正在考虑使用 Tesseract 来处理 PDF 文件,因此我想使用该库而不是外部可执行文件。 我首先下载完整的 Tesseract 源代码并考虑构建它。遗憾的是,标准源没有任何方法可以在非 Lin
是否可以使用 Tesseract-OCR 获取已识别字符的字体,即它们是 Arial 还是 Times New Roman,无论是从命令行还是使用 API。 我正在扫描可能具有不同字体的不同部分的文档
我试图让 Tesseract(使用 Tess4J 包装器)仅匹配特定模式。该模式是连续四位数字,我认为是\d\d\d\d。这是我正在提供 tesseract 的图像的一个非常小子集(平面图受到限制
我不是 100% 确定 Java api 包 Tess4J 中 Tesseract 和 Tesseract1 对象的区别,任何人都可以解释一下吗? 我知道 Tesseract 使用接口(interfa
我正在测试 Hololens 中的一些功能。想知道是否可以在 Hololens 中使用任何对象检测/文本识别功能? 最佳答案 Hololens 1 本身不支持对象检测,您需要使用第三方代码。 Open
我正在尝试为 Tesseract 4.0 创建训练数据来识别屏幕截图中的图标(例如,评论,分享,保存)。这是示例屏幕截图: 我想微调 Tesseract 以实现如下输出: 喜欢147 评论 29 已保
我想知道Tesseract OCR使用的配置文件接受哪些参数,如何编写配置文件等 我在 their site 上找不到任何有关此内容的文档。如何确定支持哪些参数及其含义? 最佳答案 Tesseract
我正在尝试为 Tesseract 4.0 创建训练数据来识别屏幕截图中的图标(例如,评论,分享,保存)。这是示例屏幕截图: 我想微调 Tesseract 以实现如下输出: 喜欢147 评论 29 已保
关闭。这个问题需要更多focused .它目前不接受答案。 想改进这个问题吗? 更新问题,使其只关注一个问题 editing this post . 关闭 6 年前。 此帖于11个月前编辑提交审核,
我正在尝试设置 tessedit_write_images但似乎做不到,我在任何地方都看不到 tessinput.tif 我正在做: import tesseract api = tesseract.
使用tesseract-ocr#3.02.02。 tesseract的基本用法是 tesseract sourc.png result 生成 和result.txt。要获取结果文本,我必须 cat 这
我是一名优秀的程序员,十分优秀!