У меня есть японское изображение, которое содержит таблицу.Я пытаюсь извлечь табличные данные с помощью py-tesseract, но извлеченный текст недостаточно точен.
японский счет с таблицами:
![image](https://i.stack.imgur.com/Pkkww.jpg)
Я использую Open CV для удаления прямоугольных полей, чтобы py-tesseract мог идентифицироватьслова в этих коробках.Вот код, который я использую:
image = cv2.imread(image_str)
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
gray = cv2.threshold(gray, 0, 255, cv2.THRESH_BINARY | cv2.THRESH_OTSU)[1]
inv = 255 - gray
horizontal_img = inv
vertical_img = inv
kernel = cv2.getStructuringElement(cv2.MORPH_RECT, (100,1))
horizontal_img = cv2.erode(horizontal_img, kernel, iterations=1)
horizontal_img = cv2.dilate(horizontal_img, kernel, iterations=1)
kernel = cv2.getStructuringElement(cv2.MORPH_RECT, (1,100))
vertical_img = cv2.erode(vertical_img, kernel, iterations=1)
vertical_img = cv2.dilate(vertical_img, kernel, iterations=1)
mask_img = horizontal_img + vertical_img
no_border = np.bitwise_or(gray, mask_img)
text = pytesseract.image_to_string(no_border, lang='eng+jpn')
Но вывод py-tesseract выглядит следующим образом:
瓜 M0†0膚0LA
請求害 (原本一TEST)
ぺージ ー / ー
顧客番号
ー2ー50939ー8
お支払期日
20ー8/0ー/08
金額
(〕PY)
ー, 60。
ー28
ー, 728
} 〟 一 `、、 。` 請求号 発行日 請求金額
モ ト ローフ ・ モヒ リ プィ ・ ソャハ/株式会社 6ー0600003ー 20ー8/0ー/。g ‥28ij
発注番号 注文番号〟
E2E03 (UAT E2Eー5) 42ー5ー77926
~ 支払条件
ht〔pS 二//WW嘲几 m0t0r0]a. C。_ Jp/h0me
` 請求住所 納品先住所
萱ネックス インフォテック株式会社 萱ネックス インフォテック株式会社
Tー35_855〝9 _ T甕0一ー4笠 {`
塁星都L束塗 宋陽巨ー`3ーー 千慕是柏巾 鶯野瞥ー027ー29
呆泉イース ト2ーヒヽシネスセンター2F ロシハー 卜ナース内
} 運賃条件 〈ーnc。terms 20ー0)
DBP ~
最終目的地 〈玉)
日本
特記事項
二 ` 《
碩求明`田
項 目 商品コー ド 商品名 数量 単価
(JPY)
` ー。 PA700078FR MGTO Ph0n6 XTー77ー FR 3十ー6G GR SS BGUY 4 ー。。
LONQー ー00ーー095
LGー7ー228005, LGー7ー228005, LGー7ー228005, LCー7ー228005
4。 PA6ー0ー28GB MGTO Ph0ne XTー676 GB 3十ー6G GR DS 4 ー00
DOHUー7ー22900ー
ー0ー7ー229ー535235ー, ー0ー7ー229ー535235ー, ー0ー7ー229ー535235ー, ー0ー7ー229ー53523
5]
5。 PA6]0008TN MGTO Ph0ne XTー75。 TN ー十8G BL DS 4 ー00
WーNT0800ー0023
WーNT800ー0023, WーNT800ー0023, WーNT800ー0023, WーNT800ー0023
` 5ー PA800ー33FR M。T。 Ph0ne XTー723 FR ー十ー6G BL SS BOUY 4 ー0。
` WーNDー7ー228ー0ー
` WDー70ー0399ー9, WDー70ー0399ー9' WDー70ー0399ー9, WDー70ー0399ー9
課税 ー 小計(兜Y) ー 税率 ー 消費税(庇Y) ー 合計 (JPY) `庇Y 小計
消費禾兄 ー ー, 60。 ー 8% ー ー28 ー ー, 728 ` 庇Y 消費税
} ` JPY 合計
支払先 賓控零 ー ` ノ ィ (04。 )
モトローラ ・モビリティ ・ジヤパン株式今社 ‥ イ〔 ‥ シ王イ〈ン丿・ エヌ ・エ ー
〒ー0ーー002ー 士 店舎 名 : 東〈肢支店 (730)
東京都下代田区外神田暇ー4孔 崖種璽」 : 普通
秋葉原UDX 崖番萱: 7343ー43 ` ` _
TEL: 03_6365_4943 崖名鱒 : モ トローラ ・ モ ビリティ ・ シャパン株式会仕
4。。
40。
40。
4。。
消費税
Я использовал обучающий набор, предоставленный по этой ссылке Github, для обучения TesseractOCR:
https://github.com/tesseract-ocr/tessdata/tree/3.04.00
https://github.com/tesseract-ocr/tessdata_fast
Просим всех вас помочь:
- Как повысить точность Тессеракта?OCR с использованием py-tesseract?
- Как извлечь табличные данные с помощью py-tesseract.Есть ли другой инструмент с открытым исходным кодом, который я могу использовать вместе с / вместо py-tesseract?Я ищу только решения с открытым исходным кодом.
Спасибо.