Apigee Edge 문서입니다.
Apigee X 문서로 이동 정보
버전: 2.0.0
머신러닝 모델을 사용하여 이미지의 콘텐츠와 텍스트를 감지합니다.
이 콘텐츠는 이 확장 프로그램을 구성하고 사용하는 방법을 참조합니다. API 프록시에서 이 확장 프로그램을 사용하려면 먼저 다음을 실행해야 합니다.
서비스 계정에 Cloud Vision API를 사용 설정합니다.
Cloud Storage를 이미지 소스로 사용하는 경우 Google Cloud Storage 확장 프로그램 참조에 설명된 대로 이 확장 프로그램에 Cloud Storage에 대한 액세스 권한도 부여해야 합니다.
Cloud Vision (및 사용 중인 경우 Cloud Storage)에 대한 권한이 있는 서비스 계정이 있으면 GCP 콘솔을 사용하여 서비스 계정의 키를 생성합니다.
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>
다음 메시지 할당 정책은 확장 프로그램의 응답을 저장하는 변수의 값을 사용하여 응답 페이로드를 할당합니다.
<?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 프록시에서 사용하도록 이 확장 프로그램을 구성하고 배포할 때 다음을 사용하세요. Apigee 콘솔을 사용하여 확장 프로그램을 구성하는 단계는 확장 프로그램 추가 및 구성을 참고하세요.
일반적인 확장 속성
모든 확장 프로그램에는 다음과 같은 속성이 있습니다.
속성 | 설명 | 기본 | 필수 |
---|---|---|---|
name |
확장 프로그램의 구성에 지정할 이름입니다. | 없음 | 지원됨 |
packageName |
Apigee Edge에서 제공하는 확장 프로그램 패키지 이름입니다. | 없음 | 지원됨 |
version |
확장 프로그램을 구성하는 확장 프로그램 패키지의 버전 번호입니다. | 없음 | 지원됨 |
configuration |
추가하는 확장 프로그램 관련 구성 값입니다. 이 확장 프로그램 속성의 속성을 참조하세요. | 없음 | 지원됨 |