当前位置: 首页 > 知识库问答 >
问题:

基于OpenCV的Tesseract OCR图像预处理

全丰
2023-03-14

我试图开发一个应用程序,使用Tesseract从手机摄像头拍摄的文件中识别文本。为了更好的识别,我使用OpenCV对图像进行预处理,使用高斯模糊和阈值方法进行二值化,但结果很糟糕。

我可以使用哪些其他过滤器来使图像对Tesseract更具可读性?

共有1个答案

殷宇
2023-03-14

我在这里描述了为Tesseract准备图像的一些技巧:使用Tesseract识别车牌

在你的例子中,有几件事正在发生...

您需要将文本设置为黑色,而图像的其余部分为白色(而不是相反)。这就是字符识别的调谐。灰度可以,只要背景多为全白,文字多为全黑即可;文本的边缘可能是灰色的(抗锯齿),这可能有助于识别(但不一定--你必须试验)

    null
  • 曲面文档图像的文本行分割

最后:我认为与C++中的OpenCV相比,使用python生态系统(ndimage,skimage)会做得更好。OpenCV python包装器对于简单的东西是可以的,但是对于您想要做的事情,它们并不能完成这项工作,您将需要获取OpenCV中没有的许多部分(当然您可以混合和匹配)。在C++中实现像曲线线检测这样的东西所需的时间比在python中要长一个数量级(*即使您不了解python也是如此)。

祝你好运!

 类似资料:
  • null 有些数字比其他数字更好用--例如,'1'似乎有很多麻烦。出现在“+”或“-”后面的数字通常不显示出来,“+”通常显示为“-”。我也玩了一下阈值。 最后三个部分是因为我的视频样本,我一直在画有点歪斜。我可以尝试使用一些更好的数据,我也可以尝试在标准的“letsgoDigital”朗上制作自己的训练数据。虽然我觉得我没有以最好的方式进行图像处理,但我希望得到一些指导。 我计划使用某种程度的边

  • 我正在尝试重新创建在原始出版物“用于图像识别的深度残差学习”中所做的对ImageNet数据集的数据预处理。正如他们的论文第3.4节所说:“我们对ImageNet的实现遵循了[21,41]中的实践。图像的大小被调整,其短边在[256,480]中随机采样以进行缩放[41]。从图像或其水平翻转中随机采样224×224裁剪,减去每个像素的平均值[21]。使用了[21]中的标准颜色增强。” 我已经弄清楚了随

  • 我试图开发一个简单的车牌识别PC应用程序(Java+OpenCV+Tess4j)。图像不是真的好(在进一步,他们将是好的)。我想为tesseract预处理图像,我被困在车牌检测(矩形检测)上。 我的脚步: 1)源图像 我用油漆从图像(第四步后)中裁剪出所需的区域,并得到: 然后我做了OCR(通过tesseract,tess4j): 而且得到了(足够好?)结果-“Y841OX EH”(几乎正确)

  • @subpage tutorial_py_colorspaces_cn 学习如何将图像从一个颜色空间变换到另外一个。 另外,我们还将学习在一段视频中追踪一个有颜色的物体。 @subpage tutorial_py_geometric_transformations_cn 学习对图像进行不同的几何变换,像旋转、平移等等。 @subpage tutorial_py_thresholding_cn 学习

  • [source] ImageDataGenerator 类 keras.preprocessing.image.ImageDataGenerator(featurewise_center=False, samplewise_center=False,

  • 目标 访问像素值并修改它们 访问图像属性 设置图像区域(ROI) 分割和合并图像 本节中几乎所有的操作主要涉及到Numpy而不是OpenCV。需要熟悉Numpy才能用OpenCV编写更好的代码。 1、获取并修改像素值 读取一副图像,根据像素的行和列的坐标获取它的像素值,对于RGB图像而言,返回RGB的值,对于灰度图则返回灰度值 import cv2 import numpy img = cv2.i