python識別圖片文字

來源:互聯網
上載者:User

標籤:而且   ref   配置   選擇   str   window   第三方   手機螢幕   檔案夾   

因為學校要求要刷一門叫《封裝世界》的網課,而課程裡有200多道選擇題,而且只能在手機完成,網頁版無法做題,而看視頻是不可能看視頻的,這輩子都不可能看...所以寫了幾行代碼來進行百度搜答案。

思路如下:

  1. 手機螢幕投影到電腦上;
  2. 並識別圖片文字;
  3. 調用百度來進行搜尋;
  4. 提取html關鍵字。
環境配置:python3.6、第三方庫:pyautogui、PIL、pytesseract、<a href="https://github.com/tesseract-ocr/tesseract">識別引擎tesseract-ocr</a>

要識別中文,ocr引擎要下載一個中文包<a href="https://github.com/tesseract-ocr/tesseract/wiki/Data-Files">chi_sim</a>放進Tesseract-OCR\tessdata裡面。安裝完ocr後還要配置一下調用路徑,在Python36\Lib\site-packages\pytesseract找到pytesseract.py(這是我的windows路徑),開啟在裡面添加一下路徑:

1 # CHANGE THIS IF TESSERACT IS NOT IN YOUR PATH, OR IS NAMED DIFFERENTLY2 tesseract_cmd = ‘tesseract‘3 tesseract_cmd = ‘C:/Program Files (x86)/Tesseract-OCR/tesseract.exe‘4 img_mode = ‘RGB‘

然後用AirDroid或者Vysor、360手機小幫手之類的將手機的螢幕投影到電腦上,用滑鼠確定座標,代碼如下:

1 import pyautogui as pag2 x,y = pag.position()3 posStr = "position:"+str(x).rjust(4)+‘,‘+str(y).rjust(4)4 print(posStr)

要擷取兩個座標(開始座標和結束座標),然後利用擷取的座標運用如下代碼並調用ocr引擎識別(識別出來的字是每個用空格分開的,所以要去除字串中的空格),代碼如下:

 1 from PIL import Image 2 from PIL import ImageGrab 3 import pytesseract 4 import webbrowser 5  6 pos = (0,245,425, 327) 7 cut_img = ImageGrab.grab(pos) 8 cut_img.save(‘C:/imgSave/1.jpg‘) #儲存到檔案夾中 9 print("screenshots sucess")10 11 text=pytesseract.image_to_string(Image.open(‘C:/imgSave/1.jpg‘),lang=‘chi_sim‘) #調用識別引擎識別12 text=text.replace(" ","") #去空格13 print(text)14 url = ‘http://www.baidu.com/s?wd=%s‘ % text #調用百度搜尋15 webbrowser.open(url)

最終因為搜出來的全是題庫,所以就沒有提取html關鍵字了,其實是懶。

python識別圖片文字

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.