Apigee Edge 문서입니다.
Go to the
Apigee X documentation. info
버전: 2.0.0
머신러닝 모델을 사용하여 이미지의 콘텐츠와 텍스트를 검색합니다.
이 콘텐츠는 이 확장 프로그램을 구성하고 사용하는 데 필요한 참조를 제공합니다. API 프록시에서 이 확장 프로그램을 사용하기 전에 다음 작업을 실행해야 합니다.
Cloud Storage를 이미지 소스로 사용하는 경우 Google Cloud Storage 확장 프로그램 참조에 설명된 대로 이 확장 프로그램에 Cloud Storage 액세스 권한을 부여해야 합니다.
Cloud Vision (및 Cloud Storage를 사용하는 경우 Cloud Storage)에 대한 권한이 있는 서비스 계정이 있는 경우 Google Cloud 콘솔을 사용하여 서비스 계정의 키를 생성합니다.
구성 참조를 사용하여 확장 프로그램을 추가하고 구성할 때 생성된 키 JSON 파일의 콘텐츠를 사용합니다.
Cloud Vision 정보
Google Cloud Vision API는 머신러닝 모델을 사용하여 이미지를 분석합니다. API에서 사용할 모델을 학습시키거나 기본 제공 모델을 사용할 수 있습니다.
기본 제공 모델을 사용하여 Cloud Vision은 이미지를 '고층 건물', '요트', '사자' 또는 '에펠탑'과 같은 카테고리로 분류합니다. 이미지 내에서 객체, 얼굴, 로고, 랜드마크를 감지하고 이미지에 포함된 단어를 찾습니다.
샘플
다음 예에서는 ExtensionCallout 정책을 사용하여 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>
다음 Assign Message 정책은 확장 프로그램의 응답을 저장하는 변수의 값을 사용하여 응답 페이로드를 할당합니다.
<?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>
다음 Assign Message 정책은 확장 프로그램의 응답을 저장하는 변수의 값을 사용하여 응답 페이로드를 할당합니다.
<?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 프록시에서 사용할 이 확장 프로그램을 구성하고 배포할 때는 다음을 사용합니다. Apigee 콘솔을 사용하여 확장 프로그램을 구성하는 단계는 확장 프로그램 추가 및 구성을 참고하세요.
일반 확장 프로그램 속성
모든 확장 프로그램에는 다음과 같은 속성이 있습니다.
| 속성 | 설명 | 기본 | 필수 |
|---|---|---|---|
name |
확장 프로그램의 구성에 지정할 이름입니다. | 없음 | 지원됨 |
packageName |
Apigee Edge에서 제공하는 확장 프로그램 패키지 이름입니다. | 없음 | 지원됨 |
version |
확장 프로그램을 구성하는 확장 프로그램 패키지의 버전 번호입니다. | 없음 | 지원됨 |
configuration |
추가하는 확장 프로그램 관련 구성 값입니다. 이 확장 프로그램 속성의 속성을 참조하세요. | 없음 | 지원됨 |