查看 Apigee Edge 說明文件。
前往
Apigee X說明文件。 資訊
版本:1.2.0
運用機器學習模型找出圖片中的內容和文字。
這項內容提供設定與使用這項擴充功能的參考資源。如要透過 API Proxy 使用這個擴充功能,您必須:
為服務帳戶啟用 Cloud Vision API。
如果您使用 Cloud Storage 做為映像檔來源,您也必須按照 Google Cloud Storage 擴充功能參考資料中所述,將這個擴充功能的存取權授予 Cloud Storage。
如果您擁有具備 Cloud Vision 和 Cloud Storage 權限的服務帳戶 (如有使用),請使用 GCP 控制台為服務帳戶產生金鑰。
關於 Cloud Vision
Google Cloud Vision API 採用機器學習模型來分析圖片。您可以訓練模型讓 API 使用,或是使用內建模型。
Cloud Vision 會運用內建的模型,將圖片分類為「摩天大樓」、「帆船」、「獅子」或「艾菲爾鐵塔」等類別。這項功能會偵測圖片中的物體、臉孔、標誌和地標,並找出圖片中的字詞。
範例
以下範例說明如何透過擴充功能摘要政策,為 Cloud Vision 擴充功能動作設定支援。
偵測標籤
在以下範例中,擴充功能的 detectLabels
動作會取得 image_uri
的圖片,並傳送至 Cloud Vision API 進行分析。API 會檢查圖片,並判斷哪些標籤適用於圖片內容,
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ConnectorCallout async="false" continueOnError="true" enabled="true" name="Cloud-Vision-Extension">
<DisplayName>Cloud Vision Extension</DisplayName>
<Connector>cloud-vision-extension-example</Connector>
<Action>detectLabels</Action>
<Input><![CDATA[
{
"image_uri" : "gs://cloud-vision-example/empire-state-building.jpg"
}
]]></Input>
<Output>vision.labels.retrieved</Output>
</ConnectorCallout>
下列「指派訊息」政策會使用儲存擴充功能回應的變數值來指派回應酬載。
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<AssignMessage async="false" continueOnError="false" enabled="true" name="Get-Image-Labels">
<DisplayName>Get Image Labels</DisplayName>
<AssignTo type="response" createNew="false"/>
<Set>
<Payload contentType="application/json">{vision.labels.retrieved}</Payload>
</Set>
</AssignMessage>
如果城市區中有一棟很高的建築物,您可能會收到像以下這樣的回應:
{
"labels": [
{
"locations": [
],
"properties": [
],
"mid": "/m/0j_s4",
"locale": "",
"description": "metropolitan area",
"score": 0.9868549704551697,
"confidence": 0,
"topicality": 0.9868549704551697,
"boundingPoly": null
},
{
"locations": [
],
"properties": [
],
"mid": "/m/079cl",
"locale": "",
"description": "skyscraper",
"score": 0.966157853603363,
"confidence": 0,
"topicality": 0.966157853603363,
"boundingPoly": null
}
]
}
偵測文字
在以下範例中,擴充功能 detectText
動作會取得 image_uri
的圖片,並傳送至 Cloud Vision API 進行分析。API 會檢查圖片,辨識圖片中的文字。
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ConnectorCallout async="false" continueOnError="true" enabled="true" name="Cloud-Vision-Text">
<DisplayName>Cloud Vision Text</DisplayName>
<Connector>cloud-vision-extension-example</Connector>
<Action>detectText</Action>
<Input><![CDATA[
{
"image_uri" : "gs://cloud-vision-example/parking-signs1.jpg"
}
]]></Input>
<Output>vision.text.retrieved</Output>
</ConnectorCallout>
下列「指派訊息」政策會使用儲存擴充功能回應的變數值來指派回應酬載。
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<AssignMessage async="false" continueOnError="false" enabled="true" name="Get-Image-Text">
<DisplayName>Get Image Text</DisplayName>
<AssignTo type="response" createNew="false"/>
<Set>
<Payload contentType="application/json">{vision.text.retrieved}</Payload>
</Set>
</AssignMessage>
如果停車記錄中的圖像含有標誌,您可能會收到如下的回應:
{
"text": [
{
"locations": [
],
"properties": [
],
"mid": "",
"locale": "en",
"description": "RESERVED\nVISITORPARKING\nPARKING\nONLY>\n$150 FINE\n",
"score": 0,
"confidence": 0,
"topicality": 0,
"boundingPoly": {
"vertices": [
{
"x": 64,
"y": 56
},
{
"x": 378,
"y": 56
},
{
"x": 378,
"y": 218
},
{
"x": 64,
"y": 218
}
]
}
},
{
"locations": [
],
"properties": [
],
"mid": "",
"locale": "",
"description": "RESERVED",
"score": 0,
"confidence": 0,
"topicality": 0,
"boundingPoly": {
"vertices": [
{
"x": 243,
"y": 56
},
{
"x": 378,
"y": 56
},
{
"x": 378,
"y": 84
},
{
"x": 243,
"y": 84
}
]
}
}
]
}
動作
detectLabels
偵測並擷取指定圖片中實體的相關資訊。偵測到的實體範圍涵蓋廣泛類別。舉例來說,您可以使用這個動作識別物件、位置、活動、動物物種和產品等。
另外,請務必參閱 Cloud Vision API 說明文件。
要求參數
參數 | 說明 | 類型 | 預設 | 必填 |
---|---|---|---|---|
image_uri | 圖片來源。來源可以是網際網路或 Google Cloud Storage (格式:gs://bucketname/filename )。如果來源是 Google Cloud Storage,映像檔必須設為公開。 |
字串 | 無。 | 是。 |
語法
<Input><![CDATA[{
"image_uri" : "uri-of-image-to-analyze"
}
]]></Input>
範例
在以下範例中,擴充功能的 detectLabels
動作會將指定圖片傳送至 Vision API 進行分析。
<Input><![CDATA[
{
"image_uri" : "gs://cloud-vision-example/empire-state-building.jpg"
}
]]></Input>
回應
包含 labels
標籤陣列的物件,代表系統在圖片中偵測到的實體。詳情請參閱偵測標籤。
detectText
偵測並擷取指定圖片中的文字。
要求參數
參數 | 說明 | 類型 | 預設 | 必填 |
---|---|---|---|---|
image_uri | 圖片來源。來源可以是網際網路或 Google Cloud Storage (格式:gs://bucketname/filename )。如果來源是 Google Cloud Storage,映像檔必須設為公開。 |
字串 | 無。 | 是。 |
語法
<Input><![CDATA[
{
"image_uri" : "uri-of-image-to-analyze"
}
]]></Input>
範例
在以下範例中,擴充功能的 detectText
動作會將指定圖片傳送至 Vision API 進行分析。
<Input><![CDATA[
{
"image_uri" : "gs://cloud-vision-example/parking-signs1.jpg"
}
]]></Input>
回應
含有偵測到文字的 text
陣列的物件。詳情請參閱偵測標籤。
設定參考資料
設定及部署這項擴充功能以用於 API Proxy 時,請使用下列指令。如需使用 Apigee 控制台設定擴充功能的步驟,請參閱新增及設定擴充功能。
常見擴充功能屬性
每個擴充功能都有下列屬性。
屬性 | 說明 | 預設 | 必要 |
---|---|---|---|
name |
您要為這項擴充功能設定的名稱。 | 無 | 相容 |
packageName |
Apigee Edge 指定的擴充功能套件名稱。 | 無 | 相容 |
version |
擴充功能的擴充功能套件版本號碼。 | 無 | 相容 |
configuration |
您要新增的擴充功能專屬的設定值。請參閱「這個擴充功能套件的屬性」一文 | 無 | 相容 |