簡體   English   中英

Tesseract顯示亂碼

[英]Tesseract showing gibberish

我正在使用pytesseract庫來創建OCR翻譯不一致機器人。 但是tesseract的輸出完全是亂碼的90%,我不明白為什么。

我嘗試使用的圖像已被裁剪到我要使用的區域。 我試圖通過PIL將圖像轉換為灰度,但是pytesseract將不輸出任何內容。

我正在使用pytesseract(0.2.7)和tesseract(v5 alpha)的最新版本

我使用以下代碼從互聯網獲取圖像,將其通過tesseract傳遞,然后(注釋)翻譯文本。

from PIL import Image
import requests
import pytesseract
from io import BytesIO

from translate import Translator

translator = Translator(from_lang="autodetect", to_lang="en")

response = requests.get('https://image.prntscr.com/image/acqm3LDeSJOHtUZEMfA9eA.png')

#image = Image.open(BytesIO(response.content)).convert('LA')
image = Image.open(BytesIO(response.content))
string = pytesseract.image_to_string(image, lang='fra')
#image.save('greyscale.png')

print(string.format())

#translation = translator.translate(string)

#print(translation)

我從tesseract獲得的輸出可以在這里找到: https : //pastebin.com/kDYuTE4Q

我對tesseract和python都是全新的,所以我可能在做一些根本性的錯誤,或者我從tesseract提出了一些目前尚無法解決的問題。

只需反轉圖像即可獲得很多好處。 Tesseract似乎更喜歡在白色背景上的黑色文本。 另外,通過增加對比度,我得到了一些改進。

from PIL import Image, ImageOps
import requests
import pytesseract
from io import BytesIO


pytesseract.pytesseract.tesseract_cmd = 'C:\\Program Files (x86)\\Tesseract-OCR\\tesseract.exe'

response = requests.get('https://image.prntscr.com/image/acqm3LDeSJOHtUZEMfA9eA.png')

image = Image.open(BytesIO(response.content))

if image.mode == 'RGBA':
    r,g,b,a = image.split()
    image = Image.merge('RGB', (r,g,b))

image = ImageOps.invert(image)

contrast = ImageEnhance.Contrast(image)
image = contrast.enhance(2)

config = ("--psm 6")

txt = pytesseract.image_to_string(image, config = config, lang='fra')

print(txt)

一點討論。 原始的PNG圖像具有一個alpha通道,該通道給出了反轉操作問題。 因此,我們采取了一種技巧,將圖像分成單獨的通道,然后合並回RGB圖像。 ImageEnhance模塊具有一些難以理解的語法,但可以使用,並且您可以了解如何使用它。

這是輸出:

Je savais niveau 28
lly a Tl heures
Bonne nuit
lly a Tl heures
Je sors mon chien je reviens après
Ilya 1l heures
Je t en reprendrai un demain écris moi quand tu es en
ligne
Ilya 1l heures
Bonne nuit
y a f heures
Oki
Ily a T1 heures

不錯。 時間戳記不是很好,但是如果您查看原始圖像,則這些字母的分辨率不是很好。 但是,如果您對圖像進行更多處理(對比度,閾值等),也許可以獲得更好的結果。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM