我正在尝试使用Tesseract(带pytesseract)来识别PNG文件中的一些文本。此图像取自使用base64的某个网页img
元素。我已经将所有base64字符串放入另一个文件(data.txt
)。你知道吗
这是对图像运行Tesseract而没有更改的结果:
import base64
import io
import pytesseract
from PIL import Image, ImageEnhance
data = open('data.txt')
memory_file = io.BytesIO(base64.b64decode(data.read()))
image_file = Image.open(memory_file)
image_file.show()
ocr = pytesseract.image_to_string(image_file, lang='spa')
print(ocr)
输出:
DATOS DEL VEHICULO:
Nº PLACA: A10502
Nº SERIE: JTDBZ41E2AJO48448
Nº VIN: JTDBZ41E2AJO48448
Nº MOTOR: 3223289920
COLOR: ROJO MICA METALICO
MARCA: TOYOTA
MODELO: COROLLA
PLACA VIGENTE: A10502
PLACA ANTERIOR: NINGUNA
ESTADO: EN CIRCULACION
ANOTACIONES: NINGUNA
SEDE: LIMA
PROPIETARIOIS):
ALVARADO NINALAYA1 EVA
我正在尝试减少图像中的噪声,以便Tesseract更容易提取文本。我就是这么做的:
import base64
import io
import pytesseract
from PIL import Image, ImageEnhance
data = open('data.txt')
memory_file = io.BytesIO(base64.b64decode(data.read()))
image_file = Image.open(memory_file)
pixels = image_file.load()
for i in range(image_file.size[0]): # for every pixel:
for j in range(image_file.size[1]):
pxs = pixels[i, j]
if pxs[0] > 45:
pixels[i, j] = (0, 0, 0, 0)
image_file.show()
ocr = pytesseract.image_to_string(image_file, lang='spa')
print(ocr)
A10502
JTDBZ41E2AJO48448
JTDBZ41E2AJO48448
3223289920
ROJO MICA METAL)CO
TOYOTA
COROLLA
A10502
NINGUNA
EN CIRCULAC(ON
NINGUNA
UMA
ALVARADO N!NALAYA1 EVA
尽管我减少了不需要的文字,但tesseract似乎发现它更难阅读。还有什么我能做的吗?你知道吗
目前没有回答
相关问题 更多 >
编程相关推荐