iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 25
1
Everything on Azure

使用 Microsoft Conversational AI Tools - 打造新时代的UI界面系列 第 25

[25]使用Computer Vision - 如何設定、看文件以及使用REST API測試

在上一篇([24]圖像識別的服務 - Computer Vision概觀介紹)看完了Cognitive Service 裡面和 Vision 有關的服務,以及Computer Vision的一些簡單的功能介紹了之後,在這一篇將來看看實際上怎麽使用Computer Vision。

這篇將會先介紹如何建立Computer Vision需要的Key,再來用Postman呼叫OCR服務的REST API作爲測試。

建立Computer Vision的Key
和其他的Cognitive Service一樣,要使用Computer Vision都需要有Key,而key的建立要透過從Azure上面建立出來。

首先進入Azure Portal,可以透過搜索的方式開啓建立Computer Vision的畫面 (也可以用這個鏈接直接開啓建立Computer Vision的畫面):

Name輸入可以識別的名稱即可
Subscription選擇這個服務要建立在那個訂閲裡面
Location這個會影響到服務的位置以及api呼叫的網址。亞洲來説East Asia(香港)或者 Southeast Asia(新加坡)最好。
Pricing tier選擇費用等級。測試可以用F0即可,完全免費
Resource Group放在好管理的地方即可
最後按下Create即可。

chrome_2018-08-04_19-42-30.png
建立一個Computer Vision的服務
稍等一下,等到服務建立出來之後,直接打開在Overview畫面可以看到幾個重要的資訊:

Keys這個可以取得到呼叫API會用到的Keys
在這邊可以看到要使用的API Endpoint:https://southeastasia.api.cognitive.microsoft.com/vision/v1.0
對於API的參數以及使用方式可以參考Computer Vision Api reference
chrome_2018-08-04_19-49-46.png
從Overview畫面找到幾個重要的信息
點下Keys之後,可以看到兩組Key,只需要選擇其中一組即可,把這個Key記錄下來:

chrome_2018-08-04_19-51-15.png
取得Key的畫面截圖
使用Computer Vision
建立出Key之後就可以使用Computer Vision了。

所有的Cognitive Service全部都是REST API的服務,那麽瞭解REST API支援什麽參數變得非常的重要,知道了有什麽參數之後就是做測試。

拆解出來就是:

Computer Vision的REST API有什麽參數
用Postman測試
使用文件裡的testing console做測試
Computer Vision的REST API有什麽參數
還記得上面建立出來的Computer Vision在Overview畫面有個Computer Vision API reference, 這個鏈接有最完整的API説明

左邊列出的是Computer Vision所有支援的服務,在這邊我們只關注OCR,因此切換到OCR的部分,整份文件有很詳細的説明,在url使用上有的參數也有介紹:

左邊可以切換到OCR的服務
在Request URL可以看到完整的網址,以及有接受的參數
chrome_2018-08-04_20-01-00.png
切換到OCR并且看有接受什麽參數
從文件上面可以發現幾個會用到的參數(這裡列出的不是全部的參數,全部請看文件):

url參數language
可以設定辨識的語言。預設是unk意思是由系統自己辨識語言。如果確定圖片語言,可以在這個參數指定。以中文來説有:
zh-Hans:簡體中文
zh-Hant:繁體中文
header:Ocp-Apim-Subscription-Key
這個用來設定使用服務的Key。
Request Body
可以直接傳入一張照片的URL,或者直接傳送圖片的Binary資料。
依照上面的發現,最後的Endpoint可以得出是:https://southeastasia.api.cognitive.microsoft.com/vision/v1.0/ocr?language=zh-Hant。

用Postman測試
瞭解了API的用法了之後,接下來可以用一些REST Api的client做測試,這類工具裡面Postman非常的好用,因此將用Postman做測試。

首先是設定Endpoint以及Header的部分:

Postman_2018-08-04_20-20-52.png
設定Endpoint以及Header的截圖
再來是Post出去的内容,這邊將用上一篇部落格的文章首圖作爲測試:

{"url":"https://d33wubrfki0l68.cloudfront.net/944305e40cdc6a07a988bf3970ec07e33d3d3b01/d047f/posts/2018/08/2018-08-03-bot-framework-with-ai-cognitive-service-24-cognitive-service-vision-intro-computer-vision-overview/c3bab906-b2db-44db-8f76-e6cb39d255b3.jpg"}
JSON
Postman_2018-08-04_20-22-29.png
設定post的body部分
接下來就可以把設定的REST Api發出去,并且可以檢視最後識別的結果,下圖上半部是Api發出去之後得到的結果,下半部則是原圖。可以發現,識別的非常正確,并且圖片右小角的浮水印也有識別出來 (雖然識別的不完整,畢竟字比較小)

chrome_2018-08-04_20-25-22.png
測試Postman呼叫圖像識別
使用文件裡的testing console做測試
如果説今天電腦裡面沒有Postman又要測試有什麽辦法呢?

在API文件其實有提供測試,只需要在文件裡面的Open API testing console打開對應的地區按鈕即可:

chrome_2018-08-04_20-30-36.png
開啓southeastasia的測試 console
接下來只需要輸入每個參數即可:

chrome_2018-08-04_20-32-44.png
輸入不同參數做測試
接下來可以在下面看到反饋内容:

chrome_2018-08-04_20-34-14.png
測試服務的結果
使用文件上面的testing console用來學習api非常的方便,因此如果有些文件説明看不懂,直接測試反而比較快。

文件上面其他的功能
文件上面還有兩個能夠輔助開發的功能:

不同語言的code samples
取得Swagger或者WADL的reference
不同語言的code samples
在頁面的最下面有列出幾個常見語言的呼叫方式,方便快速整合Computer Vision到不同的語言:

chrome_2018-08-04_20-39-42.png
Code Samples内容
取得Swagger或者WADL的reference
開發API的時候長會使用像是Swagger這種服務,而api文件有提供對應的定義檔案可以使用,位置在文件的右上角:

chrome_2018-08-04_20-41-54.png
取得swagger或者WADL定義
未來介紹的其他Cognitive Service都有一個對應的文件。因此這篇介紹的文件使用方式在其他的Cognitive Service將都適用。因此未來有些參數的取得將不會像這篇介紹的那麽詳細。
結語
這篇介紹了如何建立出Computer Vision使用上面所需要的Key。然後看了如何找到Computer Vision服務的REST API文件。并且依照了REST API文件的介紹測試了裡面的OCR服務。

相信透過了這篇對於Computer Vision的使用有了更進一步的瞭解。

下一篇([26]賦予chatbot OCR的能力 - 加入對發票的功能)將回到HotelBot程式上面,看看如何把OCR的服務整合進入到chatbot。


上一篇
[24]圖像識別的服務 - Computer Vision概觀介紹
下一篇
[26]賦予chatbot OCR的能力 - 加入對發票的功能
系列文
使用 Microsoft Conversational AI Tools - 打造新时代的UI界面30

尚未有邦友留言

立即登入留言