如何在 "OCR "之前验证图像的背景是否包含噪音
我有几种类型的图像,我需要从中提取文本. 我可以根据背景上的噪声手动将图像分类为3个类别: 没有噪音的图像. 背景中有一定噪音的图像. 背景中的沉重噪音. 对于1类图像,我可以毫无问题地应用OCR. →基本情况. 对于2类图像和3类图像中的某些图像,我可以通过应用以下方法来提取文本: 灰度,高斯模糊,大otsu的阈值 变体开放以消除噪音并颠倒图像 →然后执行文本提取. 对于OCR的任务,一种删除噪声方法显然不适用于所有图像.因此,是否有任何方法可以分类图像的水平背景噪声? 请欢迎所有建议. 预先感谢. 解决方案 跟进您的评论,从其他问题这是您可以尝试的事情.下面的一些想法组合应该有所帮助. 图像嵌入和矢量聚类 手册 在ImageNet上使用诸如resnet的网络(可能无法正常工作)或在MNIST/EMNIST上训练的简单验证网络. Extract and concat一些层将重量向量扁平向网络末端.应用减少维度并应
如何在Databricks上安装Tesseract OCR?
我试图在Databrick Python笔记本上运行以下脚本: pip install presidio-image-redactor pip install pytesseract python -m spacy download en_core_web_lg from PIL import Image from presidio_image_redactor import ImageRedactorEngine import pytesseract image = Image.open("images/ImageData.PNG") engine = ImageRedactorEngine() redacted_image = engine.redact(image, (255, 192, 203)) 运行最后一行时,我会在下面收到错误: tesseractnotfounderror:tesseract未安装或不在您的路径中. 我错过了什么吗? 解
0 2024-03-25
编程技术问答社区
如何高效读取屏幕上的数字(pytesseract)?
我正在尝试在屏幕上读取数字,为此我正在使用Pytesseract.问题是,即使它起作用,它也可以缓慢起作用,并且根本没有给予良好的效果.例如,使用此图像: 我可以制作此阈值图像: 它读取5852而不是585,这是可以理解的,但有时会因不同的阈值而更糟.例如,它可以读取1 000 000为1 AAA EEE,或585读为5385R(是的,它甚至毫无原因添加字符) ) 没有任何方法强迫pytesseract读取数字或仅使用比pytesseract更好的东西? 我的代码: from PIL import Image from pytesseract import pytesseract as pyt import test pyt.tesseract_cmd = 'C:/Program Files/Tesseract-OCR/tesseract.exe' def tti2(location) : image_file = location im
2 2024-03-21
编程技术问答社区
如何减少Wand内存的使用?
我正在使用魔杖和pytesseract将PDF的文本上传到Django网站,例如: image_pdf = Image(blob=read_pdf_file, resolution=300) image_png = image_pdf.convert('png') req_image = [] final_text = [] for img in image_png.sequence: img_page = Image(image=img) req_image.append(img_page.make_blob('png')) for img in req_image: txt = pytesseract.image_to_string(PI.open(io.BytesIO(img)).convert('RGB')) final_text.append(txt) return " ".join(final_text) 我在单独的EC2服务
8 2024-01-24
编程技术问答社区
WinError 5:访问被拒绝 PyTesseract
我知道这个问题已经在此站点上得到了回答,但是,我介绍的解决方案似乎都没有起作用.这是我尝试的: 给我的Python文件的所有权限 更改路径变量以指向我的Tesseract文件夹 以管理员的身份运行空闲,然后从那里执行文件 这个错误现在很困扰我,因此我无法进一步提前. 如果有帮助,这是我的代码: import pytesseract import sys import argparse try: import Image except ImportError: from PIL import Image from subprocess import check_output pytesseract.pytesseract.tesseract_cmd = 'C:\Program Files\Tesseract-OCR' c=pytesseract.image_to_string(Image.open('img.png')) print(c) 追
20 2023-12-06
编程技术问答社区
pytesseract 输出未定义
尝试在Python上运行Tesseract,这是我的代码: import cv2 import os import numpy as np import matplotlib.pyplot as plt import pytesseract import Image # def main(): jpgCounter = 0 for root, dirs, files in os.walk('/home/manel/Desktop/fotografias etiquetas'): for file in files: if file.endswith('.jpg'): jpgCounter += 1 for i in range(1, 2): name = str(i) + ".jpg" nameBW = str(i) + "_bw.jpg" img
6 2023-11-01
编程技术问答社区
从 PDF 文件中提取印地语文本
我正在处理从PDF文件提取一些信息(在印地语中)并将其转换为数据框架的任务. 我尝试了很多事情,并遵循了许多文章,并且在堆栈溢出上也有答案.我尝试了不同的库,例如Easy OCR,Paddle OCR等,但无法获得正确的输出. 这是文档的链接. 我尝试过的事情: 如何改善印地语文本提取? 使用opencv python的图像轮廓? 看来我无法获得创建边界框的确切轮廓.您可以在下面看到我要获得的输出的图像. 我所需要的只是将此信息转换为列的数据框架: - न: पति/पितन: 以下是我用来获取数据的代码: - import cv2 import pytesseract import numpy as np from pytesseract import Output image = cv2.imread('pages_new/page3.jpg') img = image.copy() mask = np.zeros(image.shape,
30 2023-10-19
编程技术问答社区
如何从图片中的表格中提取文本?
i具有结构化表图像中的数据.数据如下所示: 我尝试使用此代码从此图像中提取文本: import pytesseract from PIL import Image value=Image.open("data/pic_table3.png") text = pytesseract.image_to_string(value, lang="eng") print(text) ,这是输出: ea域 传统角色 未来角色 技术E封闭平台¢开放平台 e物理e虚拟化 应用程序和专有e组织间 整合孤立的复合材料 E P2P集成应用 E EAI技术E软件ASA服务 e Enterprise Systems E面向服务 e自动交易体系结构 e"信息" 互动 但是,应根据列和行对预期数据输出对齐.我该怎么做? 解决方案 您必须预处理图像才能删除表线和点,然后再将其扔入OCR.这是使用OpenCV的方法.
12 2023-10-19
编程技术问答社区
如何提高图像质量,用Tesseract从图像中提取文本
我正在尝试在下面的代码中使用tessract来提取图像的两行.我尝试提高图像质量,但即使它不起作用. 任何人可以帮我吗? from PIL import Image, ImageEnhance, ImageFilter import pytesseract img = Image.open(r'C:\ocr\test00.jpg') new_size = tuple(4*x for x in img.size) img = img.resize(new_size, Image.ANTIALIAS) img.save(r'C:\\test02.jpg', 'JPEG') print( pytesseract.image_to_string( img ) ) 解决方案 @barny的评论我不知道这是否有效,但是您可以尝试以下代码.我创建了一个选择显示区域并将其扭曲成直映像的脚本.接下来是字符的黑色和白色面具的阈值,结果将稍微清理一点. 如果它改善了识别,请尝试.
10 2023-10-18
编程技术问答社区
从图像中提取容量值
我正在尝试从称为" pic1"的附件图像中提取" 915ml".我的代码不起作用.我该如何完成这项工作?该代码也应应用于其他示例,例如915 ml而不是915ml,或915 cl,915L等. import cv2 import pytesseract def extract_capacity(image_path): # Load the image image = cv2.imread(image_path) # Convert the image to grayscale gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) # Preprocess the image (optional) gray = cv2.medianBlur(gray, 3) # Perform text extraction using pytesseract text = pytess
6 2023-10-17
编程技术问答社区
如何改善capctha解码的pytesseract函数?
我想从Python中的图像中提取数字.为此,我选择了Pytesseract.当我尝试从图像中提取文本时,结果并不令人满意.我还浏览了以下代码,并实施了所有和其他答案列出的技术.但是,它似乎表现不佳. 示例图像: 我的代码是: import cv2 as cv import pytesseract from PIL import Image import matplotlib.pyplot as plt pytesseract.pytesseract.tesseract_cmd = r"E:\tesseract\tesseract.exe" def recognize_text(image): # edge preserving filter denoising 10,150 dst = cv.pyrMeanShiftFiltering(image, sp=10, sr=150) plt.imshow(dst) # grayscale
12 2023-10-17
编程技术问答社区
使用Tesseract从小图片中读取日期
我有一组相当小的图像,其中包含日期.大小可能是一个问题,但我想质量还可以.我遵循了指南提供了我可以为发动机提供最清晰的图像.调整大小后,应用过滤器,大量的反复试验等.我想出了几乎正确阅读的图像.我在下面举了一个示例: 现在,这将读为“9 MAR 2021\n\x0c.还不错,但是第一个2读为".在这一点上,我认为我滥用了Tesseract的力量.毕竟,我知道它应该期待什么,即"%d %b %Y". 有没有办法告诉Tesseract,它应该尝试在这种强大的限制下尝试找到最佳匹配?向发动机提供此元数据应大大促进任务.我一直在阅读文档,但是我找不到这样做的方法. 我在Tesseract 4.1上使用pytesseract.使用Pytyon 3.9. 解决方案 您需要知道以下内容: 现在,如果我们将图像集中(通过添加边框): 我们在不丢失任何像素的情况下对图像进行样本. 第二,我们需要使图像中的字符粗体使OCR结果准确. 现在OCR: 29
16 2023-10-17
编程技术问答社区
Pytesser 中的数字字符识别
我正在从事一个项目,要求我从商品交易所获得价格.不幸的是,该交易所没有网络服务或其他可用插件,可让我从交易屏幕上获取价格. 我认为我可以自动制作价格的屏幕截图,并在单个图像中分配所有价格.之后,我使用Pytesser v 0.0.1库进行处理,用于Tesseract 3.0.2与Python v2.7中的枕头3.1.0结合使用.但是,图像转换为文本(通过image_to_string函数)是戏剧性的,因为在大多数情况下,0变为o或a 5变成s,有时转换是随机的,这使得很难替换这些字符.我已经将图像大小调整到更大的尺寸和使用的抗氧气,但是结果并没有好转.有没有办法将字符集限制在数字和小数的点上?如何提高转换质量? 也许我的方法太乏味了,你们知道一种更好的方法吗?感谢您的帮助:) 解决方案 是否有一种方法可以将字符集限制在数字和点 小数? 是!使用该软件包 pyslibtesseract : from pyslibtesseract import Tess
4 2023-10-17
编程技术问答社区
Emacs python无法找到包/模块
问题 emacs python解释器找不到我的Tesseract(Tesserocr),但我能够在终端以及Spyder安装上使用Tesseract. Emacs Python解释器能够导入Pytesseract,但找不到Tesserocr.我收到以下错误: Traceback (most recent call last): File "", line 1, in File "/home/eghx/agent18/project-gym/tests/thresholding.py", line 34, in image_to_string2 print(image_to_string(img_open)) File "/home/eghx/anaconda3/lib/python3.6/site-packages/pytesseract-0.1.7-py3.6.egg/pytesseract/pytesseract.py",
14 2023-10-17
编程技术问答社区
pytesseract 加载语言失败;
我已经看到很多其他人遇到了这个错误,并且我尝试了很多不同的事情来解决它.到目前为止,什么都没有.我有: 将路径添加到我的tesseract-ocr文件夹和tesseract.exe文件中 添加了一个称为tessdata_prefix的环境变量,该变量导致tesseract-ocr文件夹 替换了几次Eng.traneddata文件 在程序中添加pytesseract.pytesseract.tesseract_cmd = r"C:\Program Files (x86)\Tesseract-OCR\tesseract.exe" 尝试只尝试 ,没有什么可以改变错误.在这一点上,我只是在寻找任何东西.完整错误如下. File "pytesseract should work please.py", line 12, in print(pytesseract.image_to_string(Image.open('text.png')))
12 2023-10-17
编程技术问答社区
如何调整魔方以更准确地识别汽车的号码牌?
我有一个代码来检测和识别汽车号码,并使用Tesseract将图像转换为文本. 我正在使用openCV本地化数字板. 我面临的问题是Tesseract无法准确识别该数字.有什么办法可以改善tesseract性能? 我的代码(我从互联网下载)是: import numpy as np import cv2 # from copy import deepcopy from PIL import Image import pytesseract as tess # plate = 0 def preprocess(img): # print ('preprocessing image') # cv2.imshow("Input", img) imgBlurred = cv2.GaussianBlur(img, (5, 5), 0) gray = cv2.cvtColor(imgBlurred, cv2.COLOR_BGR2GRAY) sob
我们正在使用 tesseract 进行泛型 OCR 识别,但无法检测到姓名和泛型编号等详细信息。
我们正在通过每次迭代的高度增加20px来裁剪PAN卡图像,然后我们将图像传递给tesseract进行OCR,但我们会随着输出而获得噪音.如果您对图像处理有更好的解决方案或 另一个像CV2这样的图书馆,请帮助我们. import pytesseract from PIL import Image, ImageEnhance, ImageFilter im = Image.open("image/testpan.jpg") width = im.size[0] height = im.size[1] print('width,height-->',width,height) yy='img' zz='.jpg' x=0 for j in range(x,height): img2 = im.crop((0, x, width/2,x+70)) img2.save(yy+str(j)+zz) img = Image.open(yy+str(j)+zz)
24 2023-10-17
编程技术问答社区
如何用python从PDF文件中只提取特定的文本
如何仅使用Python从PDF文件中提取一些特定文本并将输出数据存储到Excel的特定列中. 这是示例输入PDF文件(file.pdf) 链接到完整的pdf文件 file.pdf 我们需要从整个PDF文件中提取 的 发票号,到期日和到期. 我到目前为止使用的脚本: from io import StringIO from pdfminer.converter import TextConverter from pdfminer.layout import LAParams from pdfminer.pdfdocument import PDFDocument from pdfminer.pdfinterp import PDFResourceManager, PDFPageInterpreter from pdfminer.pdfpage import PDFPage from pdfminer.pdfparser import PDFParse
16 2023-10-17
编程技术问答社区
Python-Tesseract-识别这个验证码
我正在尝试解决验证码的文字,但它并不完美. 我正在使用Pytesseract 0.3.8,Python 3.9和Tesseract v5.0.0-Alpha.20210506 Windows 10 x64. 我的代码: image = Image.open(path).convert('RGB') image = ImageOps.autocontrast(image) fct.creerDossierSiInexistant("captchas") filename = "{}.png".format(os.getpid()) image.save("captchas\\" + filename) pytesseract.pytesseract.tesseract_cmd = r'C:\Program Files (x86)\Tesseract-OCR\tesseract.exe' text = pytesser
10 2023-10-17
编程技术问答社区
OpenCV面临的tesseract模块的错误即使在安装后也找不到
OpenCV即使在安装后也找不到Tesseract Moule的错误 pip安装tesseract openCV恢复也完成了,但它行不通. openCV安装命令是 pip安装opencv-python pip intstall opencv-contrib-python tesseract.exe installtion使用此github指南 - 仍然面对以下错误 错误 - 未找到Tesseract模块 from PIL.Image import ImageTransformHandler import cv2 import numpy as np import pytesseract pytesseract.pytesseract.tesseract_cmd='C:\Program Files(x86)\Tesseract-OCR\tesseract.exe' cascade= cv2.CascadeClassifier("haarc
6 2023-10-17
编程技术问答社区