iT邦幫忙

0

python pytesseract 圖片無法辨識

ddx 2021-11-29 15:50:13474 瀏覽

這是我的程式碼
import pytesseract as pt
from PIL import Image
pt.pytesseract.tesseract_cmd = r"C:\Program Files\Tesseract-OCR\tesseract.exe"
img = Image.open('123.png')
text = pt.image_to_string(img)
print(text)
這是我的圖片
https://ithelp.ithome.com.tw/upload/images/20211129/20139213HdpFaA1U1y.png
不知道為何輸出都是一片空白,是我的圖片有問題,還是根本無法辨識呢?
這是我的輸出結果
https://ithelp.ithome.com.tw/upload/images/20211129/20139213Z8CQzFjB2h.png

2 個回答

2
hokou
iT邦新手 1 級 ‧ 2021-11-29 16:12:12
最佳解答

你的圖檔跟你的執行檔是在同一個路徑嗎?
建議改成完整的路徑看看

img = Image.open('完整的路徑')

== 更新

我參考這篇安裝 pytesseract
Day26-聽過 OCR 嗎? 實作看看吧 -- pytesseract

圖檔放在 py 檔位置

import pytesseract as pt
from PIL import Image
pt.pytesseract.tesseract_cmd = r"D:\Programs\Tesseract-OCR\tesseract.exe"
img = Image.open('1129.png')
text = pt.image_to_string(img)
print(text)

# 1A2B3C
看更多先前的回應...收起先前的回應...
ddx iT邦新手 4 級 ‧ 2021-11-29 16:20:21 檢舉

同一路徑沒錯喔

hokou iT邦新手 1 級 ‧ 2021-11-29 16:31:18 檢舉

ddx

我剛試過是可以的

ddx iT邦新手 4 級 ‧ 2021-11-29 16:37:19 檢舉

我剛也是參考這篇不過我的就不行
不知道到底是哪裡有問題

hokou iT邦新手 1 級 ‧ 2021-11-29 16:44:10 檢舉

下載時有 32 跟 64 ,可以確認看看版本
安裝的路徑是我調整過的,預設會跑到 user 的路徑
C:\Users\xxx\AppData\Local\Programs\Tesseract-OCR
另一種是重開機,確認變數有重新讀到

ddx iT邦新手 4 級 ‧ 2021-11-29 16:48:36 檢舉

32和64我都試過了,都不行
我安裝在其他地方也不行,重開也不行= =

hokou iT邦新手 1 級 ‧ 2021-11-29 16:57:46 檢舉

ddx

剛看 python 要 3.6 以上
是使用 jupyter ?

import os
print(os.getcwd())

先確認一下你的路徑是在哪裡,是不是跟想的一樣
然後把圖檔放在那個位置
https://ithelp.ithome.com.tw/upload/images/20211129/201088560VV8GNaAEH.png

ddx iT邦新手 4 級 ‧ 2021-11-29 17:03:10 檢舉

不是我是用Spyder

hokou iT邦新手 1 級 ‧ 2021-11-29 17:13:37 檢舉

應該是有顯示被蓋掉了

選 variable explorer
https://ithelp.ithome.com.tw/upload/images/20211129/20108856SGFxNECcD3.png

ddx iT邦新手 4 級 ‧ 2021-11-29 17:15:14 檢舉

https://ithelp.ithome.com.tw/upload/images/20211129/20139213kU8tCEYeIJ.png
我還是一片空 哈哈

ddx iT邦新手 4 級 ‧ 2021-11-29 17:46:36 檢舉

成功了,spyder不知道為何就是不能
https://ithelp.ithome.com.tw/upload/images/20211129/20139213ulvOzdHZCf.png
不過這一張圖沒辦法識別
https://ithelp.ithome.com.tw/upload/images/20211129/20139213fx6F5sChZ2.jpg

hokou iT邦新手 1 級 ‧ 2021-11-29 22:56:36 檢舉

有成功就好
你的路徑有中文,也許可以調整一下全英文試試看

對這個套件不熟,但圖片有雜訊會干擾辨識,也許要做些影像處理才能做辨識

0
ragequit
iT邦新手 5 級 ‧ 2021-11-29 16:25:12

text = pt.image_to_string(img, lang='eng')
試試? 不知道是不是沒給判定的語言,他不知道要判定甚麼

ddx iT邦新手 4 級 ‧ 2021-11-29 16:37:38 檢舉

加了,一樣沒變

我要發表回答

立即登入回答