我想开展一个小型个人项目,其中包括从图像中提取文本并将其翻译成其他语言,全部使用 python。但是当我想从图像中提取文本时遇到问题。例如,我想从这张图片中提取文本:
这就是它向我抛出的:
哟
你不知道吗 我是谁?我是急诊科 罗斯泰勒!
可怕的 没事便是好事, ‘艾德·罗斯泰勒!
bL—) wyscre | 在我周围?!
这是代码:
import cv2
import pytesseract
pytesseract.pytesseract.tesseract_cmd = r'C:\Program Files\Tesseract-OCR\tesseract'
img = cv2.imread('webtoon13.png')
gris = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
print(pytesseract.image_to_string(gris))
有什么办法可以改善效果吗?
提前致谢。
我已经尝试过图像平滑并使用了cv2库的.threshold()方法。
我预计结果会有所改善,但事实并非如此,它只是变得更糟,它甚至不再能够很好地检测文本。到目前为止,我得到的最好结果是将图像转换为灰度,但它仍然无法很好地检测文本(或者它根本无法检测到所有文本)。
您可以先检测文本区域,然后对每个文本区域进行 OCR。 例如,Yolov5 的单词检测