python - 改进灰度图像上的 Tessrac 检测
问题描述
我对低对比度的相同文件的文本识别有问题。我正在使用 PYTESSERACT 和一些文件,像这样,绝对没有给我任何回报:http: //i.imgur.com/l91O5JH.png
我使用 PyTesseract 的 LineBoxBuilder。在此之前,我将 PDF 转换为 JPG :
def save_img_with_wand(self, pdfName, output):
with Img(filename=pdfName, resolution=300) as pic:
pic.compression_quality = 100
pic.background_color = Color("white")
pic.alpha_channel = 'remove'
pic.save(filename=output)
线框生成器:
def line_box_builder(self, img):
try:
return self.tool.image_to_string(
img,
lang=self.lang,
builder=pyocr.builders.LineBoxBuilder()
)
except pytesseract.pytesseract.TesseractError as t:
self.Log.error('Tesseract ERROR : ' + str(t))
如果什么也没找到,我使用 OpenCV 来改进检测:
@staticmethod
def improve_image_detection(img):
src = cv2.imread(img, cv2.IMREAD_GRAYSCALE)
dst = cv2.adaptiveThreshold(src, 255, cv2.ADAPTIVE_THRESH_GAUSSIAN_C, cv2.THRESH_BINARY,11, 2)
cv2.imwrite(img, dst)
我尝试了多种 OpenCV 解决方案,但在所有情况下,我都无法阅读上图所示糟糕背景上的文本
在此先感谢您的帮助
解决方案
推荐阅读
- firebase-cloud-messaging - Firebase 云消息传递是否会检测设备何时重新上线?
- django - Unable to load Django YAML fixture file
- javascript - 我的简单反应组件没有在 jsfiddle 上呈现?
- python - mypy argument after ** must be a mapping
- python - Pandas:使用 groupby 计算添加标志
- vue.js - 如何将 vue-router 与 vue-touch-events 一起使用
- javascript - 找不到模块“./routes/viewInprogressDetails”(带有 docker 的节点应用程序)
- automata - 证明,对于任何语言 L1 和 L2,我们有 (1)。L1L1^* = L1^*L1L1^*
- asp.net-mvc - 删除“fileExtension”并将“mimeMap”添加到我的 Azure 服务器配置文件中
- javascript - 从客户端调用服务器端内部函数