如何在python中增加尺寸并提高图像质量?

问题描述 投票:1回答:1

我正在使用从实体模式中裁剪实体并从每个实体中提取文本的代码。但是我的问题是,当我尝试通过tesseract从每个裁剪的实体中获取文本时,在某些情况下,图像很小,无法获取文本。

例如,来自此架构:

enter image description here

我得到这张图片:

enter image description here

但是我从这张图片中得到的文本是下一个:

m_..1 vmcmarzsiv
m_.m.n wacmarassv
um,-man vARcHAR($57
Ingram uacmarzsv
m_m-crmm vmcmarzsfiv
i:Ix_v|§7ln uacmaxznv

i:Ix_w:nnr mewnzm
m_.=u:-g mm 0
um,-mam rmsn us
my vmcmarzsiv

» m_..m. msmuurrzxr
m_.=s wacmarassv

我该如何解决这个问题?

python python-tesseract
1个回答
0
投票

处理小图像作物的一种方法是使用与[Cv2.INTER_CUBIC或cv2.INTER_LANCZOS4之类的技术,使用与cv2.resize()函数不同的插值技术对它们进行上采样This link提供了具有不同插值标志的示例升频结果。访问this link以获取InterpolationFlags的完整列表。

双三次

插值的样本代码:import cv2 img = cv2.imread("image.png") upscaled_img = cv2.resize(img, None, fx=2, fy=2, interpolation=cv2.INTER_CUBIC)
下面是Tessaract OCR的输出,带有upscaled_img:

? ink_id BIGINT(20) > link_ufd VARCHAR(255) > link_name VARCHAR(255) > link_image VARCHAR(255) > link_target VARCHAR(25) > link_description VARCHAR(255) > link_visible VARCHAR(20) > link_owner BIGINT(20) > link_rating INT(11) > link_updated DATE TIME > link_rel VARCHAR(255) 2 link_notes MEDIUMTEXT > link_rss VARCHAR(255) eee


0
投票
我试图使用此代码从图像中读取文本,但是还有另一个问题:

import cv2 import pytesseract from PIL import Image img = Image.open( "C:/Users/Usuario/Documents/Deteccion de Objetos/recortes/0000010/imagen_1.png") pytesseract.pytesseract.tesseract_cmd = 'C:/Program Files (x86)/Tesseract-OCR/tesseract.exe' upscaled_img = cv2.resize(img, None, fx=2, fy=2, interpolation=cv2.INTER_CUBIC) result = pytesseract.image_to_string(upscaled_img) print(result)

这是错误:upscaled_img = cv2.resize(img,无,fx = 2,fy = 2,插值= cv2.INTER_CUBIC)TypeError:参数'%s'的预期Ptr]
© www.soinside.com 2019 - 2024. All rights reserved.