繁体   English   中英

为 Tesseract_OCR 准备图像

[英]making image ready for Tesseract_OCR

我是计算机视觉领域的新手。 我试图让我的图像很容易被 OCR 识别。 我已经做了很多步骤来让 Tesseract_OCR 更容易识别,但都是徒劳的。 请有人帮助我。

这是我的原始图像input.jpg

对不起,我不擅长这个,但任何帮助将不胜感激谢谢

那是代码

gray = cv2.cvtColor(src, cv2.COLOR_BGR2GRAY)

alpha = 3.0
beta = -150
new = alpha * gray + beta
new = np.clip(new, 0, 255).astype(np.uint8)

blur = cv2.GaussianBlur(new, (3, 3), 0)

dst = cv2.fastNlMeansDenoising(blur, None, 3, 7, 21)

se=cv2.getStructuringElement(cv2.MORPH_RECT , (1,1))

bg=cv2.morphologyEx(dst, cv2.MORPH_DILATE, se)

这是我的 output 图片,但它仍然没有达到我的预期output.jpg

我也这样做了..

gray = cv2.cvtColor(src, cv2.COLOR_BGR2GRAY)
alpha = 4.0
beta = -200
new = alpha * gray + beta
new = np.clip(new, 0, 255).astype(np.uint8)

blur = cv2.GaussianBlur(new, (3, 3), 0)

dst = cv2.fastNlMeansDenoising(blur, None, 3, 7, 21)

th1 = cv2.adaptiveThreshold(dst, 255, cv2.ADAPTIVE_THRESH_MEAN_C, cv2.THRESH_BINARY, 11, 2)

se=cv2.getStructuringElement(cv2.MORPH_RECT , (1,1))

bg=cv2.morphologyEx(th1, cv2.MORPH_OPEN, se)

output 是这个output.jpg

在任何其他处理之前,您可以在 Python/OpenCV 中对图像进行除法归一化。

  • 读取输入
  • 转换为灰度
  • 模糊灰度图像
  • 将灰度图像除以模糊图像
  • 保存结果

输入:

在此处输入图像描述

import cv2
import numpy as np

# read the image
img = cv2.imread('text_img.jpg')

# convert to gray
gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)

# blur
smooth = cv2.GaussianBlur(gray, None, sigmaX=30, sigmaY=30)

# divide gray by morphology image
division = cv2.divide(gray, smooth, scale=255)

# save results
cv2.imwrite('text_img_division.jpg',division)

# show results
cv2.imshow('smooth', smooth)  
cv2.imshow('division', division)  
cv2.waitKey(0)
cv2.destroyAllWindows()

结果图像:

在此处输入图像描述

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM