2019年3月28日 星期四

[GCP] 讓Google Vision API幫你做ORC文字辨識(Python實例)


一、GCP設定
啟用方式
打開連結,點選『啟用』。

每個月有提供免費額度(詳細請看google的說明),每月使用的前 1,000 個單位免費,如果怕被收費的話記得關閉這個API。

關閉的方法
(1) 點選『管理』

(2) 點選『停用API』


二、安裝套件
(1) 安裝vision
pip3 install google-cloud-vision

(2) 安裝sdk
方法一、
pip3 install google-cloud-sdk
方法二、
sudo apt install snapd
sudo snap install google-cloud-sdk --classic


三、使用方式
(1) 輸入指令,獲得授權。
gcloud auth application-default login
點選出現的連結(用瀏覽器打開),選擇你的google帳戶登入。
登入google後,把出現的驗證碼回填。
記得!伺服器重開之後都要再重新登入。

(2) 新建檔案,執行程式。
# detect.py
import sys
import io
from google.cloud import vision

def detect_text_uri(uri):
    client = vision.ImageAnnotatorClient()
    image = vision.types.Image()
    image.source.image_uri = uri

    response = client.text_detection(image=image)
    texts = response.text_annotations
    print('Texts:')
    print(texts[0].description)

if __name__ == '__main__':
    detect_text_uri(sys.argv[1])
執行程式碼
python3 detect.py IMAGE_URL

[實測結果]
python3 detect.py https://www.eastcoast-nsa.gov.tw/image/6921/1024x768
圖片來源:https://www.eastcoast-nsa.gov.tw/image/6921/1024x768

輸出文字:


Google Vision Api Example
Vision API支援很多國的語言,辨識度也相當不錯!Google有針對Vision API提供很多範例的程式碼,你可以[下載]程式碼來玩玩看。
document_text 標示圖片中的文字 [連結]
python3 doctext.py resources/text_menu.jpg  -out_file result.png
將圖片中的文字標示出來。

解析圖片的內容、計算評分 web [連結]
python3 web_detect.py https://picsum.photos/400?image=111
除了解析圖片的內容,還會列出使用這個圖片的網站、與此圖片相同的圖片(不同路徑)、部分相同的圖片等等。


參考資料:
https://cloud.google.com/vision/overview/docs/
https://cloud.google.com/vision/docs/quickstart-client-libraries#client-libraries-install-python

2 則留言 :

  1. 老師您好,想請問安裝vision,安裝sdk這兩步驟詳細是到哪邊安裝嗎?

    回覆刪除
    回覆
    1. 我的操作環境是Ubuntu,你可以執行下面指令安裝pip3:
      $ sudo apt update
      $ sudo apt install python3-pip

      安裝pip3後就可以按照文章中提到的指令安裝vision和sdk,你可以分享執行方式或結果,我會比較理解你遇到的問題。

      刪除